From: Sergey Matveev Date: Fri, 1 May 2020 10:11:34 +0000 (+0300) Subject: Кодирование 5.1 звука фильма в Opus X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=6bb40498db36dcdede16742fc944468c954dae76;p=stargrave-blog.git Кодирование 5.1 звука фильма в Opus Если сделать дамп аудио ffmpeg-ом (теперь только им занимаюсь темой кодирования!) в PCM файл, потом его сжать opusenc-ом, то после сведения в контейнер с видео, каналы явно на слух становятся другими, перетасоваными. С ходу у меня так и не получилось ffmpeg заставить дампить в другом виде (перевернуть, чтобы после Opus-а всё встало на свои места). С ходу я не очень понял как конкретно они тасуются, чтобы каким-нибудь sox-ом поменять их вручную местами. Но потом плюнул и вспомнил что FFmpeg же может родной libopus использовать для кодирования. Немного шаманства каналами всё равно придётся сделать, но кодирует он теперь без проблем в нужном порядке: -filter:a "channelmap=channel_layout=5.1" -mapping_family 1 При этом Opus определяет (и вне FFmpeg) что четыре канала типа полноценных, а два не особо и применяет какую-то оптимизацию: в итоге оно существенно экономит битрейт для двух каналов. ---