首页 > 解决方案 > javascript MSE可以从中间播放分段的mp4吗?

问题描述

在我当前的项目中,我有一个 ffmpeg 编码为分段 mp4 的视频流。该编码数据通过管道传送到一个应用程序中,该应用程序将该数据发送给通过 websocket 连接到该应用程序的任何人。当客户端连接时,我确保首先发送 ftyp 和 moov 框,然后发送从 ffmpeg 收到的最新段。

在客户端,我只是将所有二进制数据从 websocket 传递给 MSE。

我面临的问题是,如果客户端从一开始就连接并获取 ffmpeg 管道输出的所有片段,则此方法有效,但如果客户端在 ffmpeg 发送前几个片段后连接,则此方法不起作用。

我的问题是:当 MSE 还提供了 init 段时,它是否可以从中间播放分段的 mp4?

如果可能,那么需要如何实施?

如果不可能,那么什么格式可以让我通过 websocket 流式传输实时视频?

标签: javascriptwebsocketffmpegmp4media-source

解决方案


当 MSE 还提供了 init 段时,它是否可以从中间播放分段的 mp4?

是的,这正是碎片化(分段)mp4 的设计目的

如果可能,那么需要如何实施?

您描述实现的方式是正确的。发送初始化片段,然后是最近的 AV 片段。这意味着您的实施中有不同的问题或错误。


推荐阅读