[AS3]在移动设备上为 Flash Player 10.1 进行 H.264 视频编码的
针对移动的 Adobe Flash Player 10.1 可以对桌面上 Flash Player 支持的每个视频编解码器进行解码:Sorenson 视频、On2 VP6 和 H.264,但利用内建的硬件加速只能对 H.264 进行解码。On2 VP6 和 Sorenson 使用一个纯软件途径。
H.264 目前已成为中端和高端移动设备上的实际视频标准,并且大多数设备采用针对 H.264 视频解码加速、基于硬件的解决方案。这可以确保更高的质量和更低的电耗。
配置文件和级别参数
H.264 是一个采用几项复杂编码技术的复杂标准。为了简化对任何设备的标准支持,profile 和 level 参数定义了编解码器使用的编码技术和设置的子集:
- 最常用的配置文件参数为 baseline、main 和 high
- 级别参数从 1.0 到 5.1 不等(Flash Player 支持每个级别和每个配置文件)
虽然只有高端设备能对大多数配置文件和级别加速,每个带有一般硬件加速的设备可以对基线配置文件编码的 H.264 视频进行解码。因此,常见的最佳做法是使用基线配置文件对移动内容进行编码,它实际上原本是针对低电耗和低解码设计的。
安全的分辨率目标
您还必须考虑到一点,硬件解码器无法解码任意分辨率。因此,还必须针对一个安全的分辨率。记住,加速分辨率列表可能因设备而异。使用表 1 中的分辨率,您可以在性能和细节之间找到一个良好的平衡点,并为硬件加速提供出色支持。
4:3 | 16:9 |
---|---|
640x480 | 480x360 |
512x384 | 512x288 |
480x360 | 480x272 |
注意:此表中的每个分辨率都是 16 的倍数,这是实现最大压缩效率的一个重要的最佳做法。
编码限制和 Adobe Media Encoder CS5 设置
移动视频带有一组不可忽视的特定限制。前面我提到要遵循级别、配置文件和分辨率限制,以确保合理的硬件加速。
您还必须针对比特率,可以使用移动连接消耗它。这种情况下,动态流会有所帮助,为当前连接速度提供最合适的比特率,但必须在分辨率和比特率之间找到一个最佳组合,在任何条件下最大化用户体验。
以下是我推荐的 Adobe Media Encoder CS5 设置,它针对支持 Flash Player 10.1 的一般移动设备:
视频设置
- 格式-多路复用:F4V
- 视频-分辨率(因情况不同而异):
- 对于 16:9 内容:512x288
- 对于 4:3 内容:480x360
- 每秒帧数 (fps):与源片段相同
- 配置文件:基线
- 级别:3.0 或 3.1(将使用两到三个参考帧)
- 比特率:VBR,双通道
- 目标比特率:300-550 kbit/sec。取决于视频“复杂度”
- 最大比特率:(1.5 到 1.6) x 目标比特率
- 关键帧(因情况不同而异):
- 对于渐进下载:fps x (3 到 4)
- 对于来自 Flash Media Server 的流(由于增强的搜寻能力):fps x (6 到 8)
音频设置
- 编解码器:AAC,立体声
- 频率:44.1 kHz
音频质量:高 - 比特率:80 kbit/sec。
对于最终编码,启用“使用最高质量”复选框。
http://www.adobe.com/cn/devnet/devices/articles/mobile_video_encoding1.html
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例