随笔分类 - Android音视频
摘要:一、播放视频说明 1、两种方式播放视频 ①shader播放YUV,后面再介绍。 ②RGB直接显示数据,简单。性能差,用到FFmpeg的格式转换,没有shader效率高。本文介绍这个方式。 2.GLSurfaceView原理(双缓冲机制): SurfaceHolder: getHolder().get
阅读全文
摘要:一、Open SL ES播放声音流程 简单说明 Open SL ES是android内部的接口,本身可以解码音频,但是我们用FFmpeg,,也可以来录音 。 SL引擎:上下文 混音器:两路声音的混合 Play:控制播放 , 有一个队列来存储播放的数据,设置一个回调的方法,播放之后调一下回调方法拿数据
阅读全文
摘要:一、重采样流程 重采样(解码音频数据之后格式不可以直接播放,需要重采样,类似图像的像素转换) 1.分配上下文 2.设置参数(分为(前几个是)输出格式和(后几个)输入格式,两个相对应的) 可以通过改变样本率来改变音频的播放速度,但是会失帧。 3.初始化 4.开始转换 二、相关函数说明 1、 SwrCo
阅读全文
摘要:一、基本流程 1、sws_getCachedContext();//得到像素转换的上下文 2、sws_scale();//进行转换 二、函数说明 1、SwsContext *vctx = NULL; //像素格式转换的上下文 frameCount++; //从缓冲中获取上下文 ,参数中原来的格式转换
阅读全文
摘要:一、编解码基本流程 主要流程: 打开视频解码器(音频一样) 软解码、硬解码 进行编解码 下面先来看打开视频解码器 ①avcodec_register_all()//初始化解码 ②先找到解码器、 找解码器(软解码):AVCodec *codec = avcodec_find_decoder(strea
阅读全文
摘要:一、解封装基本流程 二、函数介绍 ①av_register_all(); 初始化解封装,注册解封装格式 在最开始编译FFmpeg的时候,我们做了一个configure的配置,其中开启或者关闭了很多选项。configure的配置会生成两个文件:config.mk和config.h。 config.mk
阅读全文
摘要:1. FFmpeg分为3个版本:Static、 Shared、 Dev 前两个版本可以直接在命令行中使用。包含了三个exe:ffmpeg.exe,ffplay.exe,ffprobe.exe Static版本中的exe体积较大,那是因为相关的Dll都已经编译进exe里面去了。 Shared版本中ex
阅读全文

浙公网安备 33010602011771号