ffmpeg内存模型

文章目录

展示图

拷贝packet

拷贝packet有两种情况

1: 两个packet的buf引用的是同一个数据缓冲空间,类似与浅拷贝

2:两个packet的buf引用的是不同的数据缓冲空间,类似与深拷贝

重要!!!

当我们进行浅拷贝的时候 AVBuffer里面的 refcount就会+1 表示有多一个指向此范围的结构体

当释放引用共享空间的packet的时候 这个计数就会-1 当计数为0的时候 就会释放掉引用的缓存空间

AVFrame也是相同的机制

注意 重要内容为
真实的数据为 avpacket 里面的avbufferRef 里面的AvBuffer

avpacket.c相关函数

av_packet_alloc 简单的赋值 里面的还有没有进行初始化的指针
av_packet_ref

如果这里有数据的话 则会简单的进行指针的拷贝

然后将相关的引用计数给+1

avframe的逻辑也差不多如此

av_packet_copy_props 拷贝全部属性AVPacket

av_packet_clone克隆一份 实际就是加上申请空间然后再进行数据赋值

相关推荐
Yeauty19 小时前
你那条 ffmpeg 命令,一键翻成 Rust builder 代码
开发语言·rust·ffmpeg
Yeauty2 天前
用 Whisper 转录前,你不用再离开 Rust
开发语言·rust·ffmpeg·音视频·视频
paokuflying3 天前
ffmpeg提取视频中的音频
ffmpeg·音视频
Tirzano3 天前
java 精简使用ffmpeg
java·开发语言·ffmpeg
兵叔物联5 天前
基于FFmpeg的短视频自动剪辑工具
ffmpeg·音视频
霸道流氓气质7 天前
视频预览链路三件套:ZLMediaKit · MediaMTX · FFmpeg 完全指南
ffmpeg·音视频
xgc_java7 天前
在Java里把ONNX/OpenCV/FFmpeg跑稳:28篇bytedeco实战小册完整指南
java·opencv·ffmpeg
鲲穹AI全能助理13 天前
实用音频合成工具分享:灵境配音 使用场景与功能说明
ffmpeg·音视频
我是Superman丶13 天前
Windows系统FFmpeg官方下载+完整安装配置保姆级教程(2026最新版)
windows·ffmpeg
luoyayun36114 天前
Qt + FFmpeg 视频工具:视频一键压缩功能实现
qt·ffmpeg·音视频·视频压缩