我正在尝试在浏览器中显示连续的视频流(实时流)。
说明:
我的客户报告说,视频流在Chrome浏览器中不起作用。我以为这是一个简单的案例,我什至试图编写一个演示,以证明仅HTML5原生视频标签才可以提供流式传输: https://github.com/mishaszu/streaming-video-demo
随机视频没有问题,但: 客户端上的特定视频流不起作用。 带有html代码:
<video id="video-block" width="320" height="200" autoplay>
<source src="url/to/my/video" type="video/mp4">
</video>
显示装载器一会儿就死了。
我对流的了解:
1.使用的编解码器:H264-MPEG-4 AVC (part 10) (avc1)
2.它是实时流,而不是文件,因此我无法在终端上使用像MP4Box
这样的命令
3.因为它是实时流,所以可能没有“文件末尾”
4.我知道它没有坏,因为VLC可以显示它
5.我尝试将本机HTML 5视频标签与所有媒体类型字符串一起使用(以防万一,检查所有编解码器中的mp4)
正如我提到尝试使用不同的mime类型并没有帮助,我也尝试使用MediaSource
,但是我真的不确定如何将其与实时流结合使用,因为我发现的所有信息都是假设的: />
a)等待解决承诺,然后追加缓冲区
b)将updateend
的事件侦听器添加到追加缓冲区
我认为在直播中,它是行不通的。
结论:
我发现了很多有关流式文件可能如何包含元数据的信息(在文件的开头或结尾)……最后我得出的结论可能是我不完全了解正在发生的事情。
问题:
处理mp4实时流的正确方法是什么?
如果原生HTML视频标签应支持实时流,如何对其进行调试?
我以为也许我应该寻找像HLS一样的东西,但要寻找mp4格式?