Подтвердить что ты не робот

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

4b9b3361

Ответ 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 позже.