ffmpeg杂记 后期整理

本文探讨了FFmpeg中如何利用avcodec_find_decoder通过ID查找编码器,强调每个标准如H264的变形都有唯一标识。FFmpeg内部以链表方式存储编解码器,使用context上下文来满足多路需求。数据处理过程中,从av_read_frame到avpacket及avframe,均采用浅拷贝。这种设计简化了拷贝操作并提高了效率。
摘要由CSDN通过智能技术生成

1 对于Avcodec 每个标准(如H264)不同的变形 都对应唯一的ID 和 不同的name(唯一的)

在这里插入图片描述
avcodec_find_decoder: 通过iD 查找 找到第一个id 对应的编码器就退出来了

avcodec_find_decoder:因为唯一 所以。。。

不同的 编解码器 复用器等等 ffmpeg 内部都是统一在一起以链表的方式存储的

为啥要有那样多context 上下文 编码器 复用器 等都有多路需求 为了满足重复入性质所以封装了context

关于
在这里插入图片描述
读取到数据 以后放入队列方式 都用的是浅拷贝 采用的都是浅拷贝!!!!
也就是从 av_read_frame_av ---- avpacket
从av_receive_frame-------avframe

为了方便拷贝 采用如下结构体进行封装

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值