gpt4 book ai didi

python - ffmpeg 在 python 中使用 libardrone

转载 作者:行者123 更新时间:2023-11-30 15:28:54 25 4
gpt4 key购买 nike

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

drone = libardrone.libardrone.ARDrone(True)

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

错误结果是

回溯(最近一次调用最后一次):

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

最佳答案

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

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

关于python - ffmpeg 在 python 中使用 libardrone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26411250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com