我有来自远程摄像头的原始h264(无容器)实时流。我想使用DASH在浏览器中实时直播。 DASH需要创建mpd文件(和分段)。我找到了可以在静态文件中完成此操作的工具(例如mp4box),但我一直在努力寻找实时流的解决方案。任何建议-最好使用node.js模块?
我检查过的线程:
mp4box-从一方面来看,我看到comment指出“您不能向MP4Box提供一些实时内容。您需要向MP4Box -live提供预分段的块。”另一方面,很多人都在使用确实实现了使用mp4box的解决方案。在toturial中,他们使用的是mp4box(具有bitmovin tutorial)和node.js api implementation(不具有node.js模块?还是包含在ffmpeg / mp4box中?)
ngnix-ngnix具有x264,它支持使用rtmp流式传输到DASH。例如此module中的示例。我不想走这条路-提到我正在尝试在node.js中完成所有操作。
尽管我读过几篇类似问题的文章,但找不到合适的解决方案。帮助将不胜感激!
最佳答案
典型的体系结构是将实时流发送到流服务器,然后服务器将使用HLS和DASH等流协议进行繁重的工作,以使流可用于其他设备。
因此,客户端设备连接到服务器而不是浏览器。
这样一来,视频就可以进行编码和打包,以便服务器可以执行任何必要的转码操作,从而将其编码到尽可能多的设备,并且如果您要提供这种级别的服务,还可以创建流的不同比特率版本以适应不同的网络条件。
典型的结构是编码流(例如h.264视频),打包到容器中(例如mp4片段)并通过流协议(例如HLS或DASH)进行传递。
关于javascript - 通过Dash将原始的h.264数据编码到浏览器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43180020/