来自http实时流媒体m3u8文件的FFMPEG mp4?

来自http实时流媒体m3u8文件的FFMPEG mp4?,ffmpeg,http-live-streaming,Ffmpeg,Http Live Streaming,如何从http直播m3u8文件中提取mp4?我尝试了以下命令: ffmpeg -i {input file} -f rawvideo -bsf h264_mp4toannexb -vcodec copy out.mp4 我犯了这个错误: [NULL@000000000 2F07060]数据包标头不包含在全局extradata中,已损坏的流或无效的MP4/AVCC位流无法打开流0的位流筛选器h264_mp4toannexb,编解码器副本为:I 你的命令完全不正确。输出格式不是rawvideo,您

如何从http直播m3u8文件中提取mp4?我尝试了以下命令:

ffmpeg -i {input file} -f rawvideo -bsf h264_mp4toannexb -vcodec copy out.mp4
我犯了这个错误:

[NULL@000000000 2F07060]数据包标头不包含在全局extradata中,已损坏的流或无效的MP4/AVCC位流无法打开流0的位流筛选器h264_mp4toannexb,编解码器副本为:I


你的命令完全不正确。输出格式不是
rawvideo
,您不需要比特流过滤器
h264\u mp4toanexb
,例如,当您想要将
mp4
中包含的
h264
转换为
MPEG-TS
使用的
附件B
格式时,就需要使用该过滤器。您要使用的是
aac
流的
aac\u adtstoasc

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

Aergistal的答案是可行的,但我发现转换成mp4会使一些m3u8视频崩溃。如果您遇到此问题,请尝试将其转换为mkv,稍后再将其转换为mp4。

您好,此回答帮助我从m3u8 url录制实时流,视频也会保存在output.mp4中。我的问题是,我们能否在此命令中指定以秒/分钟为单位的时间,以便保存的视频在指定的时间内。目前它一直在录制并停止,直到我在控制台中按q。谢谢你advance@Mayuri
-t
在s或hms中输入后。他们中的任何人都可以帮助我在相同的情况下获得下载进度吗我发现
ffmpeg-ihttp://...m3u8 -c copy live.mkv
工作得很好。只要有人过来看一下。@blackmiacool:如何通过编程实现这一点?
.ts
对于某些流也能很好地工作如果您有https://地址,请将其更改为http://否则会出现“http错误403禁止”错误。。。要将MKV转换为MP4,只需使用
ffmpeg-i file.MKV file.MP4
,但为什么要这样做呢?如果是本地
m3u8
文件,我还必须在前面添加一个白名单,比如:
ffmpeg-protocol\u白名单文件、http、https、tcp、tls、crypto-i 02.m3u8-c copy 02.MKV
,您可以使用这个扩展名