FFmpeg 4.3 音视频-多路H265监控录放C++开发十九,ffmpeg复用

封装就是将 一个h264,和一个aac文件重新封装成一个mp4文件。

这里我们的h264 和 aac都是来源于另一个mp4文件,也就是说,我们会将 in.mp4文件解封装成一路videoavstream 和 一路 audioavstream,然后 将这两路的 avstream 合并成一个 out.mp4文件。

封装流程如下:

创建上下文

int avformat_alloc_output_context2(AVFormatContext **ctx, const AVOutputFormat *oformat,const char *format_name, const char *filename);

封装API:avformat_alloc_output_context2,avformat_free_context,-CSDN博客

创建avstream

打开输入IO

写入文件头

写入帧数据

写入尾部数据

相关推荐
另寻沧海7 小时前
测试中的 AAA 模式与 Given–When–Then 模式详解
c++·单元测试·测试覆盖率
Q741_1479 小时前
C++ 模拟题 力扣495. 提莫攻击 题解 每日一题
c++·算法·leetcode·模拟
青岛少儿编程-王老师10 小时前
CCF编程能力等级认证GESP—C++7级—20250927
数据结构·c++·算法
Miki Makimura10 小时前
Reactor 模式实现:从 epoll 到高并发调试
运维·服务器·c++·学习
·心猿意码·11 小时前
C++Lambda 表达式与函数对象
开发语言·c++
棉猴13 小时前
GESP C++等级认证三级15-原码反码补码2-2
开发语言·c++·gesp·c++三级·等级认证·原码反码补码
老王熬夜敲代码15 小时前
Etcd使用
c++·微服务·etcd
2301_7890156215 小时前
算法与数据结构——排序算法大全
c语言·开发语言·数据结构·c++·算法·排序算法·visual studio
光头闪亮亮16 小时前
基于 wxWidgets 框架的桌面应用程序-WebView 浏览器控件与Go后端数据交互
c++
无限进步_16 小时前
冒泡排序的多种实现方式详解
c语言·数据结构·c++·算法