网站设计网站项目流程图,网络 企业网站,保山市建设厅官方网站,最新军事动态最新消息但是我的项目报错了 Unrecognized option ‘crf’. Error splitting the argument list: Option not found#xff0c;我需要安装完整版 FFmpeg#xff0c;在服务器的/home/slx 下面有一个文件夹ffmpeg-7.0.2-amd64-static#xff0c;请问我要怎么操作#xff0c;才能让项目…但是我的项目报错了 Unrecognized option ‘crf’. Error splitting the argument list: Option not found我需要安装完整版 FFmpeg在服务器的/home/slx 下面有一个文件夹ffmpeg-7.0.2-amd64-static请问我要怎么操作才能让项目顺利运行不再报错
你遇到的错误
Unrecognized option crf.
Error splitting the argument list: Option not found说明你当前系统中的 FFmpeg 版本 不支持 -crf 参数这个参数只有 完整版 FFmpeg支持 x264 编码器 才支持。
你已经有了一个静态编译的 FFmpeg 完整版本
/home/slx/ffmpeg-7.0.2-amd64-static/里面有可执行文件 ffmpeg现在我们来解决 ✅ 解决方案使用该目录下的 FFmpeg 作为默认命令
你有两个方案推荐方案 1 更方便全局使用。 ✅ 方案 1将静态 FFmpeg 添加到 PATH全局使用
打开或创建 shell 启动文件
nano ~/.bashrc在文件最后添加
export PATH/home/slx/ffmpeg-7.0.2-amd64-static:$PATH让配置生效
source ~/.bashrc确认是否生效
which ffmpeg应输出
/home/slx/ffmpeg-7.0.2-amd64-static/ffmpeg再确认版本支持
ffmpeg -version应显示带有 --enable-gpl --enable-libx264 字样。 ✅ 方案 2项目代码中指定完整 ffmpeg 路径仅项目内使用
如果你不想影响全局可以修改项目中调用 ffmpeg 的地方比如
import subprocess
subprocess.run([/home/slx/ffmpeg-7.0.2-amd64-static/ffmpeg,-i, input.mp4,-c:v, libx264,-crf, 23,output.mp4
])或者把 ffmpeg 替换为 FFMPEG_PATH
FFMPEG_PATH /home/slx/ffmpeg-7.0.2-amd64-static/ffmpeg检查当前 ffmpeg 是否支持 -crf
你也可以手动验证
ffmpeg -h encoderlibx264如果输出中有 -crf说明支持。如果报错或没这参数就是你原来那个版本太简化。 ❗容器中也要注意
如果你是 Docker 容器中运行的项目即使你在 /home/slx/ 外面配置好了在容器里也看不到。
此时你需要
启动 Docker 时挂载进去
-v /home/slx/ffmpeg-7.0.2-amd64-static:/ffmpeg然后在容器里使用 /ffmpeg/ffmpeg 执行。 如你愿意我也可以帮你分析项目中是哪里调用了 ffmpeg并给出如何替换调用路径的方法。是否需要