这是一个 ffmpeg 问题。我收到这个错误,说它找不到 hq 预设文件,然后我在文档中读到它在“PREFIX/share/ffmpeg”和“$HOME/.ffmpeg”中查找预设文件。问题是我从一个 php 文件中调用 ffmpeg,该文件调用一个 python 脚本,该脚本最终执行类似于“commands.getstatusoutput(command)”之类的命令,所以我不确定用户是谁。
解决方案?我刚刚使用了 -fpre,我的调用现在看起来像这样:
/usr/local/bin/ffmpeg -i ../files/tmpvideos/myStream.flv -y -acodec libfaac -ab 96k -b 800k -maxrate 800k -minrate 600k -bufsize 800k -s 720x640 -vcodec libx264 -g 300 - r 20 -fpre /home/admin/.ffmpeg/libx264-hq.ffpreset -threads 0 ../files/tmpvideos/4647-60.mp4
我在 /home/admin 下创建了该目录,并且 100% 确定该文件现在在那里,但 ffmpeg 仍然说:
File for preset '/home/admin/.ffmpeg/libx264-hq.ffpreset' not found
所以我不确定为什么它不起作用,因为我现在指定了完整的路径。有任何想法吗?
我在想的一个原因是它可能没有正确编译,就像所有的标志和东西一样。我的意思是,虽然一些输出看起来像这样:
FFmpeg version SVN-r22976, Copyright (c) 2000-2010 the FFmpeg developers
built on Apr 30 2010 12:03:12 with gcc 4.2.1-sjlj (mingw32-2)
configuration: --enable-shared --enable-static --enable-memalign-hack
--enable
-libmp3lame --enable-libx264 --enable-gpl
libavutil 50.14. 0 / 50.14. 0
libavcodec 52.66. 0 / 52.66. 0
libavformat 52.61. 0 / 52.61. 0
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0.10. 0 / 0.10. 0
我的看起来更像这样:
Output: FFmpeg version 0.6.1, Copyright (c) 2000-2010 the FFmpeg developers
built on Nov 12 2010 16:32:38 with gcc 4.1.2 20080704 (Red Hat 4.1.2-48)
configuration:
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0.11. 0 / 0.11. 0
没有配置的东西。你怎么看?可能是这个 ffmpeg 没有正确编译,所以它永远找不到预设?我没有编译它,所以不能确定。
感谢并为这个问题的冗长感到抱歉。
尼尔森