ffmpeg库函数 avformat_open_input() 和 avformat_alloc_output_context2() 的区别

avformat_open_input():

用于初始化 AVFormatContext 结构体以处理输入文件。它打开给定的音视频文件,并将其解析成一个 AVFormatContext 结构体,以便后续的读取操作。这个函数常用于读取音视频文件,例如在播放、转码或分析文件时使用。

示例用法:

cpp 复制代码
AVFormatContext *format_ctx = NULL;
if (avformat_open_input(&format_ctx, "input_file.mp4", NULL, NULL) < 0) {
    // 错误处理
}

avformat_alloc_output_context2():

用于初始化 AVFormatContext 结构体以处理输出文件。它分配一个 AVFormatContext 结构体,并为其指定输出格式,通常用于创建新的音视频文件。

示例用法:

cpp 复制代码
AVFormatContext *format_ctx = NULL;
if (avformat_alloc_output_context2(&format_ctx, NULL, NULL, "output_file.mp4") < 0) {
    // 错误处理
}

总的来说,avformat_open_input() 用于打开和读取现有的音视频文件,而 avformat_alloc_output_context2() 用于创建新的音视频文件。两者都返回一个指向 AVFormatContext 结构体的指针,以供后续的音视频操作使用。

相关推荐
头快撑不住了11 小时前
ffmpeg源码分析(七)结构体之AVStream
ffmpeg
yunhuibin18 小时前
ffmpeg面向对象——拉流协议匹配机制探索
学习·ffmpeg
cuijiecheng20181 天前
音视频入门基础:FLV专题(13)——FFmpeg源码中,解析任意Type值的SCRIPTDATAVALUE类型的实现
ffmpeg·音视频
小神.Chen2 天前
YouTube音视频合并批处理基于 FFmpeg的
ffmpeg·音视频
昱禹3 天前
记一次因视频编码无法在浏览器播放、编码视频报错问题
linux·python·opencv·ffmpeg·音视频
寻找09之夏4 天前
【FFmpeg 深度解析】:全方位视频合成
ffmpeg·音视频
zanglengyu4 天前
ffmpeg取rtsp流音频数据保存声音为wav文件
ffmpeg·音视频
cuijiecheng20184 天前
音视频入门基础:FLV专题(11)——FFmpeg源码中,解析SCRIPTDATASTRING类型的ScriptDataValue的实现
ffmpeg·音视频
汪子熙4 天前
什么是 LDAC、SBC 和 AAC 音频编码技术
ffmpeg·音视频·aac
cpp_learners4 天前
Windows环境 源码编译 FFmpeg
windows·ffmpeg·源码编译·ffmpeg源码编译