7

这是一个 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 没有正确编译,所以它永远找不到预设?我没有编译它,所以不能确定。

感谢并为这个问题的冗长感到抱歉。

尼尔森

4

1 回答 1

8

好吧..原来我使用的 ffmpeg 没有编译为与 h.264 编解码器一起使用,这就是它不寻找预设的原因。

为了修复它,我或多或少遵循了此链接中描述的步骤:http: //www.pawprint.net/news/?action=view &nid=105

有些东西已经安装了,所以我没有做那里描述的所有事情,但指南确实帮助了我很多。希望它也可以帮助其他有同样问题的人。

尼尔森

于 2010-12-01T22:18:52.383 回答