android camera使用ISO值录制视频

android camera使用ISO值录制视频

我的应用是使用自定义camera对着一个led灯箱录制视频,该led灯的频率是1000HZ,同时我使用高ISO值录像,最终想要的效果如下图,屏幕中会出现明显黑色条纹

要达到这样的效果,要对camera的参数进行以下设置:【代码1】

p.setSceneMode(Camera.Parameters.SCENE_MODE_AUTO);
p.setAntibanding(Camera.Parameters.ANTIBANDING_AUTO);
p.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
p.set("camera-mode", 1);
p.set("qc-camera-features", 1);
p.set("iso","ISO3200");
camera.setParameters(p);
camera.setPreviewDisplay(holder);
camera.startPreview();

然后,我初始化MediaRecorder,对视频进行录制。代码如下:【代码2】

camera.unlock();
mRecorder.setOnInfoListener(this);
mRecorder.setOnErrorListener(this);
mRecorder.setCamera(camera);
mRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
mRecorder.setOutputFile(path);
mRecorder.setPreviewDisplay(mSurfaceHolder.getSurface());
mRecorder.prepare();
mRecorder.start();

结果是视频一开始录制,黑色条纹消失了,变成了下图的样子:

调用MediaRecorder.stop()方法停止录制后,黑色条纹又重新出现。这个时候我使用锁定自动曝光方法:【代码3】

p = camera.getParameters();
p.setAutoExposureLock(true);
camera.setParameters(p);

重新执行上述【代码2】的代码,重新开始第二次录制,此时整个录制过程屏幕都会有黑色条纹了,达到我所要的效果。

为什么第一次预览有效果的时候不锁定曝光呢?我测试过,一开始锁定曝光,第一次录制的时候黑色条纹仍然会消失,而且第一次录制结束后黑色条纹不再显示出来,需要先停止预览,再重新打开预览才恢复有黑色条纹!

我想第一次录制的时候就能够录制黑色条纹。这个黑色条纹出现,应该是和感光度有关的,我一直不清楚为什么第一次录制条纹会消失,录制前会自动聚集一次?导致锁定自动曝光失败?还是什么其它原因?第一次录制结束后又恢复有黑色条纹?为什么?

时间: 2024-10-09 21:21:59

android camera使用ISO值录制视频的相关文章

Android开发之使用MediaRecorder录制视频

MediaRecorder除了可以用于录制音频,还可用于录制视频.关于MediaRecorder的详解大家可以参考<Android开发之MediaRecorder类详解>.使用MediaRecorder录制视频与录制音频的步骤基本相同.只是录制视频时不仅需要采集声音,还需要采集图像.为了让MediaRecorder录制时采集图像,应该在调用setAudioSource(int audio source)方法时再调用setVideoSource(int video source)方法来设置图像来

Android ADB工具-截图和录制视频(五)

Android ADB工具-截图和录制视频(五) 标签(空格分隔): Android ADB 7. 截图和录制视 命令 功能 adb shell screencap –p <path/file> 手机截图 adb shell screenrecord [options] 屏幕录像 屏幕录像命名传入参数说明 C:\Users\Administrator>adb shell screenrecord --help Usage: screenrecord [options] <filen

Android开发之打开闪光灯录制视频

Android的SDK在线API上对录制视频的方法.步骤都写得非常清楚,但是如果没有一点思路,写起来也比较式费事.录制视频的全过程要打开闪光灯(可能是因为项目需要,或者特殊原因),则必须按照一定的顺序进行开关,毕竟容易出错.要实现录制的同时开启闪光灯也不难,官方API给出了一个大体的步骤.因为要采集点视频数据,临时写了个简单的Demo学习下,必要时再深度开发. 首先在工程中的AndroidManifest.xml中添加权限声明,因为要使用到摄像头,故需要添加Camera的相关权限,另外还需要写S

Android使用的开发MediaRecorder录制视频

MediaRecorder除了使用录制音频.还可用于录制视频.关于MediaRecorder的具体解释大家能够參考<Android开发之MediaRecorder类具体解释>.使用MediaRecorder录制视频与录制音频的步骤基本同样.仅仅是录制视频时不仅须要採集声音.还须要採集图像.为了让MediaRecorder录制时採集图像,应该在调用setAudioSource(int audio source)方法时再调用setVideoSource(int video source)方法来设置

Android Camera 使用一例,视频聊天app

视频聊天的应用可以从下面的框图示意.  所以需要从camera获取视频数据(YUV420sp),压缩成H264/MPEG4/H263的包,再传递到对方.接收对方的压缩包,解压出来显示到LCD上. Android里通过给camera设定 previewcallback函数可以获取每一个Peview帧的yuv数据. 我们现在看看如何按照你想要求的预览尺寸打开camera的并且获取视频数据的. 下面是打开camera的代码片断,他包在一个VideoCameraView类里面. 1 public cla

Android 使用意图录制视频

本文章主要将通过意图触发内置的Camera应用程序来录制视频. 源代码: 布局文件: activity_main: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" androi

Android 开发 MediaRecorder使用Camera1配合录制视频

前言 MediaRecorder可以不依靠Camera API 实现视频的录制,但是如果需要切换摄像头/设置对焦/选择分辨率等等就需要Camera来参与配合录制视频.这篇博客将介绍使用Camera1来实现视频录制.此篇博客不在重复一些细节和坑的介绍.如果你刚接触建议你看我另一篇博客https://www.cnblogs.com/guanxinjing/p/10980906.html这篇博客用更简单易懂的形式说明了MediaRecorder录制视频的步骤,并且有大量深坑的详解介绍,防止你也掉坑里.

【Android】20.3 拍照和视频录制

分类:C#.Android.VS2015: 创建日期:2016-03-13 一.简介 Android提供的Camera有两个典型的版本,一个是在Android 5.0以前提供的,称为Camera:另一个是从Android 5.0开始提供的,称为Camera2. 这里仅演示使用系统Camera程序实现拍照的基本用法. 二.Camera基本概念 用Camera实现拍照和摄像功能时,有以下两种实现办法: 一是直接利用Intent启动系统自带的Camera App打开相机实现拍照和摄像功能,然后通过An

Android录制视频分段保存的探究

录制视频需要分段保存,可以从系统源码考虑,看了以下一些代码: framework/av/media/libstagefright/MPEG4Writer.cpp package/apps/Camera/src/com/android/camera/actor/VideoActor.java 主要从MPEG4Writer.cpp中的kMax32BitFileSize 和入手,如下,修改单个文件最大容量为56M(0x3800000),发现利用系统Camera录像时,到达阀值后会提示"已达到大小上限&