FFmpeg
文章平均质量分 86
头快撑不住了
wx:tkcbzl
展开
-
ffmpeg源码分析(七)结构体之AVStream
AVStream是存储每一个视频/音频/字幕/其它流信息的结构体。原创 2024-10-05 19:17:44 · 661 阅读 · 0 评论 -
ffmpeg源码分析(三)结构体之AVFormatContext
AVFormatContext是API中直接接触到的结构体,位于avformat.h中,结构体描述了一个多媒体文件或流的构成和基本信息。,是FFmpeg中最为基本的一个结构体。贯穿了ffmpeg使用的整个流程。可以说是ffmpeg中最顶端的一个结构体。原创 2024-10-05 11:48:58 · 1103 阅读 · 0 评论 -
ffmpeg源码分析(六)结构体之AVPacket和AVFrame(内存管理)
这是毕业一年跳槽时被面过的一道题,他问ffmpeg的内存管理是怎样的。当时支支吾吾没有回答出来。如果再让我回到过去,我会和他说莫欺少年穷~原创 2024-08-31 21:26:30 · 1391 阅读 · 0 评论 -
ffmpeg源码分析(五)结构体之AVCodecContext
GOP(Group of Pictures)大小,指定两个关键帧之间的最大帧数。AVCodecContext是和编解码相关的结构体,同时也是变量最多的一个结构体。: 额外的编解码器特定数据,通常包含一些配置信息。: 像素格式,描述视频帧的颜色表示方式,例如YUV420P。: 编码器的配置文件,影响编码质量和复杂性。: 用于控制量化参数的设置,影响编码质量。: 最大B帧数,影响编码的延迟和质量。: 控制编解码器的行为的标志。: 编码过程中参考帧的数量。: 视频帧的宽度和高度。: 每个音频帧的大小。原创 2024-03-08 18:58:40 · 1169 阅读 · 2 评论 -
ffmpeg源码分析(四)结构体之AVIOContext 、URLContext、URLProtocol
这篇文章主要是在解复用阶段所使用的结构体。ffmpeg它支持多种协议,用于从不同来源获取多媒体数据,例如HTTP、RTMP、RTSP、文件等。FFmpeg的协议解析部分包含一些结构体和流程,用于处理不同协议的数据获取。URLContext:这是FFmpeg中用于表示URL的结构体。它包含有关URL的信息,例如URL的协议、主机、端口、路径等。不同的协议解析器可以使用不同的数据填充这个结构体,以适应各种URL。:这是用于输入/输出操作的上下文结构体。它可以包含URLContext。原创 2024-03-04 19:44:22 · 1526 阅读 · 0 评论 -
FFmpeg源码解析系列(二)主要结构体
结构体描述作用头文件AVIOContext(I/O上下文)AVIOContext结构体用于管理媒体文件或者网络流的输入和输出操作实现文件或者流的I/O操作avio.hAVFormatContext(封装格式上下文)AVFormatContext结构体是与多媒体文件格式相关的结构体,用于打开、读取和写入媒体文件。它包含了文件的格式信息、音视频流、文件I/O操作等管理媒体文件的格式和封装信息。AVCodecContext(编解码器上下文)原创 2024-02-29 10:10:16 · 1320 阅读 · 0 评论 -
FFmpeg源码解析系列(一)目录和编译
FFmpeg,全称"Fast Forward MPEG",是一个功能强大、开源的多媒体框架,它提供了广泛的音频和视频处理功能,使得多媒体数据的解码、编码、转换、封装以及流媒体传输变得更加容易。随着数字媒体在我们日常生活中的普及,FFmpeg在多领域得到了广泛的应用。你可以使用FFmpeg来剪切、合并、转码、添加滤镜等,从而编辑和处理视频文件。这对于视频制作、后期制作以及视频分享平台非常重要。FFmpeg不仅支持视频,还可以用于音频文件的处理,包括音频转码、剪切、合并以及添加效果。原创 2024-02-28 18:01:22 · 1842 阅读 · 0 评论