使用websocket访问中途直播视频流

尼山斯

我正在使用片段化的mp4和websockets的组合,将实时视频流从MSE接管的地方流式传输到Web浏览器。

我已经使用ffmpeg成功将片段分割成适当的fmp4格式,并使用mpeg4parser工具检查了数据。利用websocket服务器,传入的数据将广播到通过websocket连接的所有浏览器客户端。这对于回放和实时流都很好(使用rtsp流作为输入)。

当客户端尝试中途访问流时(即ffmpeg流启动后),将出现我面临的问题。我已经将init segment(ftyp + moov)元素保存在websocket服务器的队列缓冲区中。该队列缓冲区将此数据发送到连接时的每个新客户端。

我认为此数据已正确发送,因为浏览器控制台未引发“找不到媒体源元素”错误。然而,当接收到广播的mood / mdat对时,没有视频流式传输。

因此,我想回答几个问题:

1)我有一个观察者,每个moof元素的mfhd子元素都包含一个序列号。这是否必须始终从1开始,而中途访问的视频流自然不会这样吗?

2)是否可以在浏览器client.js中查看数据。目前,我所能看到的是我的mediaBuffer包含一堆[Object ArrayBuffer]。我可以在这些缓冲区中打印二进制数据吗?

3)从服务器端看,数据似乎是按moof / mdat片段发送的,因为从ffmpeg输出到达websocket服务器的每个新数据都以moof元素开头。通过在控制台中打印二进制数据可以注意到这一点。有没有类似的方法可以在客户端查看此数据。

4)有谁知道为什么会这样吗?我缺少一些零散的mp4或ISO BMFF格式的详细信息。

如果需要进一步详细说明,请告诉我,我会提供。

破布

确保您的片段包括基本媒体解码时间。然后将视频标签“ currentTime”设置为收到的第一个片段的时间。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

未缓冲的视频流如何中途开始

来自分类Dev

视频流访问限制

来自分类Dev

如果connention中断,则ffmpeg将从直播流录制视频关闭

来自分类Dev

iOS直播视频必须使用HLS吗?

来自分类Dev

如何无延迟地流直播视频(ffplay,mplayer)以及ffplay可以使用哪种包装器?

来自分类Dev

如何使用Youtube API查找直播视频列表?

来自分类Dev

如何在Android中使用RTSP链接直播视频?

来自分类Dev

如何在Android中使用RTSP链接直播视频?

来自分类Dev

使用 FFMPEG 将预先录制的视频直播到 YouTube

来自分类Dev

使用Android中的访问密钥ID秘密访问密钥的Amazone AWS KVS视频流

来自分类Dev

来自 VLC 的 udp 直播流的屏幕截图,使用 ffmpeg

来自分类Dev

YouTube直播流叠加

来自分类Dev

访问YouTube视频流图(Python)

来自分类Dev

使用HLS的Android视频流

来自分类Dev

使用ffmpeg提取视频流

来自分类Dev

使用wxWidgets绘制视频流

来自分类Dev

使用ffmpeg提取视频流

来自分类Dev

Android RTSP直播流问题

来自分类Dev

我可以使用ffmpeg编码程序生成的视频以进行直播吗?

来自分类Dev

使用 youtube API(回收站视图)显示的视频只能水平播放,不能垂直播放

来自分类Dev

使用 DASH 直播时混淆 HTML 视频播放器的行为

来自分类Dev

使用 HLS(Http 直播)时是否需要提供“仅音频”流?

来自分类Dev

Rails4:如何限制流视频文件的访问?

来自分类Dev

访问在本地HTTP主机上运行的视频流

来自分类Dev

使用Java Servlet的视频下载/流

来自分类Dev

如何使用OpenCV(Python)捕获视频流

来自分类Dev

在python中使用pygame lib流视频

来自分类Dev

使用rtmp和videojs流视频

来自分类Dev

使用AVKit流视频时出现黑屏

Related 相关文章

热门标签

归档