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);

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

发布了187 篇原创文章 · 获赞 65 · 访问量 26万+

猜你喜欢

转载自blog.csdn.net/mhhyoucom/article/details/104532167