Python 依次运行两个ffmpeg命令
我需要一个接一个地运行两个Python 依次运行两个ffmpeg命令,python,ffmpeg,Python,Ffmpeg,我需要一个接一个地运行两个ffmpeg命令,即等待第一个命令完成,然后运行第二个命令。第一个命令是 ffmpeg -threads 8 -i D:\imagesequence\dpx\brn_055.%04d.dpx D:\imagesequence\dpx\test2.mov 第二个是 ffmpeg -i D:/imagesequence/background.jpg -vf "movie='D\:/imagesequence/dpx/thumbnail.jpg' [watermark];
ffmpeg
命令,即等待第一个命令完成,然后运行第二个命令。第一个命令是
ffmpeg -threads 8 -i D:\imagesequence\dpx\brn_055.%04d.dpx D:\imagesequence\dpx\test2.mov
第二个是
ffmpeg -i D:/imagesequence/background.jpg -vf "movie='D\:/imagesequence/dpx/thumbnail.jpg' [watermark]; [in][watermark] overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/3 [out]" D:/imagesequence/dpx/final_with_text_mod_04.jpg
在Python中实现这一点的最佳方法是什么?您只需使用
子流程
Python模块调用ffmpeg
命令两次,这已经是默认行为
import subprocess
execstr1 = 'ffmpeg -x -y -z ...'
execstr2 = 'ffmpeg -a -b -c ...'
out1 = subprocess.check_output(execstr1, shell=True)
out2 = subprocess.check_output(execstr2, shell=True)
你读过python的subprocess.call吗?(另外,你实际上没有8个内核。使用4个线程和禁用超线程可能会更快。)你能解释一下吗。8芯,4线程,超线程。有什么地方可以找到这方面的信息吗对不起,我收回我的评论。超线程对程序的影响完全取决于程序本身。谷歌“阅读”以了解更多信息。hyperreading()基本上就是每个物理核有两个逻辑核。看起来可能有8个核心,但工作负载在4个物理核心之间分配。当然,除非您实际拥有8个物理内核,例如某些Xeon或AMD处理器。
a=子进程。如果(a==0),请检查调用([“ffmpeg”、“-threads”、“8”、“-i”、“D:/imagesequence/background.jpg”、“-vf”、“movie=”D\:/imagesequence/dpx/…[out]、“D:/imagesequence/dpx/brn\u 055.0000.dpx”]、shell=True)如果(a==0):b=子进程,请检查调用([“ffmpeg”,“-threads”、“8”、“-i”、“D:/imagesequence/dpx/brn_055.%04d.dpx”、“-vf”、“drawtext=f……….tcolor=Yellow”、“D:/imagesequence/dpx/test2.mov”]、shell=True)
我需要一个接一个地运行。可能吗?我不得不修剪命令,因为空间有限