微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Python以一些参数调用Mencoder

我将首先说我对Python非常新颖。

我曾经有一个Windows / Dosbatch file,以便用正确的参数集启动Mencoder,而不必每次input它们。

当我尝试改进我的脚本时,事情变得很混乱,我决定尝试在python中编写代码一个很好的机会。

我已经想出了:

如何join摄像头的FLV

如何使用FFmpeg或mencoder或其他smith拆分flv文件

如何从video剪辑中抓取50分钟截图并快速执行?

#!/usr/bin/python import sys,os #Path to mencoder mencoder = "C:Program FilesMPlayer-1.0rc2mencoder.exe" infile = "holidays.avi" outfile = "holidays (part1).avi" startTime = "00:48:00" length = "00:00:15" commande = "%s %s -ovc copy -oac copy -ss %s -endpos %s -o %s" os.system(commande % (mencoder,infile,startTime,length,outfile)) #Pause raw_input()

但这并不奏效,windows抱怨说“C: Program”是不能识别的命令。

我试着在这里和那里放一些“”,但是这并没有帮助。

Python有两种类型的引号:“和”,它们是完全相同的,所以在一个字符串中获取引号最简单的方法就是说“C: Program Files MPlayer-1.0rc2 mencoder.exe”。

使用原始前缀(即r'“C: Program Files MPlayer-1.0rc2 mencoder.exe”')是一个好主意,但这不是错误,因为没有任何反斜杠后面跟着一个字母是一个转义码。 所以你的原始字符串不会因为前面有一个r而改变。

使用两个引号,而不是一个,如果你在窗口上做。

"\"

我是Python的新手,但我知道什么时候我看到这个问题,解决它,文件(可执行文件或参数)必须在引号。 只要在任何包含空格的文件之前和之后添加 ,以区分命令行参数。所以,这也适用于您的outfile变量。代码应该看起来像这样…

#!/usr/bin/python import sys,os #Path to mencoder mencoder = ""C:Program FilesMPlayer-1.0rc2mencoder.exe"" infile = "holidays.avi" outfile = ""holidays (part1).avi"" startTime = "00:48:00" length = "00:00:15" commande = "%s %s -ovc copy -oac copy -ss %s -endpos %s -o %s" os.system(commande % (mencoder,outfile)) #Pause raw_input()

你甚至可以把mencoder.exe放到一个没有空格字符的目录下(与Program Files相对)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐