【问题标题】:ffmpeg in the use of libardrone by pythonffmpeg 在 python 中使用 libardrone
【发布时间】:2014-10-16 18:18:09
【问题描述】:

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

drone = libardrone.libardrone.ARDrone(True)

问题出现在安装ffmpeg。我实际上在我的路径中安装并设置了ffmpeg\bin,但我不知道为什么它总是跳出这个错误

错误原来是

Traceback(最近一次调用最后一次):

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

h264decoder.py中的相关代码是

 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

【问题讨论】:

    标签: python c django python-2.7 ffmpeg


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-01-18
      • 2019-02-11
      • 2021-11-23
      • 1970-01-01
      • 2018-12-11
      • 1970-01-01
      • 2017-09-30
      • 2015-09-10
      • 1970-01-01
      相关资源
      最近更新 更多