ffmpeg bitstream filter使用

ffmpeg bitstream filter使用
使用ffmpeg bitstream filter为nalu加头用于网络传播。
初始化:

AVBitStreamFilter *filter = const_cast<AVBitStreamFilter *>(av_bsf_get_by_name("hevc_mp4toannexb"));//aac_adtstoasc h264_mp4toannexb
        if(!filter){
            LOGI("bs error 2");
        }

        int ret = av_bsf_alloc(filter, &bsf_ctx);
        if (ret<0){
            LOGI("bs error");
        }

使用:

            int ret;
            ret = av_bsf_send_packet(bsf_ctx, packet);
            if (ret<0){
                LOGI("bsf send error");
                return -1;
            }
            ret = av_bsf_receive_packet(bsf_ctx, packet);
            if (ret<0){
                LOGI("bsf send error 2");
                return -1;
            }

关闭:

if (bsf_ctx!=NULL)
            av_bsf_free(&bsf_ctx);

如果对你有用 记得点赞哦!!!!

你可能感兴趣的:(C语言)