Скопировать аудиопоток, а также перекодировать с помощью фильтров?

268
Saxon Rix

Я использую эту команду для копирования видео и аудиопотоков, а также кодирования первого аудиопотока на стереофоническую дорожку AAC:

ffmpeg -y -i in.mkv -map 0:v -c:v copy -map 0:a:0? -c:a:0 copy -map 0:a:0? -c:a:1 aac -b:a:0 192k -ac 2 -map 0:a:1? -c:a:2 copy -map 0:a:2? -c:a:3 copy -map 0:a:3? -c:a:4 copy out.mkv 

Однако я также хочу отфильтровать эту стерео дорожку с лучшим отображением каналов следующим образом:

-af "pan=stereo|FL=FC+0.25*FL+0.60*LFE|FR=FC+0.20*FR+0.60*LFE" 

Но когда я пытаюсь это сделать, я получаю следующую ошибку:

Filtering and streamcopy cannot be used together. 

Есть ли способ обойти эту ошибку? Поскольку я хотел бы иметь оригинальный аудио поток в такте, а также кодировать другую версию в стерео трек «ночной режим».

0

1 ответ на вопрос

1
Gyan

использование

ffmpeg -y -i in.mkv -map 0:v -map 0:a:0? -map 0:a:0? -map 0:a:1? -map 0:a:2? -map 0:a:3? -c copy -filter:a:1 "pan=stereo|FL=FC+0.25*FL+0.60*LFE|FR=FC+0.20*FR+0.60*LFE" -c:a:1 aac -b:a:1 192k -ac 2 out.mkv 

-afэто сокращение, -filter:aкоторое применяется ко всем выходным аудиопотокам. Добавьте номер потока, чтобы квалифицировать приложение.