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 = ; var h264Settings:H264VideoStreamSettings = new H264VideoStreamSettings();
h264Settings.setProfileLevel(H264Profile.BASELINE , H264Level.LEVEL_5_1);
h264Settings.setMode(,,);
h264Settings.setQuality(,);
h264Settings.setKeyFrameInterval();
_nsVideo.videoStreamSettings = h264Settings; _cam = Camera.getCamera();
if(_cam)
{
_cam.setMode(,,,false);
_cam.setQuality(,);
_nsVideo.attachCamera(_cam);
}

FMS发布视频流H.264如何设置的更多相关文章

  1. H.264 码率设置

    一.什么是视频码率 视频码率是视频数据(包含视频色彩量.亮度量.像素量)每秒输出的位数.一般用的单位是kbps. 二.设置视频码率的必要性 在网络视频应用中,视频质量和网络带宽占用是相矛盾的.通常情况 ...

  2. ffmpeg解码RTSP/TCP视频流H.264(QT界面显示视频画面)

    源码下载地址: http://download.csdn.net/detail/liukang325/9489952 我用的ffmpeg版本为 ffmpeg-2.1.8.tar.bz2 版本低了恐怕有 ...

  3. H.264视频的RTP荷载格式

    Status of This Memo This document specifies an Internet standards track protocol for the   Internet ...

  4. H.264, MPEG4之间的关系

    百度百科搜索 H.264 H.264是国际标准化组织(ISO)和国际电信联盟(ITU)共同提出的继MPEG4之后的新一代数字视频压缩格式.H.264是ITU-T以H.26x系列为名称命名的视频编解码技 ...

  5. 最简单的基于librtmp的示例:发布H.264(H.264通过RTMP发布)

    ===================================================== 最简单的基于libRTMP的示例系列文章列表: 最简单的基于librtmp的示例:接收(RT ...

  6. FMS直播流发布时 Microphone Speex 编码设置注意事项

    1.为何要用 Speex?FP的默认音频编码是 NellyMoser,而FP10之后加入了 Speex.实际应用中,用默认的 NellyMoser 编码音频,会有个很大的问题,就是无法控制流码率浮动. ...

  7. 转:MediaCoder H.264格式编码参数设置及详解

    转: http://mediacoder.com.cn/node/81 由于现在大部分视频转码都选择H.264格式进行编码,同时CUDA编码的画质还达不到x264软编码的质量(如果你对画质无要求,可以 ...

  8. C++实现RTMP协议发送H.264编码及AAC编码的音视频

    http://www.cnblogs.com/haibindev/archive/2011/12/29/2305712.html C++实现RTMP协议发送H.264编码及AAC编码的音视频 RTMP ...

  9. C++实现RTMP协议发送H.264编码及AAC编码的音视频(转)

    C++实现RTMP协议发送H.264编码及AAC编码的音视频(转) RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia ...

随机推荐

  1. 杂物 python (一)

    python 是一门语言,有各种不同的实现.CPython 即用c语言实现Python及其解释器.

  2. Oracle 11g新特性 -- 延迟段

    11gR2之前的版本中,当创建一张表时,会自动分配段空间,这样做有几个弊端: 1. 初始创建表时就需要分配空间,自然会占用一些时间,如果初始化多张表,这种影响就被放大. 2. 如果很多表开始的一段时间 ...

  3. QQ的账号登录及api操作

    .qq.php <?php /** * PHP Library for qq.com * * @author */ class qqPHP { function __construct($app ...

  4. MySQL5.7更改密码时出现ERROR 1054 (42S22): Unknown column 'password' in 'field list'

    转自:http://blog.csdn.net/u010603691/article/details/50379282 新安装的MySQL5.7,登录时提示密码错误,安装的时候并没有更改密码,后来通过 ...

  5. linux的<pthread.h>

    转自:http://blog.sina.com.cn/s/blog_66cc44d00100in5b.html Linux系统下的多线程遵循POSIX线程接口,称为pthread.编写Linux下的多 ...

  6. Java Socket编程(转)

    Java Socket编程 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是Socket.服务端和客户端之间通过Socket建立连接,之后它们就可以进行通信了.首 ...

  7. Java eclipse下 Ant build.xml实例详解

    在有eclipse集成环境下ant其实不是很重要,但有些项目需要用到,另外通过eclipse来学习和理解ant是个很好的途径,所以写他demo总结下要点,希望能够帮到大家. 一.本人测试环境eclip ...

  8. 【hibernate 执行方法未插入数据库】hibernate的save方法成功执行,但是未插入到数据库

    今天做项目,碰上这个问题: hibernate的save方法成功执行,但是未插入到数据库. Dao层代码: @Override public void save(T t) { this.getSess ...

  9. loadrunner处理HTTP重定向请求

    //place this in global.h     int HttpRetCode;  int i=0;  char depthVal[10];  char cTransactName[2000 ...

  10. try catch finally的一些用法

    一:例题: package test; import javax.swing.*; class AboutException { public static void main(String[] a) ...