> 文档中心 > ffmpeg命令分析-vf

ffmpeg命令分析-vf

本系列 以 ffmpeg4.2 源码为准,下载地址:链接:百度网盘 提取码:g3k8

本系列主要分析各种 ffmpeg 命令 在代码里是如何实现的。a.mp4下载链接:百度网盘,提取码:nl0s 。


命令如下:

./ffmpeg -i a.mp4 -vf "split[main][tmp];[tmp]crop=iw:ih/2:0:0,vflip[flip];[main][flip]overlay=0:H/2" OUTPUT

上这行命令是一个simple filter 处理,在 ffmpeg 工程的代码实现如下。

  1. "split[main][tmp];[tmp]crop=iw:ih/2:0:0,vflip[flip];[main][flip]overlay=0:H/2" 这一大串filter 是作用于输出文件的,所以他被绑在 OutputStream 结构体上。
  2. 图一,把 OptionsContext 的 filter 赋值给 ost->filters
  3. 图二跟三,调用 get_ost_filters(),把 ost->filters 赋值给 ost->avfilter
  4. 图四,把那一大串字符串filter 传递给 avfilter_graph_parse2()

.


由于笔者的水平有限, 加之编写的同时还要参与开发工作,文中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果读者有任何宝贵意见,可以加我微信 Loken1。


推荐一个零声学院免费公开课程,个人觉得老师讲得不错,分享给大家:

Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习

51银饰网