我应该如何使用HLS对Google TV的内容进行编码?

Les*_*Rel 15 http-live-streaming google-tv

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

Les*_*Rel 26

如何为Google TV实施HLS

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

HLS附带了许多很酷的功能.主要是:1)自适应流 - 自动适应拥塞或带宽可用性.2)对瞬态网络故障的恢复能力.3)您的服务器,路由器或防火墙没有特殊配置.这只是HTTP 1.1 4)内容交付网络轻松支持5)支持实时流媒体(更长篇文章)6)Chrome TV for Google TV支持HTML5视频标签.7)可选的AES加密(更长篇文章中的更多内容).

在Google TV上,HLS是一种标准协议,您只需将您的网址放在任何Media Playback API中,例如MediaPlayer,VideoView等.它只是有效.

HLS文件的组件

.m3u8 - 基于文本的清单或播放列表文件(可用于实时内容更新) - 一个变体播放列表通常指向个别清单也结束.m3u8 MIME类型:vnd.apple.mpegURL或应用程序/ x-mpegURL

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

为HLS创建内容

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

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

您的内容网址必须在网址中包含字符".m3u8".如果URL不是以".m3u8"结束时,系统将使得重放之前至少2个请求和MIME类型的播放列表的必须是"应用程序/ vnd.apple.mpegurl"或"应用程序/ 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
Run Code Online (Sandbox Code Playgroud)

关键帧

目前的Google TV实施仅在每个片段的开头使用关键帧(对于30秒的10秒片段,这将是每300帧).Apple的建议是每90帧拥有一个Keyframe.(或每30秒30秒一次)注 - 帧率是一个复杂的主题.

**改编自https://developer.apple.com/library/ios/#technotes/tn2224/_index.html