-->
保存您的免费座位流媒体连接今年八月. 现在注册!

选择视频播放器:前五名的功能和规格

文章特色图片

市面上不乏现成的在线视频播放器(OTS). 输入“视频播放器”这个词就流行了 GitHub 代码存储库站点,您将看到1000多个结果. 尽管有这么多球员可供选择, 找到满足特定技术和业务需求的视频播放器仍然是一个挑战.

在本文中, 在你选择一名球员之前,我将引导你完成你需要回答的问题, 然后我将回顾以下最常用于专业在线视频部署的播放器:

作为视频解决方案架构师, 我最常使用JW球员 6, 但是每种产品都有不同的功能和局限性, 仓促决定使用OTS播放器可能最终会让你付出代价.

本文探讨了为web播放而构建的视频播放器, 不一定是在移动设备上的原生应用中运行的玩家代码库. 托管视频服务(如YouTube、Vimeo和Brightcove)也不包括在本文中.

确定您的需求

当客户邀请我设计一个新项目时, 发现过程对于创建讨论和决策是无价的,这些讨论和决策将定义最佳的观看体验,并确定内容交付的支持元素. 以下四个主要问题将帮助你选择合适的玩家:

  1. 内容:你的视频的本质是什么?
  2. 功能:你的玩家需要做什么?
  3. 管道:如何对视频进行编码和部署?
  4. 商务:你们的预算和时间表是什么?

内容

如果你是这本杂志的订阅者, 很可能你正在处理两种类型的视频内容:视频点播(VOD)和直播. 你可能听说过, HTML5网页浏览器并不能一致地处理用于传送这些类型视频的所有格式和编解码器. 不管你的玩家选择是什么, 你应该以至少两种格式发布内容,以吸引更多设备上的更多观众——选择这两种格式主要取决于你想要触及的重要目标. 图1 - 3 说明可用于在线视频播放的流行编解码器和格式, 以及本文中涉及的玩家提供的支持.

图1. 播放器支持HTTP传输 

图2. 播放器支持HTTP流传输

图3. 播放器支持实时流传输 

绝大多数在线视频都是VOD. 本文中讨论的每个播放器都可以通过HTTP播放作为渐进式下载的VOD内容(内容播放可以在下载了一个小缓冲区后开始), 不需要下载整个视频文件)或作为字节范围请求. 所有当前的HTML5浏览器都可以使用范围请求, 其中浏览器请求视频文件的特定片段, 使玩家能够寻找视频的任何部分,并迅速恢复播放. 基于flash的视频渲染, 然而, 通常只能加载HTTP视频作为渐进式下载, 使即时搜索和更快的启动时间变得困难. 在OTS播放器中为自适应流协议提供其他Flash渲染功能对其成功至关重要.

关于直播内容, 在不使用插件的情况下,直播支持的缺乏给HTML5提供了一个巨大的真空. 事实上, 大多数HTML5桌面浏览器根本无法处理流媒体直播——苹果Safari浏览器(仅Mac版本)是唯一原生支持HTTP流媒体直播(HLS)格式的桌面浏览器, 而安装了必要媒体扩展的新版Google Chrome可以播放MPEG-DASH(或HTTP动态自适应流媒体)格式的视频. 如果您需要向您的观众部署直播流, 那么您的OTS视频播放器的呈现模式应该回到基于插件的播放, 例如由Adobe Flash player驱动的播放器代码库. 在本文后面的部分, 我将讨论OTS玩家如何拥有不同的操作模式, 基于渲染播放器的浏览器.

本文中讨论的所有视频播放器都有一个Flash备份, 但大多数玩家无法在所有设备和台式机上一致地处理直播流. 基于flash的低延迟直播流通常使用RTMP(实时消息传递协议)提供服务。, 但是很多媒体服务器, 如Wowza媒体服务器或Adobe Media Server, 可以提供实时流在Adobe的HTTP动态流(HDS)格式以及HLS. 大多数OTS视频播放器无法播放Adobe HDS视频, 因为Flash Player插件本身不摄取HTTP流媒体内容.

注:外部ActionScript 3.解析HTTP清单和解码HTTP视频片段需要0个库. Adobe的开源媒体框架(OSMF)仍然可以在自定义播放器中实现, 但是许多web开发人员已经偏离了使用OSMF,因为它不再由Adobe积极维护.

在移动设备上, Apple HLS是唯一一直支持直播或视频点播内容的流媒体格式. 《百家乐软件》在iOS上运行良好, 但在严重依赖Adobe Flash Player处理直播流的Android上,HLS播放的实现几乎无法使用.

没有一个OTS播放器有一个优雅的解决方案来处理Android的实时流. 这种情况不是任何玩家代码库都能解决的——这是浏览器供应商需要解决的问题. MPEG-DASH很可能成为未来Android直播的部署选项, 但目前使用的绝大多数安卓设备都不能使用DASH技术.

特性

选择OTS播放器的下一个考虑因素是确保它可以执行视频内容所需的所有功能. 本文介绍的所有玩家都可以执行以下任务:

  • 基本回放,包括播放/暂停,查找,时间显示
  • 海报架
  • 音量控制
  • 正常和全屏显示
  • 通过CSS和自定义图像蒙皮

但是,并非所有的OTS播放器都提供以下功能:

  • 关闭字幕/字幕
  • 多语言音轨选择
  • 播放列表
  • 广告插入
  • 水印/覆盖
  • 响应布局一致的相对球员的大小

当我总结每个OTS球员时,我将指出可用的专业选项.

管道

第三个发现领域是对现有视频部署流程的检查, 具体看一下你是如何编码和传送视频格式的. 在理想的情况下, 您选择的OTS播放器将与您现有的基础设施一起工作, 但在某些情况下,您可能需要修改该基础设施以与OTS播放器一起工作.

例如, 如果你只提供宣传视频内容, 或任何类型的视频内容,可以自由分发(e.g., 产品支持视频, 信息内容), 你用一个高质量的比特率AVC/H编码你所有的内容.264 MP4预设, 并且你将所有内容托管在web服务器或Amazon AWS S3上, 您可能会有各种各样的OTS播放器可供使用. 本文最后讨论的每个玩家都将在此场景中发挥作用.

然而, 如果你正在编码多个比特率,通过HLS和HDS进行自适应流传输, 你正在使用Akamai这样的内容分发网络(CDN), 您可能需要使用高级授权的OTS播放器,如JW player或Flowplayer.

同样的, 如果你正在使用任何专业协议,如RTMP进行直播或视频点播, 您需要确保OTS播放器支持交付机制. 仅仅因为OTS播放器有Flash回退并不意味着它一定可以播放RTMP视频, 或者摄取一个指定RTMP流的自适应流清单. Wowza媒体服务器, 例如, 可以采取多个比特率的给定视频,并使用RTMP提供清单, HLS, HDS, 流畅的流媒体格式. 但是,JW球员只能摄取服务器提供的RTMP和HLS清单.

业务

作为调查OTS玩家的人, 其中一种或两种情况都可能成立:你没有百家乐软件或预算从头开始构建自定义视频播放器, 或者你很好奇,如果你花了太多钱买一个自定义视频播放器,而一个OTS播放器就足够了. 虽然这里介绍的许多OTS播放器都是很少或免费的, 你可能会发现,优质的OTS播放器值得支付一次性许可费或年订阅费.

当你在评估付费玩家和那些不需要授权费的玩家时, 记住价格与成本的对比. 确定, 免费玩家也许能够获得你所需要的90%的功能, 但如果你花了更多时间和金钱让免费玩家获得100%的功能(游戏邦注:甚至低于付费玩家), 结果可能会让你付出更多的代价. 玩家缺少特定的皮肤定制也会损害你的品牌推广.

最后, 考虑一下从现有的视频播放器过渡到新的播放器所需要的时间和百家乐软件. 例如, 如果一个OTS播放器是用类似JavaScript对象表示法(JSON)的数据模式初始化的, 您可能需要对底层内容管理系统进行更改. 如果这样的改变是必要的, 希望你为一个玩家使用的参数可以很容易地映射到另一个玩家的参数.

评估OTS选手

定义了需求之后,您就可以寻找满足您需求的OTS播放器了. 正如我提到的, there is a wide and growing field of player codebases available; this article only covers some of the more popular options. 我对这些球员都进行了测试, 我会推荐它们用于广泛的用例. 我编译了几个例子来说明特色的OTS玩家的用法 videorx.com/players.

一个球员的基本知识

现在, 让我们回顾一下您可以在这里介绍的五个OTS球员中看到的标准螺母和螺栓, 包括格式规范, 呈现模式, 皮肤选项, 云vs。. 自托管代码.

指定的格式

我在评测中所包含的每个OTS播放器都能够接收多个视频编解码器, 包括AVC / H.264和VP8,以及它们各自的视频格式,MP4和WebM. The players can also use standard HTML5

每个OTS播放器的独特之处在于其JavaScript代码如何覆盖这些原生HTML5标签的处理,以便在不同浏览器之间一致可靠地工作, 从手机到桌面. (标准到此为止!)使用这种基于标签的方法通常只适合基本的VOD播放, 在没有使用特殊协议或流的情况下. 为更多的“引擎盖下”控制, 每个OTS播放器都可以通过JavaScript初始化设置和源参数. 这个设置代码是OTS玩家的显著不同之处.

渲染视频

由于HTML5的多样性, non-HTML5, 以及目前使用的插件浏览器, 任何基于浏览器的视频播放器都需要至少两种呈现模式:原生HTML5视频呈现以及flash辅助呈现模式. 一些OTS播放器,如MediaElement.js, 通过微软Silverlight播放器代码库有一个额外的渲染模式来播放Windows Phone上的流媒体格式. 本文中讨论的每个OTS播放器都使用JavaScript来确定使用哪种呈现模式, 根据您指定的格式, 使用哪个浏览器查看视频, 以及安装了哪些插件.

注意:如果浏览器上没有启用JavaScript,标准的OTS播放器配置可能会失败. 您的目标受众不太可能禁用JavaScript. 大多数网站都严重依赖JavaScript来实现正确的交互功能.

给玩家剥皮

定制任何HTML元素的样式和格式的标准方法是CSS(层叠样式表), 并且每个玩家都可以使用CSS样式来控制其外观的大多数方面, 从玩家控制到叠加位置. 如果您喜欢使用JavaScript来控制外观, 每个播放器都有一个API. 您甚至可以隐藏OTS播放器提供的内置OTS播放器控件(通常称为“无铬”模式),并创建自己的自定义控件层.

玩家也可以使用单独的皮肤文件来指定要显示的控件和图形文件(PNG), JPEG, SVG)用于控件和覆盖. 例如,JW球员使用皮肤.XML文件,该文件不仅指定控件的顺序和位置, 但它也将PNG图形表示为base64编码的实体! 换句话说,您甚至不需要引用外部图形文件.

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

如何创建交互式HTML5视频

将基本的HTML5视频播放器转变为具有增强播放功能的播放器非常简单. 下面是添加章节标记、标题等的代码.

提及的公司及供应商