Я пытаюсь создать видеофайл, содержащий 8-канальный звук (не объемный звук 7.1, а просто несколько каналов).
ffmpeg -i видео.mp4 -i аудио.wav -c:v копировать -map 0:0 -map 1:0 результат.mp4
video.mp4 — это файл только видео h.264. audio.wav — это 8-канальный wav-файл. Если я импортирую файл audio.wav в Audacity, я вижу 8 каналов звука, как и ожидал. Если я объединяю видео и аудио с помощью указанной выше команды ffmpeg, я получаю файл с 8 каналами звука, как и ожидалось, но канал 4 изменен на низкие частоты, как будто он предназначен для сабвуфера. Я подтвердил это, импортировав аудио из файла результата в Audacity, и на самом деле канал 3 изменен на низкие частоты.
Я почти уверен, что есть способ отключить это преобразование или любые другие преобразования, так что ffmpeg просто оборачивает видео и аудио без каких-либо изменений. Пожалуйста, дайте мне знать о любых опциях, которые мне нужно вызвать, чтобы остановить фильтрацию LF. Спасибо,
решение1
Только что придумал обходной путь, и, кажется, он работает.
ffmpeg -i видео.mp4 -i аудио.wav -c:v копировать -map 0:0 -map 1:0 результат.mkv
Да, если я укажу для результата расширение "mkv", аудио не изменится, и все 8 каналов останутся такими же, как были. Так что я как бы ответил на свой собственный вопрос здесь, но я хотел бы узнать, есть ли какие-либо опции ffmpeg, которые отключат фильтрацию LFE для mp4.
Спасибо,
решение2
Контейнер Matroska (MKV) имеет другой аудиокодер по умолчанию (vorbis). Для кодека MPEG AAC вам нужно будет установить схему каналов, которая не имеет канала LFE, например восьмиугольную. Однако это не стандартная схема, поэтому некоторые декодеры AAC будут обрабатывать ее как7.1
ffmpeg -i video.mp4 -i audio.wav -c:v copy -map 0:0 -map 1:0 -channel_layout octagonal result.mp4