Python波本(shlex.分离(command),shell=False)不使用ffmpeg

2024-09-26 22:51:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Popen(shlex.split(command)运行一个ffmpeg命令,该命令从quicktime mov文件中保存wav文件,同时还保存ffmpeg日志文件。如果我用这个:

command = './ffmpeg/ffmpeg -i /Users/me/Documents/MOVS/source.mov -map 0:1 -acodec pcm_s16le -y /Users/me/Documents/MOVS/source_01.wav'

p = Popen(shlex.split(command), shell=False)

然后命令正确完成,但是如果我添加保存日志文件的行,那么它将不再工作,因此如果我使用:

^{pr2}$

然后它就不起作用了。在命令行中使用任何一个命令,不使用python,都可以很好地工作。如果我使用:

p = Popen(command, shell=True)

然后一切都很好,但是我需要使用shell=False作为其他原因。在

我只是不明白为什么它会因为添加2> /Users/me/Documents/MOVS/lofFile.txt的“正确”结束行而中断


Tags: 文件命令sourceshellusersffmpegcommanddocuments
1条回答
网友
1楼 · 发布于 2024-09-26 22:51:36

IO重定向是由shell提供的,因此,如果设置shell=False,则命令将不会在shell中运行,>2 ....将构成命令的一部分。在

也许,作为一种解决方法,您可以尝试使用-report选项来ffmpeg。这将把日志记录发送到一个根据ffmpeg YYYYMMDD约定命名的文件-HHMMSS.log.日志. 在

相关问题 更多 >

    热门问题