Python Popen - env - ffmpeg crash [英] Python Popen - env - ffmpeg crash

查看:187
本文介绍了Python Popen - env - ffmpeg crash的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在Windows 7(python 2.7)上运行ffmpeg命令,它在命令行上运行正常,但是我的中的 env Popen 不工作。
这是工作命令行:

  SET FFREPORT = level = 48:file = C\:\ \temp\\TESTFFMPEGOUTPUT.txt&&& C:\Temp\ffmpeg\ffmpeg.exe -iI:\somefolder\testInput.movI:\somefolder\testOutput.mov

这里是我目前的python代码:

  ffreport =level = 48:file = {}。format(self.logFilePath)+&& 
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags | = subprocess.STARTF_USESHOWWINDOW
self.process1 = Popen(command,startupinfo = startupinfo,shell = False,env = {'SET FFREPORT ':ffreport})

这导致Windows报告ffmpeg已停止工作
不确定如何修复。

解决方案

  command = rC:\Temp\\ \\ffmpeg\ffmpeg.exe -i我:\somefolder\testInput.mov我:\somefolder\testOutput.mov

self.process1 = Popen(
shlex。 split(命令),shell = False,
env = dict(FFREPORT =level = 48:file = C\:\\temp\\TESTFFMPEGOUTPUT.txt))


I am trying to run an ffmpeg command on Windows 7 (python 2.7) which runs on command line just fine, but the env of my Popen is not working. Here is the working command line:

SET FFREPORT=level=48:file=C\:\\temp\\TESTFFMPEGOUTPUT.txt && C:\Temp\ffmpeg\ffmpeg.exe -i "I:\somefolder\testInput.mov" "I:\somefolder\testOutput.mov"

And here is my current python code:

ffreport = "level=48:file={}".format(self.logFilePath) + " && "
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
self.process1 = Popen(command, startupinfo=startupinfo, shell=False, env={'SET FFREPORT':ffreport})

This results in windows reporting "ffmpeg has stopped working". Not sure how to fix.

解决方案

command = r"C:\Temp\ffmpeg\ffmpeg.exe -i I:\somefolder\testInput.mov I:\somefolder\testOutput.mov"

self.process1 = Popen(
        shlex.split(command), shell=False, 
        env=dict(FFREPORT="level=48:file=C\:\\temp\\TESTFFMPEGOUTPUT.txt"))

这篇关于Python Popen - env - ffmpeg crash的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆