FFMPEG удваивает длину звука при извлечении из видео

FFMPEG удваивает длину звука при извлечении из видео

У меня есть видеофайл, video.mp4. Его продолжительность 18 минут 23 секунды. Я хочу извлечьтолько аудиоиз этого видео и создайте MP3 максимально возможного качества из звука в видео.

Googlefu привел меня к этой команде:ffmpeg -i video.mp4 audio.mp3

Проблема в том, что эта командаудваиваетдлина выводимого аудио (продолжительность 36 минут 46 секунд). Он зацикливает звуковую дорожку один раз, поэтому вывод содержит все 18 минут 23 секунды аудио, а затем немедленно запускает 18 минут 23 секунды аудио снова.

Еще немного гуглфу привели меня к этому флагу: -write_xing 0fromэтот ТАК вопрос, но даже с этим флагом звук все равно зацикливается.

РЕДАКТИРОВАТЬ: Дополнительный googlefu и я, похоже, думаем, что это как-то связано с 2 аудиоканалами (и, возможно, зацикливанием канала 2 сразу после канала 1, а не слиянием двух) привели меня к этому флагу: -ac 1заставить его объединить стерео -> моно. Это тоже не сработало, и он по-прежнему выводит файл MP3 длительностью 38 минут 46 секунд.

Как извлечь (в MP3) звук из видеофайла, не увеличивая его длительность вдвое?

решение1

Попробуй это:

ffmpeg -i video.mp4 -vn -sn -c:a mp3 -ab 192k audio.mp3

Я использовал это для той же цели, и это не изменило длительность аудио. Кроме того, (IMHO) попытка повысить качество просто излишня, но вы можете попробовать с 320k.

решение2

Google обнаружил несколько отчетов об ошибках в ffmpeg Trac, которые показывают, что -write_xing 0 в вашей командной строке ffmpeg может исправить это. Похоже, что расхождение в длине происходит из-за неверных значений в данных Xing, которые записываются по умолчанию.

Связанный контент