在Digital Ocean部署应用时,如何解决videohash的FFmpegNotFound错误?
解决
videohash.exceptions.FFmpegNotFound错误 核心问题
你之前添加到PATH的是Python的ffmpeg包目录,这个包只是FFmpeg的Python封装接口,不是实际的FFmpeg可执行程序。videohash需要调用系统级安装的FFmpeg二进制文件,这才是报错的根本原因。
解决步骤
安装系统级FFmpeg
根据你的Digital Ocean服务器系统类型执行对应命令:- Debian/Ubuntu系:
sudo apt update && sudo apt install ffmpeg -y - CentOS/RHEL系:
sudo yum install epel-release -y && sudo yum install ffmpeg -y
- Debian/Ubuntu系:
验证安装有效性
安装完成后,在终端执行:ffmpeg -version若能输出FFmpeg版本信息,说明安装成功,此时videohash应该能自动检测到FFmpeg,无需额外配置
PATH。手动指定FFmpeg路径(可选)
若系统安装后仍报错,可在代码中直接指定FFmpeg可执行文件路径:from videohash import VideoHash # 替换为实际路径,通常为/usr/bin/ffmpeg video_hash = VideoHash( path="/path/to/target/video.mp4", ffmpeg_path="/usr/bin/ffmpeg" )修复环境变量生效问题
你之前修改./bashrc的方式仅对交互式shell生效,应用进程可能未加载该配置。若需通过环境变量指定,需在应用启动脚本中直接设置:# 确保系统FFmpeg所在目录(如/usr/bin)在PATH中 export PATH="$PATH:/usr/bin" # 启动应用 python your_application.py
内容的提问来源于stack exchange,提问作者Alarm-1202
相关产品推荐
相关产品推荐

