流媒体视频如何工作?
Posted
技术标签:
【中文标题】流媒体视频如何工作?【英文标题】:How do streaming videos work? 【发布时间】:2010-10-10 14:40:39 【问题描述】:所以我有一些 .flv 格式的视频,我希望人们能够从我的网站观看,而无需下载它们。到目前为止,Flowplayer 似乎是实际 Flash 播放器的最佳选择。
但是,我一直在研究这个视频流的东西,因为它应该使视频观看速度非常快,并允许寻找到视频的中间等。我需要什么才能让它工作,是吗?需要一些特殊的服务器软件吗?以及如何使用我将用于显示视频的 javascript/php 代码与该软件集成?
谢谢。
【问题讨论】:
【参考方案1】:好消息!您不需要特殊的软件,大多数合理的 Web 服务器可以开箱即用地完成所有这些工作。你所描述的,以及 Youtube 和其他人所做的,实际上并不是流媒体。它被称为渐进式下载。
基本上,SWF 播放器(在您的情况下为 flowplayer)正在下载 FLV 视频,并播放到目前为止已下载的内容。要跳到它已经下载的一些视频,它会在下载的文件中寻找。为了跳过已经下载的内容,它会丢弃下载的文件并开始新的下载,但它会要求 HTTP 服务器开始以某个偏移量向它提供文件。值得庆幸的是,大多数 HTTP 服务器都可以立即执行此操作。
因此,您只需将 FLV 文件放在可通过 HTTP 公开下载的位置(只需使用浏览器测试即可)。假设您将 flowplayer 放在您网站上的 /flowplayer.swf 中,并且视频是 /2girls1cup.flv,您可以将其插入到您的页面中:
<script src="http://static.flowplayer.org/js/flowplayer-3.0.6.min.js"></script>
<!-- Edit this with the width and height to display the video -->
<a
href="/2girls1cup.flv"
style="display:block;width:425px;height:300px;"
id="player">
</a>
<!-- this script block will install Flowplayer inside previous anchor tag -->
<script language="JavaScript">
flowplayer("player", "/flowplayer.swf");
</script>
我从the flowplayer demos page 中获取了这个示例,其中有更多示例,说明了自定义 flowplayer 的许多方法,它的行为和显示方式。
实际的流媒体服务器有两种更好的方式。一种是对流进行多播,其中所有客户端都在视频中的同一位置,这在服务器上更容易。另一个是能够为同一流提供多种不同的编码,例如,客户端可以以最匹配其播放能力的比特率播放视频。
A lot of companies 赌了很多钱,这对于视频在网络上的起飞非常重要。看起来他们都错了。流媒体服务器主要用于企业世界,这可能解释了它们的企业价格。
【讨论】:
谢谢。还有1个问题,无论如何我可以保护flv文件不被未经授权的人下载吗?它应该仅供会员使用 如果有人可以看电影,他们可以下载。同样,如果他们可以下载它,他们就可以观看它。服务器端的标准基于 cookie 的身份验证可以工作,但在您的情况下如何准确地做到这一点是一个完整的“另一个问题”。 我希望没有人在看那部电影!以上是关于流媒体视频如何工作?的主要内容,如果未能解决你的问题,请参考以下文章