Flex中设置Camera的视频清晰质量的最佳配合
今天需要设置Flex中的Camera组件的一些属性,后来发现清晰度不是很高,于是捣鼓了上午半天,设置了很多的参数,竟然发现手册上就是有现成的一些设置方法,郁闷!不过我还是专门设置了几个有用和必要的属性,为自己的程序中应用,其实很简单!
以此为例:
Camera.setMode(320,240,15);
就是要设置一个宽320、高240、播放速率是15fps,他的带宽消耗:
(320*240*15)/1000000 = 1.2(Mbps) = 1152000(Bps)//1000000是1024*1024的取舍写法也即:1000*1000而获得的;
关于所消耗的带宽,换成我们能看懂的带宽计算就是:
320*240*15/8000 = 144K/s (也即每秒144K)//由此可见,画面的尺寸和播放率的播放效果是跟带宽有一定的关系的~
接下来可以这样设置视频的质量:
由于在设置的时候function setQuality(bandwidth:int, quality:int)使用的单位是不一样的,bandwidth使用的是kbps,而不是Bps,要转换(8 bits =1 byte ),所以要转换一下1152000/8 = 144000 (kbps) ,
接下来要设置播放的质量时候必须这样设置
Camera.setQuality(144000,85);// (85为常规的视频质量,最好就采用这个数值)
接下来就是设置传输的视频关键帧了,可以根据实际的带宽情况来设置,记住:关键帧数值越小带宽使用率越大,反之关键帧数值越大带宽使用率越小。值 例如:1 表示每一帧都是关键帧,那么就是每帧都要传输出去,就会加大带宽的使用了,依此类推。可接受值为 1 至 48。对于画面质量要求不高的话,可以设置到48;对于质量要求很高的话,最好设置到5-10左右;
Camera.setKeyFrameInterval(48);
对于摄像头来说,最佳的成像比例是4:3,所以最好是将所成像的比例按照这个最小比例设置!
下面是网络摄像头和数字视频摄像头内置的典型设置:
160 x 120
176 x 144
320 x 240
360 x 240
352 x 288
640 x 480
本地视频捕捉分辨率一般都设置为4:3(宽和高)的比例。虽然没有操作比例的必要,当你入门它不是一个坏的想法。用4:3的比例,您能够优化你的摄像头看到的东西。
一些Flex的Camera的常规设定:
打开摄像头:
Camera camera = Camera.getCamera();
//将摄像头的捕获模式设置为最符合指定要求的本机模式.
camera.setMode(240,180,15);
//指定进行完整传输而不由视频压缩算法进行插值处理的视频帧(称为关键帧)。camera.setKeyFrameInterval(60);
//设置每秒的最大带宽或当前输出视频输入信号所需的画面质量
camera.setQuality(144,85 );
Video video = new Video(camera.width*2, camera.height*2);
//正在捕获视频数据的 Camera 对象
video.attachCamera(camera);
关闭摄像头:
//如果 getCamera()
返回 null
,则表明摄像头正由另一个应用程序使用,或者系统上没有安装摄像头。
camera = Camera.getCamera(null);
camera = null;
//正在捕获视频数据的 Camera 对象。 若要切断与该 Video 对象的连接,请传递 null
video.attachCamera(null);
来自:http://www.360doc.com/content/13/0306/23/8006573_269764953.shtml
Flex中设置Camera的视频清晰质量的最佳配合的更多相关文章
- Flex中如何通过设置GridLines对象的horizontalAlternateFill样式交错显示LineSeries图表背景颜色的例子
原文 http://blog.minidx.com/2008/11/27/1652.html 接下来的例子演示了Flex中如何通过设置GridLines对象的horizontalAlternateFi ...
- Flex中如何利用FocusManager类的setFocus函数设置TextInput的焦点的例子
参考:https://blog.csdn.net/liruizhuang/article/details/5876455 <?xml version="1.0" encodi ...
- Android使用MediaRecorder和Camera实现视频录制及播放功能整理
转载请注明出处:http://blog.csdn.net/woshizisezise/article/details/51878566 这两天产品经理向我丢来一个新需求,需要在项目里添加一个视频录制的 ...
- 3D图片采集与展示(SurfaceView 自适应 Camera, 录制视频, 抽取帧)
最近在做一个3D图片采集与展示. 主要功能为:自定义Camera(google 已经摈弃了Camera, 推荐使用Camera2,后续篇幅,我将会用Camera2取代Camera),围绕一个物体360 ...
- Flex中NetConnection与NetStream的关系、及浏览器并发连接数测试[转]
最近在做一个基于BS结构的视频会议系统,决定采用开源的FluorineFx.net与Flex结合的方法进行开发,前期开发都非常顺利,包括同步白板等.但到了实时视频传输的时候,原本设计是每个客户端可以显 ...
- 视频主观质量评价工具:MSU Perceptual Video Quality tool
MSU Perceptual Video Quality tool是莫斯科国立大学(Moscow State University)的Graphics and Media Lab制作的一款视频主观评价 ...
- Java Web 中使用ffmpeg实现视频转码、视频截图
Java Web 中使用ffmpeg实现视频转码.视频截图 转载自:[ http://www.cnblogs.com/dennisit/archive/2013/02/16/2913287.html ...
- 通过优化在UE4中实现良好性能和高质量视觉效果
转自:http://gad.qq.com/program/translateview/7160166 译者:赵菁菁(轩语轩缘) 审校:李笑达(DDBC4747) 对于任何追求UE4性能最佳.同时又想 ...
- 错误:Camera录制视频(6.0错误),5.1正常,7.1正常 (java.lang.RuntimeException: start failed.at android.media.MediaRecorder.native_start(Native Method))
Process: com.example.mycamera2, PID: 24086 java.lang.RuntimeException: start failed. at android.medi ...
随机推荐
- application loader上传报90158错误
ERROR ITMS-90158:"The following URL schemes found in your app are not in the current format:[XX ...
- ubuntu频繁掉线 转
好长好长时间没来百度空间了,最近闲来无事,正好弥补之前的空缺了!跟Ubuntu打交道已有很长一段时间了,期间遇到了很多问题,我把遇到的一些问题及找到的解决方案记录下来,我想这可能会对那些跟我有同样境遇 ...
- 关于jquery中的事件绑定bind()和live()
live可以说是bind是方法的变种. 二者的主要区别就是live方法的作用机理是事件委托,live方法的作用机理是将事件绑定DOM的根节点上. live方法的处理机制就是把事件绑定在DOM树的根节点 ...
- cassandra CQL 3.0 怎样实现 dynamic column;
1. cassandra有一个好的特点是列之间可以按照column key进行排序:这样当rowkey确定以后,对于同一个“行”的范围(range query)查找是很方便的:官方说法,每一个“行”( ...
- 在Hibernate中配置Hilo进行数据绑定测试时出错:org.hibernate.MappingException: Could not instantiate id generator
在进行学习具体类单表继承时使用hilo类型时总是在调度过程中提示如下信息,无法通过.留下记录备查. 在网上找相关信息, 未解决,详细如下: org.hibernate.MappingException ...
- HDU 5950 矩阵快速幂
Recursive sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- 判断JS是否加载完成
在正常的加载过程中,js的加载都是同步的,也就是在加载过程中,浏览器会阻塞接下来的内容的加载.这时候我们就要用到动态加载,动态加载是异步的,如果我们在后边要用到这个动态加载的js文件里的东西,就要保证 ...
- JSONObject转换JSON--将Date转换为指定格式
项目中,经常会用JSONObject插件将JavaBean或List<JavaBean>转换为JSON格式的字符串,而JavaBean的属性有时候会有java.util.Date这个类型的 ...
- popToViewController和dismissviewcontroller的用法
如果我们有ABC三个controller 1.使用present从A到B.再present到C.如果我们想从C直接回到A的话.直接使用 self dismissViewControllerAnima ...
- Mysql分区简述
1. 数据量大的时候 mysql分表非常常用,但是mysql还可以分区. 2. 分区就是把同一张表放在不同的磁盘文件上, 当查询的时候首先定位是哪个分区(查询的时候一定要用到分区的key) 3. 分区 ...