gpt4 book ai didi

python - 如何在 ffmpy(FFmpeg 的 python 包装器)中使用变量?

转载 作者:行者123 更新时间:2023-12-04 23:08:24 24 4
gpt4 key购买 nike

请问ffmpy中的变量如何使用(FFmpeg 的 Python 包装器)。

确切地说:我想使用变量来裁剪视频。 FFmpeg 命令是:

ffmpeg in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4

https://ffmpeg.org/ffmpeg-filters.html#crop

为了在 Python/ffmpy 中使用它,我编写了以下代码:
from ffmpy import FFmpeg
import ffmpy

# define the variables
out_w = 100
out_h = 120
x = 50
y = 80

inputFile = "F:\\in.avi"
outputFile = "F:\\out.avi"

ff = FFmpeg(inputs = {inputFile: None}, outputs= {outputFile: " -y -filter:v `crop=100:120:50:80'"})
#This line works fine.

#Now rewrite the above line using variables...
ff = FFmpeg(inputs = {inputFile: None}, outputs={outputFile: " -y -filter:v `crop=out_w:out_h:x:y'"} )
#...It line does not work. I guess it is wrong to use variables in the statement.
#...This is my question. How to write this line using variables?

ff.cmd
ff.run()

谢谢你的帮助!

最佳答案

我可以解决你的问题:

最近我试图运行这个命令:

ff = ffmpy.FFmpeg(inputs={inputs: None}, outputs={output: '-ss 0:1:0 -t 0:2:0 -c copy'})

它运行良好。
但从用户的角度来看,输入应该由他们给出。

所以我稍微修改了命令。
ff = ffmpy.FFmpeg(inputs={input: None}, outputs={output: '-ss %d:%d:%d -t %d:%d:%d -c copy' % (start_hour,start_min,start_sec,end_hour,end_min,end_sec)})

我只是使用 %d 在我的命令中使用变量(int),它运行完美!
我希望这有帮助。

关于python - 如何在 ffmpy(FFmpeg 的 python 包装器)中使用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48027842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com