繁体   English   中英

在浏览器中播放原始 h264 直播流

[英]Play raw h264 live stream in browser

我正在寻找一种解决方案,通过 WebSocket 在浏览器上实时播放来自本机服务器的原始 h264 流。 我在 JavaScript 中尝试了许多第三方 h264 解码器,每个都有自己的问题。 基于 Broadway 的解码器无法解码 main 和 high profile h264。 其他解码器太慢而无法解码 1080p 帧。 我尝试在 JavaScript 中将原始 h264 转换为碎片化的 mp4,但在解码双向帧时播放非常难看。 我也尝试过 webrtc,但似乎不可能在浏览器和本机服务器之间实现对等连接。 有什么建议?

我见过的最好的(我自己没有使用它的实践经验)是https://github.com/samirkumardas/jmuxer

https://github.com/samirkumardas/jmuxer/blob/master/example/index-h264.html 上有一个如何通过 WebSockets 处理流数据的示例

var socketURL = 'ws://localhost:8080';
var jmuxer = new JMuxer({
    node: 'player',
    mode: 'video',
    flushingTime: 1000,
    fps: 30,
    debug: true
});
var ws = new WebSocket(socketURL);
ws.binaryType = 'arraybuffer';
ws.addEventListener('message',function(event) {
     jmuxer.feed({
         video: new Uint8Array(event.data)
     });
});
ws.addEventListener('error', function(e) {
    console.log('Socket Error');
});

暂无
暂无

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

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