[О блоге] [наверх] [пред] [2020-05-01 13:11:34+03:00] [6bb40498db36dcdede16742fc944468c954dae76]
Темы: [multimedia]

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

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

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

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

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

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