为什么我的退出状态为1?

时间:2018-05-23 20:55:59

标签: python ffmpeg exit spyder

所以,我正在编写此代码来分析此视频,但当我尝试在Spyder,Anaconda中运行时,我正面临这个问题:

<form>

所以,这段代码在iPython中运行良好但我在尝试使用Spyder时遇到了问题。如果一切顺利,res1应该具有0的退出状态,但它是1.但是,我不知道出了什么问题。它在调用时运行subprocess.check_output时所说的全部是:

import subprocess
from subprocess import call
import math

##Converts the given file into a series of images
def Video_to_Image_Converter(fileName):
    res1 = call("ffmpeg -i " + fileName + " -vf fps=1 frame-%d.jpg", shell=True)
    print(res1)
    result = subprocess.Popen('ffprobe -i '+ fileName +' -show_entries format=duration -v quiet -of csv="p=0"', stdout=subprocess.PIPE,stderr=subprocess.STDOUT, shell=True)
    output = result.communicate()
    print(output)
    #return math.ceil(float(output[0])) + 1


if __name__ == '__main__':
    videoLength = Video_to_Image_Converter('sampleVideo.wmv')
    print(videoLength)

请帮忙。

1 个答案:

答案 0 :(得分:0)

所以,我想出了问题。我在我的计算机上安装了ffmpeg但由于某种原因,Anaconda似乎没有使用环境变量来查找它应该运行的程序。似乎Anaconda有自己的已安装程序集,我不得不使用
通过conda安装它     &#34; conda install -c menpo ffmpeg&#34; (来自https://anaconda.org/menpo/ffmpeg)。