如何流方式加载云存储中的流媒体

vps网友提供 04-23 讨论归档 29
视频竟然都是下载完才播放,为什么?还要另外的服务才行?

本文由 vps网友提供,转载请注明出处

本文链接: https://www.vpsvsvps.com/discuss/a/1676471574712029184.html

标签:
chaojie
12-27

@kojp 我传空间里flv,与传云存储flv,都是http的地址,但放在swf播放器里,一个是上来就可以播放,但不能拖动,另一个是等十几分钟才播放,奇怪

xiaojay
12-27

http://www.jayproxy.com 我这个网站上的视频就是存储在阿里云上的,支持拖放
我查了下阿里云文档,http://oss.aliyun.com/guide/details?id=247#002
'GetObject时可以设定文件传送范围,在头中以Range设定。'
应该是可以设定在 http头中支持 range,所以才可以拖放的

kojp
12-27

@chaojie

我还是固执己见的。。。。如果不是flv的话,(mp4不太清楚)反正RMVB没有后台流媒体服务器的支持肯定是不行的,你可以传个flv文件试试。-------------------其实,在本地可以试的。你用wms搭一个服务,然后用mms://127.0.0.1/aa.rmvb这样的地址调用媒体文件跟用http://127.0.0.1/aa.rmvb播放效果肯定是不一样的。。。

chaojie
12-27

@delectate @Ricepig flv格式或wmv格式甚至mp3格式。Content-Type都是对的,其他文件头不了解,想知道需要添加什么元数据

Ricepig
12-27

@chaojie 你是什么格式?

delectate
12-27

@chaojie 服务器不支持的,就不行啊。文件结构也有要求的:
文件头|{tag,audio,video,timecode,subscribe}|...|{tag,audio,video,timecode,subscribe}|结尾。
貌似这样的才能播放。我对这个了解不多。

chaojie
12-27

@delectate不求拖动。 @Ricepig 能够得到url地址。
@xiaojay 看来是有些云存储不支持,但我奇怪的是文件下载不都是二进制流嘛,流媒体会有特殊方式?这些文件放在那儿可以下载,偏不能边下边播放,是什么原因。
而且同样是http协议,简单存储的就可以,开始还以为是协议不同

kojp
12-27

@Ricepig

呃?是这样的呀? 学习了。。。谢谢。

Ricepig
12-27

@delectate
也许是你理解错了,也许是我理解错了,哈哈。

但是,如果要获得http直连,并且播放器里播放时,需要可以拖动到某个位置,这个最廉价的方法就是nginx mod。如果云存储没有,那也没办法。

运营商为了节省带宽而只提供下载不提供播放的说法,我不是很认同。播放比下载更费流量吗?

Ricepig
12-27

@kojp 首先,除了flv和rmvb,mp4的视频也是可以的。对于flv和mp4视频,前提条件是视频文件中被添加了meta data。
其次,边下载边播放是流格式的特性(上面三种流格式都行),但是拖动播放未下载完成视频的能力,就和nginx或者apache这些web server有关了。其实就是要一个接口,http://usr/file?start=xxx,只要能响应这种请求,并返回相应文件的相应偏移量以后的部分,就算实现了一个伪流媒体服务器,而nginx或者apache都有这方面的mod,就不用自己实现了。

可能这个不是你理解不当,而是你并不清楚其中的技术细节。

delectate
12-27

@Ricepig 我觉得楼主的问题是:已经存储在“云”上的文件,怎样才能获得http直链,并且放到播放器就可以直接播放。

这些问题很复杂,要看是什么运营商,也要看你的带宽,看视频格式等诸多因素。视频格式是mkv,wmv,asf,mp4,m2ts等支持在线播放,还有很多格式是不支持的;有的运营商为了节省带宽,只提供下载。
——也许是我理解错了。

kojp
12-27

我的理解方向,可能和你们不尽相同。如果有不当之处,请谅解。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我理解的是
现在除了flv(前端用FLASH播放)这种格式流媒体格式
以及rmvb(后端有流媒体服务器),前端用相应的插件播放。

可以实现,在线边下载边播放, 以外。
其它的应该都是实现不了的呀?这个跟nginx以及apache应该没关系吧?

Ricepig
12-27

@chaojie 就是看视频云存储是不是支持流媒体,或者伪流媒体。后者就是我说的那些mod。如果默认不支持那就没办法了。

关于这个内容,可以参照不才的小文章:http://www.cnblogs.com/Ricepig/archive/2011/04/16/2017703.html

@xiaojay 边下边放是只要格式和播放器支持就行,和云存储关系不大。关键是要可以拖动。

xiaojay
12-27

阿里云存储支持视频边下边放

delectate
12-27

@chaojie 据我所知,国内只有迅雷。dropbox也不支持啊。没有那带宽很难达到在线原画播放

chaojie
12-27

@delectate 我的意思是将视频放在网页中的播放器中播放,放在云存储中存储

chaojie
12-27

@Ricepig 求详细说明。比如百度或又拍的云存储,没有stream mod这样的选项,nginx如何配置?不可能要把数据再交给nginx代理吧

delectate
12-27

在线的云服务,还是xunlei的离线播放比较给力;
自己搭建的应该都没问题,千兆网卡支持m2ts播放。

Ricepig
12-27

需要另外的服务器。或者云存储默认开启了stream mod,apache、nginx都有