FFmpeg mp4 z HTTP live streaming M3U8 pliku? [zamknięte]

Jak mogę wyodrębnić plik mp4 z http live streaming M3U8? Próbowałem tego polecenia poniżej:

ffmpeg -i {input file} -f rawvideo -bsf h264_mp4toannexb -vcodec copy out.mp4

Wziąłem ten błąd:

[NULL @ 0000000002f07060] nagłówek pakietów nie jest zawarty w globalnej extradate, uszkodzonym strumieniu lub nieprawidłowym strumieniu Bitstream MP4 / AVCC nie udało się otworzyć filtra bitstream h264_mp4toannexb dla strumienia 0 z kopią kodeka: I

Author: jaunt, 2015-09-11

2 answers

Twój rozkaz jest całkowicie fałszywy. Format wyjściowy nie jest rawvideo i nie potrzebujesz filtra strumienia bitów h264_mp4toannexb, który jest używany, gdy chcesz przekonwertować h264 zawarty w mp4 na format Annex B używany na przykład przez MPEG-TS. Zamiast tego chcesz użyć aac_adtstoasc dla strumieni AAC.

ffmpeg -i http://.../playlist.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4
 102
Author: aergistal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-12 10:51:01

Odpowiedź Aergistal działa, ale odkryłem, że konwersja do mp4 może spowodować uszkodzenie niektórych filmów m3u8. Jeśli utkniesz z tym problemem, spróbuj przekonwertować je do mkv i przekonwertować je do mp4 później.

 7
Author: blackmiaool,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-07 09:33:14