使用python接口的ffmpeg,可以先从 https://github.com/kkroening/ffmpeg-python 这个git上开始。
当然官方的api说明也不能缺少:https://ffmpeg.org/ffmpeg.html#Main-options
上面有很多样例,我大概做下解释
在python接口中跟实际命令行对应参数,分为三个input,filter,output;python的封装我个人的理解就是把你给函数的传参进行了转换,实际输出还是命令行的形式,明白这个原理我觉得很重要,因为这样就可以自己debug看看了。
刚开始使用往往不知道怎么去对应,怎么去调用,实际的使用例子很少。因为大牛都是用 c 去了。
官方的Main-options页面基本上说明了input和output类型命令行可以带的参数,可以直接在python里面使用。
大概的用法如下:
output中的输出格式参数 format='mp4' (equivalent to f='mp4') 可以中Main-options找到对应
output中的编码速度的设置(ultrafast, superfast, veryfast, faster ....),preset='veryfast'
input中对视频的截断可以设置 ss='10' 和 t='20', 默认是s为单位,从第10s开始,截取20s的视频。其他格式可以参看下官方文档
filter的话,python有专门文档还是比较详细和够用的,https://kkroening.github.io/ffmpeg-python/
python直接支持多任务的异步运行,使用run_async运行,会拿到进程句柄,然后可以拿到输出结果。
基本上python的ffmpeg接口可以我现阶段的简单需求了。
先分享这么多,欢迎大家指教一起讨论进步。