标签 SurfaceTexture 下的文章

一、硬件层与驱动交互 二、框架层(Framework) 三、HAL层与数据流 四、应用层显示 五、关键源码路径汇总 六、流程总结 本文首发地址 https://h89.cn/archives/319.html 最新更新地址 https://gitee.com/chenjim/chenjimblog 一、硬件层与驱动交互 传感器与驱动 硬件层由图像传感器(如CMOS/CCD)和ISP(图像信号处理器)组成,通过V4L2(Video4Linux2)框架与内核驱动交互。 源码示例:Camera HAL通过/dev/videoX设备节点与传感器通信,如MTK平台的sensor_list.cpp 中通过get_number_of_cameras枚举设备节点。 HAL硬件抽象层 HAL层实现CameraHardwareInterface接口,封装硬件操作(如ope

- 阅读剩余部分 -

前言 视频处理流程 1. 视频预览 2. 视频数据流处理 音频处理实现 1. 音频采集 2. 音频编码 3. 音频封装 性能优化与注意事项 1. 音视频同步 2. OpenGL资源管理 3. 最佳实践建议 总结 本文首发地址 https://h89.cn/archives/146.html 源码地址: Gitee: OpenGLRecorder 前言 通过 前文 我们知道了如何采集 Camera 视频,叠加水印、贴纸保存为MP4,但是录制视频并没有音频。本文将详细介绍如何实现音视频同步录制,以及在实际应用中的一些关键技术点和最佳实践。 视频处理流程 在开始音频处理之前,让我们先回顾一下视频处理的核心流程和关键类: 1. 视频预览 CameraGlView 继承自 GLSurfaceView 用于显示Camera预览画面 负责管理Ope

- 阅读剩余部分 -

引言 updateTexImage 简单使用 SurfaceTexture 初始化相关源码分析 Surface 绘制流程源码分析 createBufferQueue 源码分析 SurfaceTexture 之 updateTexImage 源码分析 结尾 本文首发地址 https://h89.cn/archives/140.html 最新更新地址 https://gitee.com/chenjim/chenjimblog 引言 在Android系统中,SurfaceTexture 是一个特殊的类,它将来自硬件纹理缓冲区(如相机预览流或视频解码输出)的图像数据转换为 OpenGL ES 可以直接使用的纹理。updateTexImage() 方法是 SurfaceTexture 类的核心方法之一,此方法的主要作用是从 SurfaceTex

- 阅读剩余部分 -

概述 分析 影响编码速度的因素 影响画面清晰度的因素 解决方案 1. Profile方法 2. Bitrate方法 3. Biterate Mode方法 4. 时间戳正确设置 原文地址:https://aijishu.com/a/1060000000079293 本文地址:https://h89.cn/archives/10.html 最新更新地址:https://gitee.com/chenjim/chenjimblog 概述 在安卓平台为了实现h264视频编码,我们通常可以使用libx264, ffmpeg等第三方视频编码库,但是如果对编码的速度有一定的要求,要实现实时甚至超实时的高速视频编码,我们并没有太多选项,只能使用Android提供的MediaCodec硬编码模块。 MediaCodec模块在实际使用中会遇到很多问题,本文主要讨论使用Medi

- 阅读剩余部分 -