-->

如何为HLS传输编码视频

文章特色图片

HTTP直播(HLS) 是苹果为向iOS设备和兼容浏览器提供自适应比特率流而创建的简单而优雅的架构吗, 本质上旅行. 自发行以来, HLS已经被整合到一些技术中,使桌面电脑能够在安装了Flash (JW Player)或HTML5浏览器(OpenTelly的THEOplayer)的情况下播放HLS流。. HLS也被b谷歌的Android平台所采用,并被Roku等大多数(如果不是全部)OTT平台所采用. 虽然动态自适应流媒体通过HTTP (DASH)得到了所有的新闻, HLS吸引了所有的眼球, 它是自适应流媒体领域中最接近“一刀切”的技术.

如果你向苹果应用商店提交的应用包含了通过蜂窝网络播放视频的功能, 如果视频时长超过10分钟或5分钟内超过5MB的数据,则必须使用HTTP 在线直播, 或者大约是一个数据速率为133Mbps的流. 在这些情况下, 您还必须合并至少一个音频流在64Kbps或更低的带宽, 不管有没有静态图像.

因为这些原因, 了解如何为HLS制作是大多数百家乐软件app最新版下载的关键技能. 在描述了HLS的工作原理之后, 我将介绍HLS生产的四个阶段:配置变体, 对变体进行编码, 创建分段数据和元数据文件, 并验证流.

更多关于HLS的资料

虽然HLS的名字暗示着它只是直播,但它也可以分发点播视频. 超越简单回放, 该架构包括aes -128位加密等功能, CEA-608隐藏式字幕, 还有定时元数据功能,比如在播放流媒体时自动打开网页.

图1. HLS的工作原理.

HLS编码和回放模式显示在 图1. 像所有基于http的自适应流媒体技术一样, HLS将原始视频以不同的分辨率和比特率编码成多种变体. 然后将每个变体分成多个片段.

在索引文件中定义每个段的位置 .M3U8扩展,您可以在每个变体的右侧看到它. 一个主 .M3U8文件, 在图的最右边, 描述数据速率。, 分辨率和每个变体的其他特征, 以及该变量的索引文件的位置(图2). 所有这些都被上传到一个标准的HTTP web服务器上.

图2. 主 .M3u8文件,其中包含带宽、分辨率和配置文件相关信息.

要触发回放,您需要创建到主索引文件的链接. 在播放过程中,hls兼容设备检查母版 .M3U8文件,并从该文件(红色箭头)中列出的第一个变体中检索第一个段(段1). 然后监控带宽状况. 如果带宽充足,设备将检查主设备 .M3U8文件,找到高质量流的位置,检查该流的 .M3U8文件的下一个段(段2)的位置,并检索和播放该段. 如果带宽状态不佳, 该设备将执行相同的基本程序, 但是从较低质量的流中找到并检索下一个片段. 在回放期间, 设备持续监控带宽情况, 根据需要更改流以继续播放最高质量的流.

为HLS生产时的第一项工作是选择变体的数量及其配置. 我们从这里开始.

配置变体

任何为HLS制作的人都应该先看看 Apple技术说明TN2224,其中的一个样本显示在 表1. 重要的不是推荐的精确配置, 但你正在为三种不同的场景产生的认识:蜂窝连接的低比特率, 旧设备上的蜂窝和Wi-Fi连接的中等比特率, 非常高的比特率,可以在较新的高端设备上提供出色的质量. 在为移动设备创建单一流集时,这种分割尤其重要, 电脑和OTT播放, 例如,当您可能使用JW播放器将HLS流传输到启用Flash的桌面时.

表1. Apple对TN2224变体的建议.

在配置流时,应该单独考虑每个段. 对于蜂窝网络,要问这样的问题:“我们想要分发的最低速度/质量配置是什么??“除了音频文件, TN2224推荐416x234流,200Kbps视频/ 64kbps音频, 但许多生产商提供的流的质量较低, 比如100Kbps的视频/64Kbps的音频,对于那些在很慢的蜂窝网络上观看的人来说.

然后考虑中间层. 用于iphone上的全屏播放, 640x360是一个合理的配置, 但ipad(和台式机)会在你网站上的播放窗口播放视频. 因为它是最有效的编码和播放方式,以与显示窗口相同的大小编码/播放视频, 您还应该为网站上的每个视频播放窗口至少提供一个变体.

960和更高分辨率的屏幕都用于全屏或OTT播放. 这里的问题是“我们能负担多少??换句话说, 在盈利计划的财政限制范围内发送最高质量的流.

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

如何编码和交付多种ABR格式

使用单个自适应组, 针对不同的目标进行不同的包装, 为了降低编码和存储成本.

闪电侠之后的生活:制片人会转向HLS、DASH还是两者兼而有之?

虽然很明显,Flash的时代即将结束,但不太清楚什么会取代它. 一项调查显示DASH得到了支持,但它在现实生活中的使用率约为1%.

提及的公司及供应商