·您当前的位置:主页 > 技术教程 > Rtmp技术 >

[AS3]FMS与H.264摄像头视频编码

时间:2016-06-14 22:25酷播
[AS3]FMS与H.264摄像头视频编码

FMS这个话题由来已久,H.264这个编码格式也由来已久。FMS不叫FMS了,改叫AMS了。因为是Adobe。
今天就说说flash发布流媒体视频,以H.264编码出现的问题。在网上找,大把的关于as3的H.264视频编码的代码。API就那么几个。可是,当 你真正去做,用到流媒体发布和播放的时候,就会发现结果并不是想象的那么美。也许会遇到以下几个问题。 1.发布端的视频都不清晰。 2.发布端的视频清晰,客户端接受到的视频不清晰。 冥冥H.264视频编码备受推崇,高清的帽子早戴上了。为什么会这样呢。这里就将一点小细节说说吧。 1.不仅H.264那块的设置,你要设置好。Camera那里同样要设置好。如果你仅仅设置了H.264编码这里,却漏掉了设置Camera这块,你就会 遇到上边的问题。 2.如果仅仅设置了Camera的setMode,那么你发布端的视频会是清晰的。如果还设置了setQuality。那么发布端和收看端都会有比较好的 效果。 3.你H.264编码这边将视频分辨率,帧频设置成很高,并且Camera这里也这样设置。那么你的视频效果是杠杠的。不过,这个时候带来的后果就是字节 量变大,占用的带宽很大很大。我将分辨率设置成640*480,帧频设置成30。上行的带宽达到400多K/S。视频获取源如果晃动下,会更厉害。所以, 根据需要,可以适当的降低分辨率和帧频。即使你降低了分辨率,在Vedio那里,也是可以放大的。 那么最后,还是贴出code:

  1. _nsVideo = new NetStream(Controller.instance.fmser.nc); 
  2.             _nsVideo.client = this
  3.             _nsVideo.bufferTime = 0
  4.              
  5.             var h264Settings:H264VideoStreamSettings = new H264VideoStreamSettings(); 
  6.             h264Settings.setProfileLevel(H264Profile.BASELINE , H264Level.LEVEL_5_1); 
  7.             h264Settings.setMode(320,240,15); 
  8.             h264Settings.setQuality(0,80); 
  9.             h264Settings.setKeyFrameInterval(15); 
  10.             _nsVideo.videoStreamSettings = h264Settings
  11.              //cuplayer.com提示:取摄像头
  12.             _cam = Camera.getCamera(); 
  13.             if(_cam) 
  14.             { 
  15.                 _cam.setMode(320,240,15,false); 
  16.                 _cam.setQuality(0,80); 
  17.                 _nsVideo.attachCamera(_cam); 
  18.             } 

[AS3]FMS与H.264摄像头视频编码

热门文章推荐

请稍候...