[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:
- _nsVideo = new NetStream(Controller.instance.fmser.nc);
- _nsVideo.client = this;
- _nsVideo.bufferTime = 0;
- var h264Settings:H264VideoStreamSettings = new H264VideoStreamSettings();
- h264Settings.setProfileLevel(H264Profile.BASELINE , H264Level.LEVEL_5_1);
- h264Settings.setMode(320,240,15);
- h264Settings.setQuality(0,80);
- h264Settings.setKeyFrameInterval(15);
- _nsVideo.videoStreamSettings = h264Settings;
- //cuplayer.com提示:取摄像头
- _cam = Camera.getCamera();
- if(_cam)
- {
- _cam.setMode(320,240,15,false);
- _cam.setQuality(0,80);
- _nsVideo.attachCamera(_cam);
- }
[AS3]FMS与H.264摄像头视频编码
热门文章推荐
- [FMS]Adobe FMS产品(Adobe Flash Media Server)使用介绍(组图)
- [FMS]Flash Media Server之教程附示例代码
- [RTMP]国产RTMP/HLS直播服务器simple-rtmp-server
- [WOWZA]用wowza流媒体服务器发布和播放直播流(RTMP)
- [RTMP]又一款rtmp类的服务器openrtmfp流媒体服务器
- [RTMP]adobe之FMS视频直播解决方案流程介绍(组图)
- [RTMP协议]实时消息传输协议 (RTMP) 常识性介绍
- [FMS]Adobe的Flash Media Server服务器(FMS服务器)安装