来自 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。
如何从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。