我正在尝试使用媒体源扩展 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
但是,这不是直播内容的好方法。
我现在要做的是创建一个单一的管道,以便实时完成,并尽可能减少延迟。使用 FFmpeg,可以将输出重定向到stdout
而不是out.mp4
抓取内容。我不知道是否可以将 MP4Box 合并到管道中。
- MP4Box 可以从不是文件的源中获取输入数据吗?
- MP4Box 能否在实时到达时逐步(从文件或其他来源)抓取此类内容?即,如果流停止 1 秒并自动恢复,请稍等片刻。
- 同样的问题,但对于输出:它可以输出到不是文件的东西(例如
stdout
),并且可以逐步这样做,以便每当输出数据准备好时,我就可以将其传输到 Web 客户端,本质上是生成一个永无止境的虚线 MP4。