FFMPEG mp4 из http live streaming m3u8 file?
Как я могу извлечь mp4 из HTTP-потокового m3u8 файла? Я пробовал эту команду ниже:
ffmpeg -i {input file} -f rawvideo -bsf h264_mp4toannexb -vcodec copy out.mp4
Я принял эту ошибку:
[NULL @0000000002f07060] Заголовок пакета не содержится в глобальных extradata, поврежденном потоке или некорректном потоке бит MP4/AVCC. Не удалось открыть фильтр потока бит h264_mp4toannexb для потока 0 с копией кодека: I
Ответы
Ответ 1
Ваша команда совершенно неверна. Выходной формат не является rawvideo
и вам не нужен фильтр битового потока h264_mp4toannexb
который используется, когда вы хотите преобразовать h264
содержащийся в mp4
в формат Annex B
, используемый, например, MPEG-TS
. Вместо этого вы хотите использовать aac_adtstoasc
для потоков AAC
.
ffmpeg -i http://.../playlist.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4
Ответ 2
Ответ на Aergistal работает, но я обнаружил, что преобразование в mp4 может сделать некоторые видео m3u8 сломанными. Если вы застряли в этой проблеме, попробуйте преобразовать их в mkv и конвертируйте их в mp4 позже.