4

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

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

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

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

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

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

2 ответа2

4

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

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

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

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .