首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >执行命令时出现ffmpeg语法错误

执行命令时出现ffmpeg语法错误
EN

Stack Overflow用户
提问于 2021-03-12 14:07:12
回答 1查看 68关注 0票数 0

下面的代码运行良好:

代码语言:javascript
运行
复制
cmd = "ffmpeg -y -loop 1 -i " + url1 + " -ss 0 -t 5 " + " - 
filter_complex" + " 
[0:v]scale=w=-2:h=3*720,crop=w=3*1080/1.2:h=3*720/1.2:y=t*in_h/5- 
t*out_h/5,scale=w=1080:h=720 " + " -c:v h264 -crf 18 -preset veryfast 
" + url2

os.system(cmd)

但是在执行下面的代码之后:

代码语言:javascript
运行
复制
cmd = "ffmpeg -y -loop 1 -i " + url1 + " -ss 0 -t 5 " + " - 
filter_complex" + " 
[0:v]scale=w=-2:h=3*720,crop=w=3*1080/1.2:h=3*720/1.2:y=(in_h-out_h)- 
t*(in_h-out_h)/5,scale=w=1080:h=720 " + " -c:v h264 -crf 18 -preset 
veryfast " + url2

os.system(cmd)

我得到一个错误:

代码语言:javascript
运行
复制
**sh: 1: Syntax error: "(" unexpected****

所以它在圆括号上有问题。有没有办法解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2021-03-12 14:14:45

括号对shell有特殊的意义。您可以使用反斜杠来保护它们(您必须使用双引号:\\(in_h-out_h\\)),也可以将整个序列放在单引号中:

代码语言:javascript
运行
复制
... + "'[0:v]scale=w=-2:h=3720,crop=w=31080/1.2:h=3720/1.2:y=(in_h-out_h)-t(in_h-out_h)/5,scale=w=1080:h=720'" + ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66595016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档