我在网页上通过video控件在线播放视频 “”
服务端用nodejs简单搭建,根据uri返回一个视频
res.writeHead(200,{"Content-Type": mime.types[type],'Content-Length': fs.statSync(file_path).size}); res.end(fs.readFileSync(file_path));
问题:在网页上我拖动video下面的快进,发现没用。于是我将视频的src改为本地存在的路径发现可以。请问,我的服务端要怎么做才能快进的效果呢?谢谢!!!
回复 (12)
R
N
引用 ringtail我觉得是数据流的原因,但是我不能肯定,因为你在用这种方式的时候,你向后拖动进度条的时候,此时文件没有下载完毕,可能会有这个问题。
@ringtail
一般这种视频文件都比较大,这种同步读取会返回一个很大的buffer对象,也就是说必须将整个视频加载到buffer后,才会将响应发回到客户端。。
据我所知,我认为比较好的方法是,res是一个可写流,而视频文件是一个可读流,所以创建视频文件的一个可读流然后pipe到res就可以了。。这个方法 会处理内部很多的事务。。。比如流量控制。。
Y
用nodejs 写一个媒体服务器...不太靠谱吧..这种东西应该找专门的媒体服务器吧.
Z
R
我觉得是数据流的原因,但是我不能肯定,因为你在用这种方式的时候,你向后拖动进度条的时候,此时文件没有下载完毕,可能会有这个问题。
Y
引用 youxiachai用nodejs 写一个媒体服务器...不太靠谱吧..这种东西应该找专门的媒体服务器吧.
@zhs077
开源的话 live555
Y
引用 youxiachai用nodejs 写一个媒体服务器...不太靠谱吧..这种东西应该找专门的媒体服务器吧.
@youxiachai 基本上流媒体视频的协议都支持.
Z
引用 youxiachai用nodejs 写一个媒体服务器...不太靠谱吧..这种东西应该找专门的媒体服务器吧.
@youxiachai他不能支持http协议的
Y
引用 youxiachai用nodejs 写一个媒体服务器...不太靠谱吧..这种东西应该找专门的媒体服务器吧.
@zhs077
live555 支持 HTTP Live Streaming 啊
Z
引用 youxiachai用nodejs 写一个媒体服务器...不太靠谱吧..这种东西应该找专门的媒体服务器吧.
@youxiachai我用html5的video控件 src可以指向live555吗
参与回复
登录后即可参与回复。登录