简体   繁体   English

如何使用 MSE 在视频标签中播放 H.264 NAL 单元流?

[英]How do I play a stream of H.264 NAL units in a video tag with MSE?

The situation is pretty straight-forward;情况非常简单。 I am receiving a stream of NAL units via WebSockets.我正在通过 WebSockets 接收 NAL 单元流。 How do I feed them into an HTML5 video tag using MSE?如何使用 MSE 将它们输入到 HTML5 视频标签中?

Research indicates that I should mux the data into a fragmented mp4, but I haven't found any specifics on how to accomplish that.研究表明我应该将数据混合成一个碎片化的 mp4,但我还没有找到任何关于如何完成的细节。 Does anyone have specifics?有人有具体的吗?

If you receive a stream data eg hls, nalu h.264...and so on, you can transform and mux that into a fragmented mp4.如果您收到流数据,例如 hls、nalu h.264...等,您可以将其转换和多路复用为碎片化的 mp4。 Setting HTML5 video tag combines with MSE like creating mediaSource, mediaSource.addSourceBuffer, sourceBuffer.appendBuffer.设置 HTML5 视频标签与 MSE 相结合,如创建 mediaSource、mediaSource.addSourceBuffer、sourceBuffer.appendBuffer。 That will play video while fmp4 right feed into buffer.这将在 fmp4 正确输入缓冲区时播放视频。

You may check out https://github.com/ChihChengYang/wfs.js which demonstrates transmuxing NALu h.264 streams from websocket.您可以查看https://github.com/ChihChengYang/wfs.js ,它演示了从 websocket 转换 NALu h.264 流。 That works directly on top of a standard HTML5 element and MSE.这直接在标准 HTML5 元素和 MSE 之上工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM