Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自适应比特率流(DASH、HLS…)与节点流_Javascript_Node.js_Stream_Video Streaming_Http Live Streaming - Fatal编程技术网

Javascript 自适应比特率流(DASH、HLS…)与节点流

Javascript 自适应比特率流(DASH、HLS…)与节点流,javascript,node.js,stream,video-streaming,http-live-streaming,Javascript,Node.js,Stream,Video Streaming,Http Live Streaming,在Node.js中,可以很容易地使用它按块传递媒体内容(例如视频) 通过分解要发送的媒体段,也可以使用自适应比特率流方法,如DASH或Http实时流。对于视频传输流媒体平台,建议在第一种方法的基础上实施第二种方法 我想知道为什么在视频流应用程序中使用Node.js原生流而不是采用自适应比特率流方法,在优缺点方面有什么区别 编辑:使用Node.js streams按块交付媒体内容的示例: var videoStream=fs.createReadStream(路径,{start,end}); 文书

在Node.js中,可以很容易地使用它按块传递媒体内容(例如视频)

通过分解要发送的媒体段,也可以使用自适应比特率流方法,如DASH或Http实时流。对于视频传输流媒体平台,建议在第一种方法的基础上实施第二种方法

我想知道为什么在视频流应用程序中使用Node.js原生流而不是采用自适应比特率流方法,在优缺点方面有什么区别

编辑:使用Node.js streams按块交付媒体内容的示例:

var videoStream=fs.createReadStream(路径,{start,end});
文书标题(206{
“内容范围”:`bytes${start}-${end}/${size}`,
“接受范围”:“字节”
});
视频流管道(res);

这个问题有点混乱。Node.js中的流只是一种结构,用于在应用程序周围轻松发送数据流。它们不是直接相关的

我怀疑您所了解的是常规HTTP渐进式流(如将视频数据传输到客户端的响应流)与分段流协议(如DASH或HLS)之间的区别

实际上,您也可以通过常规HTTP渐进流发送自适应比特率流。没有什么可以阻止您动态更改比特率

人们使用DASH和HLS的原因是,它们允许重复使用常规的静态文件/blob/基于对象的CDN。它们不需要专门的服务器软件来流式处理。任何HTTP服务器都可以工作


即使您不需要使用现有的CDN,您也可以坚持使用DASH/HLS,因为现在到处都有客户机支持。您不必编写自己的客户机来跟踪指标以决定何时切换比特率。使用DASH/HLS可以使您与现有设备兼容,通常不需要编写任何额外的代码。

感谢您的支持,并对延迟表示抱歉。事实上,我说的是管道数据。我展示了一个简单的节点流示例。在本例中,我不需要专门的服务器软件。我使用的是一个简单的HTTP服务器。我不知道比特率,但看起来我可以通过检查一些延迟来管理服务器端,从而处理比特并进行调整。你不可能吗?还有其他区别吗?