-->
获得免费通行证,加入我们的流媒体连接-2月19日至22日; 现在注册!

说到HTML5回放,细节决定成败

文章特色图片

和我们期望的标准一样 HTML5 为了简化我们的工作,他们通常不会这样做. 事实上, 最近一个与html5相关的项目让我确信“多厂商标准”这个词是一个矛盾修饰法. 任何涉及多个供应商的标准都意味着不同的实现, 这对试图使用该标准的人构成了挑战.

故事是这样的. 一位咨询客户的定期项目涉及来自多个不同来源的不同分辨率和格式的视频, 包括AVI, MOV, WMV, 英里/加仑, 和MP4. 每个项目完成后, 客户希望在其内部网上提供视频文件,供任何人下载, 它想让我创建一个可以快速预览的流媒体版本. 简化部署过程, the client didn’t want to create separate pages or embedded windows for the videos; it just wanted one PDF file with links to original downloadable and streamable versions.

似乎是为HTML5量身定制的,对吧? 编码为MP4并创建链接,这些文件应该在所有现代浏览器中播放. 我做了一些初步测试,看起来很有希望, 所以客户端提供了大约15个随机测试文件,我开始编写FFmpeg编码脚本.

我先从视频方面开始, 重点介绍如何创建一个脚本,在最终编码文件中保留不同的源长宽比. 我很快找到了解决办法, 对15个文件进行编码, 把它们上传到一个试验场, 创建了一个带有链接的PDF文件, 然后开始测试. Internet Explorer (IE)是客户端使用的主要浏览器, 我在办公室的两台惠普电脑上进行了测试,一台是笔记本电脑,一台是工作站. All files played except one; it was from a very sketchy screencam-based source. 在笔记本上, 然而, Windows Media Player在一个单独的窗口中播放了所有成功的文件, 在工作站上, 视频播放在一个嵌入式QuickTime窗口. 我试着在Edge中播放这些文件,除了问题文件外,所有文件都在嵌入式HTML5窗口中播放. 我试着在Chrome中打开它们,所有文件都在HTML5窗口中播放,即使是粗略的那个.

在尝试调试问题文件之前, 我让客户在他的电脑上试用, 我很有信心能成功. 在他办公室的每台Windows电脑上,有13个文件失败,两个文件正常运行. 错误信息是这样的, “无法播放/错误C00D11B1,这是一个通用错误,修复的范围从注册表调整到完全重新安装Windows. 肯定不好. 在Firefox中, 哪个是公司的备用浏览器, 10个文件播放,5个文件失败, 显示错误消息, "视频无法播放,因为文件损坏了.“有趣的是, 我可以在我的Windows工作站上重复Firefox的错误, 但这些文件在我的Mac Pro上可以正常播放.

一旦你深入了解HTML5, 你意识到它在许多不同的计算机上意味着许多绝对不标准的东西. 例如, 在IE中, 你可以选择不同的播放器安装在系统上播放MP4文件, 但不是, 据我所知, IE本身. Firefox也是如此,这是有道理的,因为Mozilla从未授权H.264年回放. 所以支持单一HTML5浏览器就意味着支持多个玩家.

长话短说, Firefox的问题是由从Windows Media转换的文件中的96kHz音频引起的, 这显然超过了Firefox在Windows工作站上的播放能力, 但Mac Pro不行. 去图. 正如前面提到的, 我的第一个命令行不包含音频转换, 所以默认情况下,FFmpeg将96kHz的WMA转换为96kHz的AAC. 一个快速的命令行修改修复了这个问题. 我们从来没有在客户端隔离IE的问题——因为客户端正在迁移到Windows 10和Edge, 它决定完全依靠IE支持.

的经验教训? 每个标准听起来都很简单,直到你真正尝试使用它. 细节决定成败. 针对最低标准玩家的HTML5播放编码文件. 永远不要指望供应商提供的错误消息能够真正帮助您隔离真正的问题.

本文原载于2016年7 / 8月刊 流媒体杂志 “细节决定成败.”

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

狂野西部的终结:是时候制定流媒体标准了!

编解码器的混乱已经够了. 除非行业标准到位并由政府强制执行,否则在线视频空间不会真正蓬勃发展.

HTML5时代的DRM:你现在需要做什么

本次会议将讨论EME和HTML5的影响,以及它对服务提供商和应用程序开发人员的意义. 了解强制性基于硬件的DRM保护的影响及其对oem和内容所有者的影响.

CES’16:GIVE项目旨在推动HTML5视频向前发展

一个全明星阵容的视频强国创建了一个工作组来推进HTML5视频, 并在CES会议上宣布了自己的计划.