• 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的销毁

      

      

      

  • 相关阅读:
    车厢重组
    军事机密
    士兵站队
    归并排序
    输油管道
    冒泡排序
    快排
    烦人的幻灯片(确实烦人啊)
    奖金(类拓扑排序)
    能量项链
  • 原文地址:https://www.cnblogs.com/liunx1109/p/9275641.html
Copyright © 2020-2023  润新知