启用FLASHPLAYER11中的H.264编码

来源:互联网 发布:梦里花落知多少豆瓣 编辑:程序博客网 时间:2024/05/18 13:41
要启用FlashPlayer11中的h.264编码需要导入以下几个类: 

import flash.media.H264VideoStreamSettings; 
import flash.media.VideoStreamSettings; 
import flash.media.H264Level; 
import flash.media.VideoCodec; 
import flash.media.H264Profile;  

然后生成一个H264VideoStreamSettings对象并设置相关属性: 

var h264Settings:H264VideoStreamSettings = new H264VideoStreamSettings(); 
h264Settings.setProfileLevel(H264Profile.BASELINE, H264Level.LEVEL_5_1); 
h264Settings.setMode(320,240,15); 
h264Settings.setQuality(0,100); 

最后,将该对象附加在原来要发布的NetStream上就可以了: 

myNS.videoStreamSettings = h264Settings; 
myNS.publish(streamName,"live"); 


FLASHPLAYER11中新的H.264编码器能好到什么程度 

对于广大的FMSer而言,即将到来的Flashplayer11着实令人振奋:Flashplayer11将开始支持h.264编码! 

众所周知,自从Flashplayer6开始支持捕获摄像头开始,近10年的时间,Flashplayer使用的内置视频编码器一直是Sorenson Spark,这种古老的编码器生成的流质量差,占用带宽高,这也是为什么基于Flashplayer的视频语音系统发展迟缓的一个重要原因. 

现在,Adobe终于在Flashplayer11中加入了h.264编码器,配合从Flashplayer10.3开始支持的AEC,基于Flashplayer的视频语音系统的发展必然从此进入一个新时代. 

那么,Flashplayer11中新的h.264编码器能好到什么程度呢?且看洒家的对比. 

下图左边部分是使用Sorenson Spark编码器编码后获取的视频,右边部分是使用h.264编码器编码后获取的视频,捕获尺寸均为240*180,质量均为80. 

放大视频后对比,很明显使用h.264编码器编码的视频要比使用Sorenson Spark编码器编码的视频质量好,如果尺寸能上到320*240,效果应该会更明显,很悲剧,在Flashplayer11下我的卡子竟然上不到320*240,这应该是Flashplayer11的一个bug,以前的版本都可以 



质量上去了,占用的带宽会不会也随之高了呢?下图中的上边部分是播放Sorenson Spark编码器编码视频时占用的带宽,下边部分是播放h.264编码器编码视频时占用的带宽,由图可以看出,h.264编码器编码视频时占用的带宽要比Sorenson Spark编码器编码视频时占用的带宽大约节省50%! 
原创粉丝点击