ffmpeg在python使用libardrone中的应用

ffmpeg在python使用libardrone中的应用,python,c,django,python-2.7,ffmpeg,Python,C,Django,Python 2.7,Ffmpeg,最近我尝试使用AR.drone 2.0进行基于视觉的控制。我在第一步遇到了一个问题,那就是将从无人机上看到的视频导入我的电脑。我在网上搜索,发现有一个名为的库。我试图使用它,但当我做的第一步是初始化。我写 drone = libardrone.libardrone.ARDrone(True) 问题出现在ffmpeg的安装过程中。实际上,我在路径中安装并设置了ffmpeg\bin,但我不知道为什么它总是跳出这个错误 这个错误原来是错误的 回溯(最近一次呼叫最后一次): 调试这一点的最简单方法是使

最近我尝试使用AR.drone 2.0进行基于视觉的控制。我在第一步遇到了一个问题,那就是将从无人机上看到的视频导入我的电脑。我在网上搜索,发现有一个名为的库。我试图使用它,但当我做的第一步是初始化。我写

drone = libardrone.libardrone.ARDrone(True)
问题出现在ffmpeg的安装过程中。实际上,我在路径中安装并设置了ffmpeg\bin,但我不知道为什么它总是跳出这个错误

这个错误原来是错误的

回溯(最近一次呼叫最后一次):


调试这一点的最简单方法是使用该代码(您在“which”函数中找到)创建一个脚本文件,并根据ffmpeg可执行文件的路径运行它。您可能有一些用户权限问题,或者路径格式不正确

显然,无法找到或访问可执行文件

File "C:\Python27\dronetest.py", line 7, in <module>
    drone=libardrone.ARDrone(is_ar_drone_2=True,hd=True)
  File "C:\Python27\lib\site-packages\libardrone\libardrone.py", line 126, in __init__
    self.network_process = arnetwork.ARDroneNetworkProcess(com_pipe_other, is_ar_drone_2, self)
  File "C:\Python27\lib\site-packages\libardrone\arnetwork.py", line 45, in __init__
    self.ar2video = ar2video.ARVideo2(self._drone, libardrone.DEBUG)
  File "C:\Python27\lib\site-packages\libardrone\ar2video.py", line 37, in __init__
    self.h264 = h264decoder.H264Decoder(self, drone.image_shape)
  File "C:\Python27\lib\site-packages\libardrone\h264decoder.py", line 82, in __init__
    raise Exception("You need to install ffmpeg to be able to run ardrone")
Exception: You need to install ffmpeg to be able to run ardrone
 if (H264Decoder.which('ffmpeg') is None):
                    raise Exception("You need to install ffmpeg to be able to run ardrone")

....


def which(program):
        def is_exe(fpath):
            return os.path.isfile(fpath) and os.access(fpath, os.X_OK)

        fpath, fname = os.path.split(program)
        if fpath:
            if is_exe(program):
                return program
        else:
            for path in os.environ["PATH"].split(os.pathsep):
                path = path.strip('"')
                exe_file = os.path.join(path, program)
                if is_exe(exe_file):
                    return exe_file

        return None