【发布时间】:2012-05-01 02:37:15
【问题描述】:
HLS 是 Google TV 3.2 的一项功能,对我的内容进行编码以在 Google TV 上观看的最佳方式是什么?
【问题讨论】:
标签: http-live-streaming google-tv
HLS 是 Google TV 3.2 的一项功能,对我的内容进行编码以在 Google TV 上观看的最佳方式是什么?
【问题讨论】:
标签: http-live-streaming google-tv
Http Live Streaming aka HLS 是 Google TV 支持的流式多媒体内容(音频和视频)标准。
HLS 附带了许多很酷的功能。主要有:
在 Google TV 上,HLS 是一种标准协议,您只需将您的网址放入任何媒体播放 API,例如 MediaPlayer、VideoView 等。它就可以工作。
.m3u8 - 基于文本的清单或播放列表文件(可能会针对实时内容进行更新) - 变体播放列表通常指向也以 .m3u8 结尾的单个清单 MIME 类型:vnd.apple.mpegURL 或 application/x-mpegURL
.ts - MPEG 2 传输流 - 通常为 5-10 秒长的视频和音频数据。 MIME 类型:视频/MP2T
创建 HLS 内容的最简单方法是使用 Apple’s tools、最新版本的 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 播放来解决这个问题。
编码内容既是一门艺术,也是一门科学。最佳选择在很大程度上取决于您的内容、对象在背景中移动的速度以及许多其他项目太多而无法进入simple post。它还取决于您定位的设备。以下设置旨在针对 Google TV 进行优化。 Older devices 可能需要不同/额外的编码。请注意,出于商业目的的某些类型的编码可能需要许可和/或支付版税。
音频编码应该在所有流中保持一致。 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 秒)注意 - Framerate 是一个复杂的主题。
【讨论】: