ffprobe error (see stderr output for detail)解决

在使用Python的subprocess.Popen调用ffprobe时遇到'ffprobe不是可执行程序'的错误,尽管在CMD中能正常运行。通过添加输出字符编码,发现问题是环境变量未识别ffprobe。检查环境变量配置无误后,发现subprocess.Popen可能使用的是用户注销前的环境变量。重启电脑后,问题得到解决,表明subprocess.Popen在Windows下可能存在的环境变量延迟更新问题。
摘要由CSDN通过智能技术生成

修改probe文件  p = subprocess.Popen(args, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, encoding='gbk')

当我用cmd调用ffprobe的时候完全没问题,

但是切换subprocess.Popen就一直报错

当把源码里面加入输出字符格式

然后打印,发现真正的报错是ffprobe不是一个可运行的程序,也就是环境变量识别失败

然后我去查看环境变量,发现并没有配置错误

然后我就思考会不会是subprocess.Popen本身存在问题,

果不其然,,,,当我用subprocess.Popen答应set命令,发现环境变量没有ffprobe的

然后我重启电脑后,再次使用subprocess.Popen,就好了,打印出来了

subprocess.Popen读取的上一次用户注销前的环境变量,,,,

话说这是windows,,总之重启之后就解决了

def probe(filename, cmd='ffprobe', **kwargs):
    """Run ffprobe on the specified file and return a JSON representation of the output.

    Raises:
        :class:`ffmpeg.Error`: if ffprobe returns a non-zero exit code,
            an :class:`Error` is returned with a gene
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值