持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第33天,点击查看活动详情
ffmpeg.exe 转换器的编码封装的总函数就是 reap_filter()。
ffmpeg.exe 转换器的编码封装模块 (reap_filter)与 解码模块(process_input)相比,我觉得两者的复杂度不相上下。
1, 解码模块,最复杂的不是解码,而是解码之后的滤镜操作(configure_filtergraph),滤镜的配置过程非常复杂。
2, 编码封装模块,最复杂的地方是 do_video_out() 函数,里面有 3 块复杂逻辑,如下:
现在是时候为 ffmpeg.exe 转换器的,命令行解析模块,转码前的初始化,解码滤镜模块,编码封装模块,画一个总的流程图,如下:
有些绿色的块,我是故意画多一个的,为了方便连接起来。
图片是高清图,如果缩小模糊了,建议浏览器单独打开图片查看