首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mp4box的实时流破折号内容

使用mp4box的实时流破折号内容
EN

Stack Overflow用户
提问于 2015-06-03 10:35:58
回答 2查看 16.9K关注 0票数 13

我试图使用媒体源扩展API将H.264内容实时流到HTML5

以下方法工作得很好:

ffmpeg -i rtsp://10.50.1.29/media/video1 -vcodec copy -f mp4 -reset_timestamps 1 -movflags frag_keyframe+empty_moov -loglevel quiet out.mp4

然后:mp4box -dash 1000 -frag 1000 -frag-rap out.mp4

我可以获取MP4Box输出(out_dashinit.mp4),并将其通过Web逐块发送到一个JavaScript客户端,该客户机将其提供给媒体源API。

然而,对于实时内容来说,这不是一个很好的方法。

我现在要做的是,创建一个管道,以便实时和尽可能地减少延迟。使用FFmpeg,可以将输出重定向到stdout而不是out.mp4,并获取内容。我不知道是否有可能将MP4Box合并到管道中。

  1. MP4Box可以从非文件的源获取输入数据吗?
  2. MP4Box能否在实时到达时(从文件或其他来源)逐步抓取这样的内容?也就是说,如果流停止1秒,请稍候,然后自动恢复。
  3. 同样的问题,但对于输出:它能输出到不是文件的东西(比如stdout)吗?它可以逐步地输出,以便每当输出数据准备就绪时,我就能够将它传输到web客户端,实质上是生成一个没完没了的虚线MP4。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-04 12:19:22

您不需要MP4Box来生成所需的输出,但是您需要自己对内容进行分块,以查找生成的文件中的框。

基本上,您将使用H264生成一个H264,并将用于初始化的moov框和生成的每个MP4片段的moof+mdat框发送给浏览器。您必须在JavaScript中对播放器进行编码,您可能无法使用标准的破折号播放器。

要生成正确的分段MP4,需要将其传递给ffmpeg:-movflags empty_moov+omit_tfhd_offset+frag_keyframe+default_base_moof

确保使用可用的最新版本。

票数 12
EN

Stack Overflow用户

发布于 2015-09-11 10:59:07

据我所知,您的解决方案不是流的,而是逐步下载单个MP4文件的。我理解得对吗?

最近,我启动了RTP2DASH项目,从一个RTP数据源执行真正的DASH实时流。它仍然是非常'alpha‘,但它应该是容易采用的简单用途。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30617673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档