FFMpeg音频重采样和视频格式转
Posted liunx1109
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FFMpeg音频重采样和视频格式转相关的知识,希望对你有一定的参考价值。
一.视频像素和尺寸转换函数
1.sws_getContext : 像素格式上下文 --------------->多副图像(多路视频)进行转换同时显示
2.struct SwsContext *sws_getCachedContext(struct SwsContext *context , int srcW , int srcH
enum AVPixelFormat srcFormat , int dstW , int dstH , enum AVPixelFormat
dstFormat , int flags , SwsFilter *srcFilter , SwsFilter *dstFilter , const
double *param) ------------>一副图像(视频)进行转化用此接口
flag : 是选择不同的算法---->针对与尺寸的变换
param : 是和flag一同使用的
3. sws_scale(struct SwsContext *c , const uint8_t *const srcSile[] , const int srcStride[] , int srcSliceY , int srcSliceH , uint8_t *const dst[] , const int dstStride[]) : 每一帧数据的转换
4. sws_freeContext(struct SwsContext *swsContext) : 释放内存
二.音频重采样
1.SwrContext *swr_alloc(void) : 创建上下文
2.SwrContext *swr_alloc_set_opts(struct SwrContext *s , int64_t out_ch_layout , AVSampleFormat out_sample_fmt , int out_sample_rate ,
int64_t in_ch_layout , AVSampleFormat in_sample_fmt ,
int in_sample_rate , int log_offset =0, void *log_ctx=0) : 设置上下文
out_ch_layout : 输出的layout(5.1声道或者是立体声道)
out_sample_fmt : 输出的样本格式(16bit)
3. int swr_init(struct SwrContext *s) : 初始化上下文
4.void swr_free(struct SwrContext **s) : 释放空间
5.swr_convert (struct SwrContext *s , uint8_t **out , int out_count ,
const uint8_t **in , int in_count) : 一帧一帧去转换
out_count : nb_sample------>单通道样本的数量
三.GLSurfaceView
1.getHolder().getSurface()
2.SurfaceHolder.Callback
(1).surfaceCreated() : surface的创建
(2).surfaceChanged() : surface的改变
(3).surfaceDestoryed : surface的销毁
以上是关于FFMpeg音频重采样和视频格式转的主要内容,如果未能解决你的问题,请参考以下文章