Android 关于获取摄像头帧数据解码

// 创建保存照片文件夹
	private void CreateFileJPG() {
		File file = new File("/sdcard/image");
		if (!file.exists()) {
			try {
				file.mkdirs();
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
		}
	}
/**
	 * 拍照保存图片
	 * */
	public void saveMyBitmap() {
		FileOutputStream outStream = null;
		try {
			YuvImage yuvimage = new YuvImage(dataJPG, ImageFormat.NV21,
					cameraJPG.getParameters().getPreviewSize().width, cameraJPG
							.getParameters().getPreviewSize().height, null);
			ByteArrayOutputStream baos = new ByteArrayOutputStream();
			yuvimage.compressToJpeg(new Rect(0, 0, cameraJPG.getParameters()
					.getPreviewSize().width, cameraJPG.getParameters()
					.getPreviewSize().height), 80, baos);

			outStream = new FileOutputStream(String.format(
					"/sdcard/image/%d.jpg", System.currentTimeMillis()));
			outStream.write(baos.toByteArray());
			outStream.close();

			Toast.makeText(getApplicationContext(), "照片保存成功!",
					Toast.LENGTH_SHORT).show();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
		}

	}
private PreviewCallback mPreviewCallback = new PreviewCallback() {

		@Override
		public void onPreviewFrame(byte[] data, Camera camera) {
			synchronized (MainService.this) {
				dataJPG = data;
				cameraJPG = camera;
			}

		}
	};

实现摄像头拍照需求。

Android 关于获取摄像头帧数据解码

时间: 2024-10-06 12:26:11

Android 关于获取摄像头帧数据解码的相关文章

Android -- 获取摄像头帧数据解码

由于Android下摄像头预览数据只能  ImageFormat.NV21 格式的,所以解码时要经过一翻周折. Camera mCamera = Camera.open(); Camera.Parameters p = mCamera.getParameters(); p.setPreviewFormat(ImageFormat.NV21); /*这是唯一值,也可以不设置.有些同学可能设置成 PixelFormat 下面的一个值,其实是不对的,具体的可以看官方文档*/ mCamera.setPa

WebSocket帧数据 解码/转码

数据从浏览器通过websocket发送给服务器的数据,是原始的帧数据,默认是被掩码处理过的,所以需要对其利用掩码进行解码. 从服务器发送给浏览器的数据是默认没有掩码处理的,只要符合一定结构就可以了.具体可以参考websocket的RFC文档 http://www.rfcreader.com/#rfc6455 The threat model being protected against is one in which the client sends data that appears to

android环境下摄像头数据采集及显示

以前项目涉及些摄像头预览及数据处理操作,当时的需求是除了做摄像头预览外,还要显示文字.个性图像等,当初在查找资料实现相关模块时,发现很多资料讲的比较繁琐,不够简洁,这里将自己的实现方式分享出来,希望能够为正在做相关工作的同学提供些思路.不过这里先顺便提一下,如果单纯的做摄像头预览,不在预览数据时做添加文字.图像等额外操作,可以用surfaceview方式,性能上会更好些. 这里将摄像头采集及视频图像绘制放在一个模块中,比较便于管理及维护,同时在使用时,因为该类继承自view类,所以可以向操作很多

android获取某应用的帧数据

android获取某应用的帧数据: 说明: (打开手机 开发者选项-GPU显示配置文件(显示于 adb shell dumpsys gfxinfo)勾上,只有4.1以上支持) 在android4.1中,谷歌提供了一个工具来,叫做" GPU呈现模式分析(Profile GPU rendering)", 在开启这个功能后,系统就会记录保留每个界面最后128帧图像绘制的相关时间信息 开始操作: 命令行 adb shell dumpsys gfxinfo com.taobao.mobile.d

请教:Android正播放视频时的解码输出流如何获取?

============问题描述============ Android播放视频,经过解码器解码 获得数据流 再显示到屏幕上.请问这部分数据(解码器解码后的数据流)通过什么方法可以获取?  请教...  先谢谢啦 ============解决方案1============ 你是想录制视频? ============解决方案2============ 引用 3 楼 yu8fei 的回复: Quote: 引用 2 楼 sagittarius1988 的回复: 你是想录制视频? 不是,跟照相机录像机摄

RTSP播放器网页web无插件直播流媒体音视频播放器EasyPlayer-RTSP-Android解码获取视频帧的方法

应用场景 EasyPlayer-RTSP在多年与VLC的对标过程中,积累了广泛的应用场景,EasyPlayer-RTSP底层与上层全部自主开发,自主知识产权,可实战测试. EasyPlayer-RTSP播放器 EasyPlayer-RTSP播放器是一套RTSP专用的播放器,包括有:Windows(支持IE插件,npapi插件).Android.iOS三个平台,是由青犀TSINGSEE开放平台开发和维护的区别于市面上大部分的通用播放器,EasyPlayer-RTSP系列从2014年初发展至今得到了

直接获取摄像头传回的图像数据(人脸、微笑、眨眼: 识别-->第一步):图像识别第一步

转:ios通过摄像头获取特定数据 文字太小可通过command '+'调大字体,温馨提示. 注释: 由于最近项目需求,需要一个能够实现对摄像头图片获取其中部分内容的功能,类似于二维码扫描.但是只需要获取特定位置的像素块进行简单计算即可,所以听上去还是很简单的,但是经过实践,发现,现实似乎与想象中不一样,由于摄像头拍到的数据,采用的是QZ(也就是CG框架)进行绘制,所以涉及到坐标系与frame的坐标系不一致的问题. 1:尝试直接拿到摄像头数据,先输出看下. code: 代码略. 总结: 直接使用摄

FFmpeg获取DirectShow设备数据(摄像头,录屏)

这两天研究了FFmpeg获取DirectShow设备数据的方法,在此简单记录一下以作备忘.本文所述的方法主要是对应Windows平台的. 1.       列设备 ffmpeg -list_devices true -f dshow -i dummy 命令执行后输出的结果如下(注:中文的设备会出现乱码的情况).列表显示设备的名称很重要,输入的时候都是使用"-f dshow -i video="{设备名}""的方式. 我自己的机器上列出了以下设备: [dshow @0

opencv+qt+beaglebone 之获取摄像头数据。

最近在研究opencv. 把opencv获取摄像头数据调试成功. 一个简单的测试代码 mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QLabel> #include <QGridLayout> #include <QPushButton> #include <QComboBox> #include <QImage