Javascript 如何制作node js在线视频流

Javascript 如何制作node js在线视频流,javascript,node.js,socket.io,stream,video-streaming,Javascript,Node.js,Socket.io,Stream,Video Streaming,这是我的节点js代码 socket.on('stream',()=>{ let readStream = fs.createReadStream(__dirname+'/video.mp4'); readStream.on('data',(chunk)=>{ socket.emit('stream-chunk',chunk); //res.render("hello"); });

这是我的节点js代码

socket.on('stream',()=>{
        let  readStream = fs.createReadStream(__dirname+'/video.mp4');
        readStream.on('data',(chunk)=>{

           socket.emit('stream-chunk',chunk);
            //res.render("hello");
        });
    });
这是客户端

            let chunkArray = [];
            socket.on('stream-chunk', (chunk) => { 
                    chunkArray.push(chunk);
                    //console.log(chunk);
                    //var url = URL.createObjectURL(chunk);
                    //alert(url);
                    $("#video").attr("src",url);

            });
如你们所见,我只想从节点服务器获取一个视频文件,并使用缓冲区对其进行流式传输。。到目前为止,这些块是作为ArrayBuffers提供给客户端的。但我不知道如何将这些传入的块用于我的html5
元素

这是我的客户端html标记

<video controls type="video/mp4" src="" id="video" width="300" height="300"></video>

直接使用HTTP即可。无需使用web套接字进行单向通信


使用Express以静态方式提供该文件。然后在视频标签中,
src=“path/video.mp4”

直接使用HTTP即可。无需使用web套接字进行单向通信


使用Express以静态方式提供该文件。然后在您的视频标签中,
src=“path/video.mp4”

这是我使用NodeJS和FFmpeg来处理HTTP直播流HLS+m3u8(即VOD)的完整示例实现。检查一下


这是我使用NodeJS和FFmpeg处理HTTP直播流HLS+m3u8(即VOD)的完整基础示例实现。检查一下


当一个巨大的视频文件出现时,可以吗?我想让它像水流一样流动youtube@THEWOLF是的,事实上这会比你现在做的更好。当您通过HTTP传输时,拥塞控制通过两种不同的方式进行处理。最简单的部分是通过常规的TCP拥塞控制。当浏览器不想缓冲更多数据时,它会关闭窗口。最终,如果选择,它可以断开连接,也可以再次打开窗口以接受更多数据。像Chrome这样的浏览器实际上一次只能通过远程请求请求文件片段。快车公司会在引擎盖下为你处理所有这些。哦,好吧。我只想找到最理想的解决方案。那我就用这条路对吗?当用户请求视频时,我只发送路径字符串并将其附加到视频src,对吗?当一个巨大的视频文件出现时,可以吗?我想让它像水流一样流动youtube@THEWOLF是的,事实上这会比你现在做的更好。当您通过HTTP传输时,拥塞控制通过两种不同的方式进行处理。最简单的部分是通过常规的TCP拥塞控制。当浏览器不想缓冲更多数据时,它会关闭窗口。最终,如果选择,它可以断开连接,也可以再次打开窗口以接受更多数据。像Chrome这样的浏览器实际上一次只能通过远程请求请求文件片段。快车公司会在引擎盖下为你处理所有这些。哦,好吧。我只想找到最理想的解决方案。那我就用这条路对吗?当用户请求视频时,我只发送路径字符串并将其附加到视频src,对吗?