15

HLS 是 Google TV 3.2 的一项功能,对我的内容进行编码以在 Google TV 上观看的最佳方式是什么?

4

1 回答 1

26

如何为 Google TV 实施 HLS

Http Live Streaming又名HLS是 Google TV 支持的流媒体多媒体内容(音频和视频)的标准。

HLS 附带了许多很酷的功能。主要有:

  1. 自适应流 - 自动适应拥塞或带宽可用性。
  2. 对瞬态网络故障的恢复能力。
  3. 您的服务器、路由器或防火墙没有特殊配置。这只是 HTTP 1.1
  4. 内容交付网络轻松支持
  5. 支持实时流式传输(更多内容见较长文章)
  6. Chrome for Google TV 中的 HTML5 视频标签支持。
  7. 可选的 AES 加密(更多内容在更长的文章中)。

在 Google TV 上,HLS 是一个标准协议,您只需将您的 url 放入任何媒体播放 API,例如 MediaPlayer、VideoView 等。它就可以工作。

HLS 文件的组成部分

.m3u8 - 基于文本的清单或播放列表文件(可能会针对实时内容进行更新) - 变体播放列表通常指向也以 .m3u8 结尾的单个清单 MIME 类型:vnd.apple.mpegURL 或 application/x-mpegURL

.ts - MPEG 2 传输流 - 通常为 5-10 秒长的视频和音频数据。MIME 类型:视频/MP2T

为 HLS 创建内容

创建 HLS 内容的最简单方法是使用Apple 的工具、最新版本的 Sorenson Squeeze、Telestream 的 Episode 和许多云编码提供商。您从以多种比特率编码的内容开始。对于 Google TV,.m3u8 文件中的第一行是我们开始的速度。最好选择 1.2mbps 流。

自 Google TV 固件版本 3.2 起,Google TV 支持 HLS 协议版本 3。

您的内容 URL 必须在 URL 中包含字符“.m3u8”。如果 URL 不以“.m3u8”结尾,系统将在播放前至少发出 2 次请求,并且播放列表的 MIME 类型必须是“application/vnd.apple.mpegurl”或“application/x-mpegurl”之一”。

注意 - Google TV 目前不支持编解码器切换 - 因此广告片段必须使用与主要内容相同的编码。当然,开发者可以暂停 HLS 播放,播放一些其他内容,然后再次恢复 HLS 播放来解决这个问题。

编码

编码内容既是一门艺术,也是一门科学。最佳选择在很大程度上取决于您的内容、对象在背景中移动的速度,以及许多其他项目太多,无法放入简单的帖子中。它还取决于您定位的设备。以下设置旨在针对 Google TV 进行优化。 较旧的设备可能需要不同/额外的编码。请注意,出于商业目的的某些类型的编码可能需要许可和/或支付版税。

音频编码应该在所有流中保持一致。HE-AACv1、HE-AACv2、高达 48kHz 的 AAC-LC、立体声音频都是可以接受的选择。

16:9 Aspect Ratio**
             Total  Video
Dimensions Bitrate Bitrate Encoding
640x360        640     600 HiP, 4.1
640x360       1240    1200 HiP, 4.1
960x540       1840    1800 HiP, 4.1
1280x720      2540    2500 HiP, 4.1
1280x720      4540    4500 HiP, 4.1
1920x1080     6040    6000 HiP, 4.1
1920x1080     8196    8156 HiP, 4.1


4:3 Aspect Ratio
             Total  Video
Dimensions Bitrate Bitrate Encoding
640x480        640     600 HiP, 4.1
640x480       1240    1200 HiP, 4.1
960x720       1840    1800 HiP, 4.1
1280x960      2540    2500 HiP, 4.1
1280x960      4540    4500 HiP, 4.1

关键帧

当前的 Google TV 实施仅在每个片段的开头使用关键帧(对于 30fps 的 10 秒片段,这将是每 300 帧)。Apple 的建议是每 90 帧有一个关键帧。(或以 30fps 的速度每 3 秒) 注意 -帧率是一个复杂的主题。

** 改编自https://developer.apple.com/documentation/http_live_streaming/hls_authoring_specification_for_apple_devices

于 2012-04-19T14:58:31.553 回答