-->

如何构建在线视频播放器

文章特色图片

随着在线视频越来越受欢迎, 越来越多的开发者和企业纠结于如何构建自己的在线视频应用程序. 选择的多样性让人感觉无穷无尽. 您应该使用现有的在线视频平台(OVP)提供商还是自己构建? 你们将支持哪些平台? 您需要哪些功能? 这些选择和许多其他的选择似乎是压倒性的, 但是经过仔细的计划, 你可以决定你的答案并执行你的选择.

了解可用的选择

在深入探索之前, 有一些基本的业务规则需要理解. 你需要一个流媒体播放器,还是渐进式下载是一个更好的选择?

渐进式下载

渐进式下载是比较容易支持的特性之一. 如今,所有HTML5浏览器都支持渐进式下载,作为H.264 -编码内容. 在选择此选项时,您应该了解渐进式下载实际需要什么.

渐进式下载允许将单个视频文件下载到客户端的计算机上,并在下载时播放. 它不需要等待整个文件下载完成后才开始播放, 但是你能够植入玩家的功能是非常有限的.

Adaptive bitrate (ABR) isn’t an option; progressive download only allows for one file to be played.

在某些平台上,搜索会带来用户体验问题, 因为它暂停播放(缓冲),直到文件下载到用户正在寻找的点为止. 这在HTML5等平台上不是问题, 哪个可以使用字节范围请求, 允许寻找几乎瞬间发生.

也, 保护内容变得很困难, 因为在视频的最后, 整个文件位于用户的缓存中.

最终, 对于短视频(通常指长度少于10分钟的视频)来说,渐进式下载是一个可行的选择, 尽管绝大多数短视频都不超过2分钟,但这并不需要保护. 这样做的原因是短视频通常可以快速下载, 这就否定了寻找问题, 如果内容不需要保护, 缺乏内容保护不再是一个问题. 同样的, 视频只有几分钟的长度, 大多数现代互联网连接将能够以单个比特率下载内容, 减轻了ABR的缺乏.

如果内容不是短格式的,或者需要保护,您应该考虑流选项.

流媒体视频

流媒体视频的本质是视频的单个片段被下载并播放, 而不是渐进式下载, 哪个会下载整个文件. 流媒体的好处是,在任何视频片段被下载之前, 你可以决定玩家应该播放什么比特率, 启用ABR逻辑. 另外, 流媒体内容使得搜索变得更加容易, 因为不需要下载任何跳过的内容, 哪一种方式能够提供更快速的响应体验. 如果你从头开始, 观看30秒, 然后再往前找一个小时, 您跳过的59分30秒不需要下载, 所以玩家可以无缝地从用户请求的新点继续游戏.

构建流媒体播放器的缺点是它本质上更复杂,因此需要更多的时间来构建和更多的代码来运行. 然而, 对于长篇内容和需要保护的内容, 流几乎在所有情况下都是必需的.

支持的平台

另一个常见的问题是,内容需要在哪个平台上播放. 如果只需要支持桌面浏览器, 这意味着与你需要支持Android或iOS相比,复杂性有很大不同, 机顶盒, 连接电视, 或者是游戏机.

其中一些平台提供了兼容html5的浏览器, 哪一个使渐进式下载成为一种选择, 然而, 但并非所有人,甚至大多数人都是如此. 应该理解的是,如果一个流应用程序需要跨多个平台, 它将, 最有可能的, 需要编写(或实现), (如果您使用的是现成的OVP)几个不同的代码库.

现成的球员

现在市场上有很多值得你考虑的ovp和玩家. 其中包括Brightcove的Video.js、JWPlayer、Kaltura的播放器、Ooyala的播放器、thePlatform的播放器和Adobe的Primetime播放器.

可用球员, 他们的授权模式, 它们支持的特性很可能在本文撰写和发布期间发生了变化. 在您开始构建视频应用程序的过程时, 您应该查看所有可用的选项,并确定其中是否有适合您需求的选项. 如果是这样,强烈建议使用OVP. 然而, 有时候你会发现没有现成的解决方案是非常适合的, 要么是功能原因,要么是经济原因. 在这种情况下,创造自己的玩家便是最佳解决方案.

选择建造

在做了调查之后, 您可能会发现您的特定需求不适合任何现有的OVP解决方案. 在这种情况下,您可能会决定构建自己的解决方案. 首先,您需要确定希望支持哪些平台以及希望使用哪些技术.

桌面解决方案

如果你需要你的视频可供消费者在他们的个人电脑上观看, 你需要一个桌面播放器. 虽然桌面支持的技术有着悠久而多样的历史, 今天有三个主要平台:Adobe Flash, 微软的Silverlight, 和HTML5.

越来越多地。, 企业正在选择部署混合解决方案, 在第一个平台不可用的情况下,哪个平台优先考虑一个平台,并将故障转移到另一个平台. 例如, 有些人选择先在HTML5上尝试游戏, 但如果这是不可用的(对于较旧的浏览器), 举个例子), 他们在Flash中尝试.

混合解决方案通常结合Flash和HTML5, 因为Silverlight目前在全球不到60%的台式机上可用, 而Adobe Flash仍然安装在超过90%的台式机中.

使用JavaScript, 您可以检测浏览器的功能,并确定哪个平台最适合用户.

闪光

要在Flash中播放视频,需要一个Flash实例.媒体.视频类. 这个类可以本地处理渐进式下载的视频. 加上一个流媒体服务器, 例如Adobe Media Server, 或者Wowza流媒体引擎, 播放流媒体视频也是可能的.

要构建一个Flash视频播放器,您将需要一个类,类似于 图1.

要构建一个Flash视频播放器,您将需要一个类似的类. 

在该类的构造函数中, 将创建NetConnection类的实例,并将事件侦听器添加到该实例. connect方法将Flash播放器连接到媒体服务器. 在本例中,它被调用并传递 作为论证, 表示文件是从本地文件系统或web服务器提供的,而不是从媒体服务器提供的. 当连接准备好时,NetConnection将触发一个NET_ STATUS事件.

流媒体覆盖
免费的
合资格订户
现在就订阅 最新一期 过去的问题
相关文章

如何建立一个HTML5视频播放器,从VideoJS的创造者

Steve Heffernan解释了如何创建一个定制的HTML5播放器. 看看这个,你需要知道的一切.

如何建立一个HTML5视频播放器

两位年轻但经验丰富的HTML5视频专家告诉观众为什么他们应该使用HTML5视频,并指导他们完成所需的代码.

提及的公司及供应商