我是靠谱客的博主 笑点低小蚂蚁,最近开发中收集的这篇文章主要介绍ffmpeg 被否决的版本冲突,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近在练习ffmpeg开发音视频的一些内容,发现ffmpeg由于版本的冲突,有些api已经不再使用。所以抽时间整理一下

av_free_packet

这个api的使用已经替换为 av_packet_unref,两者在使用上没有任何的不同,就是API的替换

 

AVStream::codec 这个成员已被否决使用,与之替换的是AVStream::codecpar,此成员保留了AVStream::codec 的大多数参数,在转换的时候是这样转化

 AVCodecContext *pAVCodecContext = avcodec_alloc_context3(nullptr);

avcodec_parameters_to_context(pAVCodecContext,pAVFormatContext->streams[videoIndex]->codecpar);

 

av_dup_packet 正如av_free_packet被否决一样,av_dup_packet同样被否决了,此时替换的为av_packet_ref

不过av_packet_ref增加源和目的参数,这点需要注意。

 

还有就是 avcodec_decode_audio4系列也被否决,此时根据新的api

ret = avcodec_send_frame(play->m_audio_ctx, &avframe);
            if (ret < 0)
            {
                break;
            }
            got_frame = avcodec_receive_packet(play->m_audio_ctx, &pkt2);
            if (!got_frame)
            {
                /
            }

还有就是 avpicture_get_size系列也被否决,此时根据新的api

av_image_get_buffer_size(...);

参数没有什么变化,就是在末尾加了一个子节对齐方式。

然后是avpicture_fill的声明被否决,这次调整的参数也不太大,就是将填充的子节和长度列出,同时加了末尾对齐的方式。

 

还有一处没有太理解,就是av_register_all也被否决了,这个倒是没有找到相关的资料,大部分都是将sdl检查关闭,在

属性->C/C++->sdl检查,选择否即可。

后续还有发现的话,会继续更新

 

 

最后

以上就是笑点低小蚂蚁为你收集整理的ffmpeg 被否决的版本冲突的全部内容,希望文章能够帮你解决ffmpeg 被否决的版本冲突所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部