FFmpeg踩坑记录

FFmpeg踩坑记录

注:FFmpeg使用版本为3.4.2

  • AVCodecContext的创建通过另一个参数创建

    AVCodecParameters *para = _formatCtx->streams[iStream]->codecpar;
    AVCodec *codec = avcodec_find_decoder(para->codec_id);
    AVCodecContext *codecCtx = avcodec_alloc_context3(codec);

  • SwrContext swr_init()初始化失败,报错信息为无效参数

    因为引入了AVCodecParameters概念,所以在swr_alloc_set_opts() 中部分参数使用AVCodecParameters调用

    swrContext = swr_alloc_set_opts(NULL, para->channel_layout, AV_SAMPLE_FMT_S16, para->sample_rate, para->channel_layout, codecCtx->sample_fmt, para->sample_rate, 0, NULL);

你可能感兴趣的:(FFmpeg踩坑记录)