【问题标题】:How do streaming videos work?流媒体视频如何工作?
【发布时间】:2010-10-10 14:40:39
【问题描述】:

所以我有一些 .flv 格式的视频,我希望人们能够从我的网站观看,而无需下载它们。到目前为止,Flowplayer 似乎是实际 Flash 播放器的最佳选择。

但是,我一直在研究这个视频流的东西,因为它应该使视频观看速度非常快,并允许寻找到视频的中间等。我需要什么才能让它工作,是吗?需要一些特殊的服务器软件吗?以及如何使用我将用于显示视频的 javascript/PHP 代码与该软件集成?

谢谢。

【问题讨论】:

    标签: javascript video streaming flv progressive-download


    【解决方案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 的身份验证可以工作,但在您的情况下如何准确地做到这一点是一个完整的“另一个问题”。
    • 我希望没有人在看那部电影!
    猜你喜欢
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    相关资源
    最近更新 更多