找回密码
 立即注册
LiveVideoStack 首页 资讯 查看内容
  • QQ空间
  • 回复
  • 收藏

HEVC支持苹果HLS的几个关键问题(上)

2018-2-2 21:53

尽管HEVC面临了一些棘手的状况,AV1和国产AVS2连续发起攻势,苹果加入AV1背后的AOM联盟AVS2发布了开源版xAVS2......但在苹果的封闭系统内,HEVC+HLS仍然是当下最佳的音视频方案。Jan Ozer撰文对HEVC在苹果设备上支持实现进行了解读,LiveVideoStack对本文进行了摘译,点击『阅读原文』访问英文原文。


文 / Jan Ozer

译 / Ant,鸿蒙


2017年的苹果WWDC大会上,苹果宣布HEVC支持HLS,涉及了iOS、MacOS和tvOS等系统终端。但任何升级改进都是一个过程,这里整理了开发者最关心的问题。


1.哪些设备支持HEVC播放?


所有预装或升级到iOS 11的苹果终端。


2.HEVC回放耗电吗?


在之前的文章中,我们测试发现,除了一些最老的设备存在明显的耗电问题,大部分最新的产品使用HEVC回放几乎不会对电池造成影响。


3.HEVC对我有什么好处?


节省带宽:一般而言,在1080P分辨率下,HEVC相比于H.264有近50%的带宽节省,很多OTT运营商的数据也证明了这一点。你可以通过查看服务器日志文件,来了解细节。


画质体验(Quality of Experience,QoE)提升:通过下表1可以看到,基于VMAF评测指标对比,VMAF得分相差无几的情况下,HEVC的码率比H.264减少50%左右。


表1:HEVC与H.264 QoE对比


VMAF得分由6个或更多的易观察的画质差异方面(JND)组成,JND代表这75%的观众能够察觉到差异。


高动态范围(HDR):HDR能带来更接近真实世界的观看体验,HEVC支持HDR,但这还需要显示设备的支持。


4.HEVC的成本有哪些?


编码和存储成本:很显然,您必须将视频编码为HEVC格式。如果您自己进行编码,则必须计算购买和维护额外编码平台的成本(如果需要)。如果您在云端进行编码,则成本将因编码梯度数量以及分辨率和数据速率而异。在大批量的情况下,每级梯度的编码成本应该能够控制在20美元/小时以下。但您可能还会因为其他目的使用H.264格式进行编码,所以一般成本会高于上面测算的。在服务器上的存储成本也可作如上的分析。


PPV和订阅服务的使用费:如果您正在分发订阅内容或PPV视频,您可能已经在MPEG LA H.264专利池中为H.264使用付了费。HEVC有三个专利池,分别是MPEG LA、HEVC Advance和Velos Media。 详情可见图1,这是Divideon公司的Jonatan Samuelsson2017年11月在Streaming Tech Sweden演示中的图片。


图1:HEVC IP 所有者和专利池


在这三个专利池中,MPEG LA的许可条款不包括内容使用费,HEVC Advance在2018-2019年对每个用户的收费是每月0.015美元。 Velos Media尚未公布任何建议版税条款,但截至2017年11月28日,该网站的Q&A显示:“由于涉及媒体内容,我们将花时间充分了解整个生态系统的动态构成,以确保我们的模型最好地支持HEVC技术的升级和采用。“因此,涉及内容的使用费问题可能也在考虑之中了。


对于左下角那些尚未加入专利池的公司,我们不好说他们是否计划收取与内容相关的使用费。可以说,流媒体制作商还没有跳上HEVC / HLS这趟列车的其中一个可能的原因,就是与内容相关的使用费收取问题还存在很多不确定性。


播放器开发成本:如果只是在iOS和MacOS的浏览器中回放,开发成本可以降到最低。但如果开发原生的App,那么成本会增加。


5.我应该了解哪些关键文档?


你应该了解以下两个来源的文档:


  • HLS Authoring Specification for Apple Devices(https://developer.apple.com/library/content/documentation/General/Reference/HLSAuthoringSpec/index.html#//apple_ref/doc/uid/TP40016596-CH4-SW1)。这里有最全的HEVC的使用说明。

  • Go2SM(go2sm.com/hlsexamples),这里也是苹果官方提供的HLS的demo,比官方文档有更多细节。


6.我知道如何用H.264编码,如果用HEVC还需要知道哪些?


如果您了解H.264编码,那么您在使用HEVC时就比较得心应手了。 HEVC与之前的H.264和MPEG-2非常类似,大部分关于数据速率、关键帧间隔、比特率控制和其他常见配置选项都非常相似。与H.264一样,HEVC具有不同的配置文件,其中Main和Main 10两个是用于配置HLS的。顾名思义,Main10以8位或10位比特深度编码,而Main仅为8位。 这两种HLS都可以处理,但是要注意您生成的HDR输出主要是Main 10格式的。请注意,如果您在HLS编码方面是新手,那么您可以好好学习编写规范中关于直播和VOD流比特率控制的详细规则。


大多数编码器在复杂性和质量之间会有一些折衷。例如,x265编解码器使用与x264相同的预置(ultra fast到placebo),而MainConcept使用从1到30的多个层次。一旦你熟悉了编解码器/编码器的这些控制,就可以让其达到比较理想的状态。


7.HEVC的使用环境要求


这些要求大致分为三大类:


HEVC编码文件:HLS编写规范规定:“HEVC的Profile,Level和Tier必须小于或等于Main10的Profile,Level 5.0,High Tier。”表2显示了the Wikipedia HEVC页面 的级别和层级限制。 值得一提的是,虽然您可以以高达每秒128帧的帧速率对1080p视频进行编码,但4K分辨率却限制在30 fps或更低。 请注意,HLS编写规范禁止所有编解码器的帧频超过60 fps。


表2:HEVC编码的级别和层级限制


编写规范中另一个值得注意的要求是“HEVC视频的容器格式必须是fMP4”,或者是分段的MP4文件,这意味着MPEG-2传输流不再使用了。这应该能够简化将未加密的HEVC编码视频传递到DASH和HLS客户端,因为两者都能够部署相同的比特流。从短期来看,PlayReady和FairPlay加密方案之间的差异可能会妨碍加密的fMP4内容与DASH和HLS端点的互操作性,尽管微软已经承诺在2018年PlayStation 4.0发布时解决这个硬件设备兼容性的问题。


HLS编写规范包含两个比特率梯度,一个用于视频文件,另一个用于拖放和扫描的特技播放(trick play)文件。视频比特率梯度如图4所示。请注意,建议的比特率梯度表明2K和4K分辨率视频的帧速率与源视频相同,也与所有其他即使低至540p分辨率的视频的帧速率相同。


但是,如果您使用的是60 fps 4K的视频源,则前面提到的Level 5规则会将其限制在30 fps,如表2所示。不幸的是,苹果公司没有发布任何带有2K / 4K视频的HLS示例,这些示例可能会解决这种表面上的不一致性。在真正得到解决之前,我推荐使用保守路线,将2K和4K HEVC视频限制在30 fps。


H.264编码文件:如上所述,编写规范要求一些视频应该用H.264编码,但没提供进一步的指导。所以我们看了一下苹果公司开发者网站上的混合HEVC / H.264梯度,看到苹果公司为HEVC和HLS提供了完全独立的编码梯度(每个梯度都有9个梯级,正如表3所规定的那样),两种格式中支持的最高分辨率都是1080p。通过查看主M3U8 manifest清单文件,我们发现,播放器首先选择编解码器,然后选择适当的梯级(请注意Apple播放列表对梯级(rungs)的称呼是“齿轮”(gear))。



HEVC支持苹果HLS的几个关键问题(下)

来自: LiveVideoStack
文章点评