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

时间: 2024-07-30 13:51:54

Flex中设置Camera的视频清晰质量的最佳配合的相关文章

3D图片采集与展示(SurfaceView 自适应 Camera, 录制视频, 抽取帧)

      最近在做一个3D图片采集与展示. 主要功能为:自定义Camera(google 已经摈弃了Camera, 推荐使用Camera2,后续篇幅,我将会用Camera2取代Camera),围绕一个物体360度录制一个视频,然后在该视频抽取一定数量的帧,保存为图片存放.最后在一个Activity页面展示第一张图片,通过滑动或点击切换下一张图片,从而形成用图片展示的3D效果.该项目主要的目的是采集3D图片素材,然后上传到服务器处理,最终在用户客户端或网页端展示是通过OpenGL ES处理而来.

视频主观质量评价工具:MSU Perceptual Video Quality tool

MSU Perceptual Video Quality tool是莫斯科国立大学(Moscow State University)的Graphics and Media Lab制作的一款视频主观评价工具,使用起来比较方便.最近这段时间赶上毕设需要大量的主观评价试验,使用了一阵子这个软件,感觉还是挺方便的,记录一下它的使用方法. 软件地址:http://www.compression.ru/video/quality_measure/perceptual_video_quality_tool_e

Flex中NetConnection与NetStream的关系、及浏览器并发连接数测试[转]

最近在做一个基于BS结构的视频会议系统,决定采用开源的FluorineFx.net与Flex结合的方法进行开发,前期开发都非常顺利,包括同步白板等.但到了实时视频传输的时候,原本设计是每个客户端可以显示三路视频,但到IIS上测试的时候,发现状态很不稳定,偶尔可以全部显示出来,大部分情况下,客户端总是随机显示一个或两个.查询了ActionScript的技术文档.FluorineFx的技术文档等,也没有找出与这个问题相关的描述,包括网络上,对NetConnection与NetStream的对应关系也

Java Web 中使用ffmpeg实现视频转码、视频截图

转载自:[http://www.cnblogs.com/dennisit/archive/2013/02/16/2913287.html] 视频网站中提供的在线视频播放功能,播放的都是FLV格式的文件,它是Flash动画文件,可通过Flash制作的播放器来播放该文件.项目中用制作的player.swf播放器. 多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能.视频格式转换.视频抓图.给视频加水印等. ffmpeg视频采集功能非常强大,不仅可以采集视频采集卡或USB摄像头的图像,还可

关于浮动的设置 清除 音频 视频选择器

设置一个网页首先我们要知道他的布局,一个网页就是一个大的div,分为很多小的部分,所有的元素如果不设置浮动的话他是垂直的,如果加上浮动(float)呈水平,如果设置浮动的话我们还要写一个元素清除浮动clear:both,如果不设置的话,会与下面的内容进行重叠!浮动可以在html中设置,但是不建议,建议在CSS中进行清除浮动的设置: 1display:规定元素应该生成的框的类型 display:block;块级元素显示 display:inline;内联元素显示 display:inline-bl

在Windows Server 2008 R2 Server中,上传视频遇到的问题(二)

上一篇  在Windows Server 2008 R2 Server中,上传视频遇到的问题(一)中遇到上传40M视频报404,然后修改配置文件节点: <httpRuntime targetFramework="4.5.2" maxRequestLength="1073741824" executionTimeout="3600"/> 和 <security> <requestFiltering> <!-

embed标签的使用(在网页中播放各种音频视频的插件的使用)

embed标签的使用(在网页中播放各种音频视频的插件的使用) 链接地址:http://blog.csdn.net/TomyGuan/archive/2006/11/10/1377807.aspx 播放器插件使用说明: 代码:< EMBED src="music.mid"autostart="true"loop="2"width="80"height="30"> src:音乐文件的路径及文件名:(

Flex中的折线图

1.问题背景 在Flex中,制作一个折线图,并且给折线图的横轴和纵轴进行样式设置,具体实现步骤如下: 2.实现实例 (1)设置横轴样式和数据绑定 <mx:horizontalAxis> <mx:CategoryAxis categoryField="quarter" displayName="季度"/> </mx:horizontalAxis> <mx:horizontalAxisRenderers> <mx:A

Flex中利用事件机制进行主程序与子窗体间参数传递

在开发具有子窗体,或者itemrenderer的应用时,常常涉及到子窗体向父窗体传递参数或者从itemrenderer内的控件向外部的主程序传递参数的需求.这些都可以通过事件机制这一统一方法加以解决.在我的应用中有两个需求: 1.左侧的List控件的itemrenderer中包含CheckBox控件,当其状态改变时需要同时改变主程序中的一个数组变量的内容:2.左下方的"新增届次"按钮会弹出一个窗口,窗口中输入届次信息后需要修改数据库中的表,同时表的更改结果要能够在List控件中体现出来