Кодирование 5.1 звука фильма в Opus

Что: 6bb40498db36dcdede16742fc944468c954dae76

Когда: 2020-05-01 13:11:34+03:00

Темы: multimedia

Кодирование 5.1 звука фильма в Opus

Если сделать дамп аудио ffmpeg-ом (теперь только им занимаюсь темой
кодирования!) в PCM файл, потом его сжать opusenc-ом, то после сведения
в контейнер с видео, каналы явно на слух становятся другими,
перетасоваными. С ходу у меня так и не получилось ffmpeg заставить
дампить в другом виде (перевернуть, чтобы после Opus-а всё встало на
свои места). С ходу я не очень понял как конкретно они тасуются, чтобы
каким-нибудь sox-ом поменять их вручную местами.

Но потом плюнул и вспомнил что FFmpeg же может родной libopus
использовать для кодирования. Немного шаманства каналами всё равно
придётся сделать, но кодирует он теперь без проблем в нужном порядке:

    -filter:a "channelmap=channel_layout=5.1" -mapping_family 1

При этом Opus определяет (и вне FFmpeg) что четыре канала типа
полноценных, а два не особо и применяет какую-то оптимизацию: в итоге
оно существенно экономит битрейт для двух каналов.

оставить комментарий

Сгенерирован: SGBlog 0.34.0