繁体   English   中英

如何使用套接字 (.io) 将音频/视频从 node.js 服务器流式传输到 html5 页面

[英]How to Stream audio/video with socket (.io) from node.js server to html5 page

我需要从 node.js 服务器流式传输 mp3 或 mp4 并在 html5 页面上观看它。 我正在尝试使用 socket.io 来加速通信,我希望它会降低我使用简单 http 的延迟。 我在我的项目中设置了 socket.io,在客户端(移动 Web 应用程序)和服务器上,但我无法弄清楚也无法在网络上找到如何正确发送数据并将其引导到标签。

请参阅 socket.io-stream 项目https://www.npmjs.org/package/socket.io-stream

尝试使用 ffmpeg 进行同步音频/视频流。 在 HTML5 音频和视频标签中,当您在音频/视频标签的 src 元素中提供服务器的源地址时,会自动播放它。

检查这个例子:

 var captureMe = function () { if (!videoStreamUrl) alert('error') context.translate(canvas.width, 0); context.scale(-1, 1); context.drawImage(video, 0, 0, video.width, video.height); var base64dataUrl = canvas.toDataURL('image/png'); context.setTransform(1, 0, 0, 1, 0, 0); var img = new Image(); img.src = base64dataUrl; window.document.body.appendChild(img); } button.addEventListener('click', captureMe); navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; window.URL.createObjectURL = window.URL.createObjectURL || window.URL.webkitCreateObjectURL || window.URL.mozCreateObjectURL || window.URL.msCreateObjectURL; navigator.getUserMedia({video: true}, function (stream) { allow.style.display = "none"; try { video.srcObject = stream; } catch (error) { video.src = window.URL.createObjectURL(stream); } }, function () { console.log('streaming error'); }); };

工作示例匿名聊天视频测试

原文链接http://html5.by/blog/html5-image-capture-getusermedia-stream-api-mirror/

暂无
暂无

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

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