来自 http 直播流媒体 m3u8 文件的 FFMPEG mp4?

FFMPEG mp4 from http live streaming m3u8 file?

如何从http直播的m3u8文件中提取mp4?我在下面尝试了这个命令:

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

我犯了这个错误:

[NULL @ 0000000002f07060] Packet header is not contained in global extradata, corrupted stream or invalid MP4/AVCC bitstream Failed to open bitstream filter h264_mp4toannexb for stream 0 with codec copy: I

你的命令完全错误。输出格式不是 rawvideo 并且您不需要比特流过滤器 h264_mp4toannexb,当您想要将 mp4 中包含的 h264 转换为 [=例如,MPEG-TS 使用的 15=] 格式。您想要使用的是 AAC 流的 aac_adtstoasc

ffmpeg -i http://.../playlist.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4

Aergistal 的回答有效,但我发现转换为 mp4 会使一些 m3u8 视频损坏。如果您遇到这个问题,请尝试将它们转换为 mkv,稍后再将它们转换为 mp4。