【问题标题】:FFMPEG mp4 from http live streaming m3u8 file? [closed]来自http直播m3u8文件的FFMPEG mp4? [关闭]
【发布时间】: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

【问题讨论】:

标签: ffmpeg http-live-streaming


【解决方案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
猜你喜欢
  • 2011-06-26
  • 1970-01-01
  • 2011-07-19
  • 2017-06-20
  • 1970-01-01
  • 2022-08-20
  • 2016-05-10
  • 1970-01-01
  • 2012-08-15
相关资源
最近更新 更多