FFmpeg的流程

文章目录

前序

之前看过FFmpeg的各种命令,然后不是很理解。相信很多人都不是很理解,毕竟,单纯的去记住那些命令行本身就需要很大的内存,我们的大脑内存又有限,所以,还是去看下代码。既辅助大脑去理解那些命令行,又提升了自己的代码理解能力,的确是一件有意义的事情。这次,就简单看下流程。

代码结构

先看下上图,主要是讲解FFmpeg_opt.c这个代码流程。至于FFmpeg.c,这个文件,太多意义了。可以简单看下。

FFmpeg.c

看这个c文件,先找main函数。代码流程如下:

main函数,就这么多行,再看看这个文件,已经4900多行了,还没有完。这次别的不看,直接看ffmpeg_parse_options函数,也就是解析命令行,像我们输入的命令,都在着函数里。接下来看看。

ffmpeg_opt.c

还是先看看ffmpeg_parse_options函数,如下图:

虽然看着这么多行,内容居多。先看下主要流程,如下图:

解析一个-vcodec代码流程。如上图。

所有的命令行,都在这里,名字,对应的函数,都在。有点像lua里边的c代码格式,看过的都应该不陌生,没看过也不要紧,有需要,可以去看看,也可以去看看我之前写的文章。打住了。继续看看流程。输入函数的流程,输出函数的流程。

这个是open_output_file的流程,然后还有一个open_input_file的流程。看下我画的流程图吧,如下:

这个代码相对来说比较少,从逻辑上理解,属于输入,是大部分输入的存储,方便后边输出的时候处理。

小结

这次写了FFmpeg的大致流程,如果详细了解,还需要结合代码去学习,当然,也可以去学习学习。毕竟,有些东西是整理好的,还有些指导,也还不错。不过,还是要自己耐心去学习,去理解。OK,结束。

相关推荐
韩曙亮12 小时前
【FFmpeg】FFmpeg 内存结构 ③ ( AVPacket 函数简介 | av_packet_ref 函数 | av_packet_clone 函数 )
ffmpeg·音视频·avpacket·av_packet_clone·av_packet_ref·ffmpeg内存结构
oushaojun216 小时前
ubuntu中使用ffmpeg和nginx推流rtmp视频
nginx·ubuntu·ffmpeg·rtmp
莫固执,朋友16 小时前
网络抓包工具tcpdump 在海思平台上的编译使用
网络·ffmpeg·音视频·tcpdump
lxkj_202417 小时前
修改ffmpeg实现https-flv内容加密
网络协议·https·ffmpeg
cuijiecheng201817 小时前
音视频入门基础:MPEG2-TS专题(6)——FFmpeg源码中,获取MPEG2-TS传输流每个transport packet长度的实现
ffmpeg·音视频
VisionX Lab1 天前
数据脱敏工具:基于 FFmpeg 的视频批量裁剪
python·ffmpeg·音视频
柳鲲鹏2 天前
全网首发:Ubuntu编译跨平台嵌入式支持ffmpeg的OpenCV
linux·ubuntu·ffmpeg
冰山一脚20132 天前
ffplay音频SDL播放处理
ffmpeg
cuijiecheng20182 天前
音视频入门基础:MPEG2-TS专题(7)——FFmpeg源码中,读取出一个transport packet数据的实现
ffmpeg·音视频
Maxwellhang2 天前
【java-ffmpeg】java 内存测试和集成
java·ffmpeg·jni