来自http直播m3u8文件的FFMPEG mp4? [关闭]
Posted
技术标签:
【中文标题】来自http直播m3u8文件的FFMPEG mp4? [关闭]【英文标题】:FFMPEG mp4 from http live streaming m3u8 file? [closed] 【发布时间】:2015-12-08 07:37:22 【问题描述】:如何从 http 直播 m3u8 文件中提取 mp4?我在下面尝试了这个命令:
ffmpeg -i input file -f rawvideo -bsf h264_mp4toannexb -vcodec copy out.mp4
我犯了这个错误:
[NULL @ 0000000002f07060] 全局额外数据中不包含数据包标头、损坏的流或无效的 MP4/AVCC 比特流无法使用编解码器副本打开流 0 的比特流过滤器 h264_mp4toannexb:I
【问题讨论】:
你可以使用这个扩展chrome.google.com/webstore/detail/hls-downloader/… 【参考方案1】:您的命令完全不正确。输出格式不是rawvideo
,并且您不需要将mp4
中包含的h264
转换为MPEG-TS
使用的Annex B
格式时使用的比特流过滤器h264_mp4toannexb
例子。您要改用 aac_adtstoasc
来代替 AAC
流。
ffmpeg -i http://.../playlist.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4
【讨论】:
您好,这个答案帮助我从 m3u8 url 录制实时流,视频也保存在 output.mp4 中。我的问题是我们可以在这个命令中以秒/分钟为单位指定时间,以便保存的视频是指定的时间。目前它一直在录制并停止,直到我在控制台中按 q。提前致谢 @Mayuri-t <time>
在 s 或 hms.ms 中输入后
嘿任何人都可以帮助我获得相同案例的下载进度【参考方案2】:
Aergistal 的回答有效,但我发现转换为 mp4 会使一些 m3u8 视频损坏。如果您遇到此问题,请尝试将它们转换为 mkv,然后再将它们转换为 mp4。
【讨论】:
我发现ffmpeg -i http://...m3u8 -c copy live.mkv
效果很好。就在有人过来读这个的时候。
@blackmiacool:如何以编程方式实现这一目标?
.ts
在某些流中也很安静
如果您有 https:// 地址,请将其更改为 http:// 否则您会收到“HTTP 错误 403 禁止”错误... 将 MKV 转换为 MP4 只需使用 ffmpeg -i file.mkv file.mp4
但为什么应该这样做吗?
在本地m3u8
文件的情况下,我还必须在前面添加一个白名单,例如:ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto -i 02.m3u8 -c copy 02.mkv
以上是关于来自http直播m3u8文件的FFMPEG mp4? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
使用ffmpeg转码MP4至m3u8格式并切片,以及自动检测切片m3u8脚本编写
使用ffmpeg转码MP4至m3u8格式并切片,以及自动检测切片m3u8脚本编写