我有xp,因为我不熟悉编译我下载的winf-static版本的ffmpeg,svn-r26251。我想调整mp4(最初的1280x720)视频的大小,以获得更小的文件大小,质量大致相同。我的命令是:
ffmpeg -i ma.mp4 -vcodec libx264 -vpre hq -s 640x360 ma2.mp4
然而它说“未找到'预设'hq'文件”。我试过-fpre,没有任何区别。如果没有libx264,生成的文件ma2.mp4将无法在jwplayer中播放,您只需听到音频。 (原因是它不是“mpeg4(h264)”,它只是“mpeg4”)。我该怎么办?
答案 0 :(得分:19)
对于x264预设,而不是使用“-vpre”,新版本将使用“-preset”,因为这将直接调用x264预设。
答案 1 :(得分:1)
这个问题似乎与XP有关,它适用于Win2K。我检查了filemon,它显示它在X:\ usr \ local \ share \ ffmpeg中查找文件libx264-veryslow.ffpreset或veryslow.ffpreset - 其中X是您运行ffmpeg的驱动器。我在驱动器上创建了路径,复制了所有预设,现在它可以工作了!
答案 2 :(得分:0)
ffmpeg表示在您的情况下无法找到您的预设文件hq.ffpreset
。更多信息ffmpeg docs
[EDIT]预设只是为了方便起见。如果您有hq.ffpreset
文件,那么只需从中获取所有内容并直接放入命令行
答案 3 :(得分:0)
ffmpeg项目已重命名为avconv,因此目录名称已更改以反映此情况。 文档说明:
首先在ffmpeg中搜索名为arg.ffpreset的文件 目录'$ FFMPEG_DATADIR'(如果设置)和'$ HOME / .ffmpeg',以及 配置时定义的datadir(通常是 'PREFIX / share / ffmpeg')或沿着可执行文件的'ffpresets'文件夹 在win32上,按顺序。例如,如果参数是libx264-max, 它将搜索文件'libx264-max.ffpreset'。
这意味着它现在会查看$HOME/.avconv
和PREFIX/share/avconv
,通常为/usr/share/avconv
。
答案 4 :(得分:0)
这里介绍两种Windows用户解决方案,帮助FFmpeg找到x264预设文件夹。随附每个解决方案的是批处理文件,以完整地自动化解决方案。
只使用其中一种解决方案。
第一个解决方案最简单,但您必须在每个要使用FFmpeg的驱动器上重复此操作。如果您不希望这样做,请使用第二种解决方案。它有点复杂,但批处理文件使这个过程变得轻松。
同样,不要同时使用这两种解决方案。我强烈赞成解决方案2。
解决方案1
FFmpeg在 C:\usr\local\share\ffmpeg
中查找x264预设,需要在Windows中创建的目录:
C:\usr\local\share\ffmpeg
~ffmpeg\presets
复制到新文件夹中。或者将以下内容作为批处理文件运行:
::BEGIN SOLUTION 1 BATCH FILE
md C:\usr\local\share\ffmpeg
copy "C:\Program Files (x86)\ffmpeg\presets" C:\usr\local\share\ffmpeg
::END SOLUTION 1 BATCH FILE
在运行此批处理文件之前,请务必将 C:\Program Files (x86)\ffmpeg\presets
更改为 ~\ffmpeg\presets
文件夹的当前位置。
解决方案2
FFmpeg在 %HOME%\.ffmpeg
中寻找x264预设,需要在Windows中创建的环境:
首先,创建两个文件夹:
HOME
(在此示例中,我将在C:\Users\your_user_name\HOME
}找到它; HOME
内创建另一个名为.ffmpeg
的新文件夹(记下文件名开头的句点); ~\ffmpeg\presets
中的所有预设文件复制到新文件夹C:\Users\your_user_name\HOME\.ffmpeg
your_user_name
更改为实际用户名然后将文件夹HOME
建立为环境变量%HOME%
:
Control Panel\System and Security\System
; Advanced system settings
(窗口左侧); Environment Variables
(靠近底部的按钮); New...
(在系统变量下,为所有用户提供预设); Variable name:
中输入HOME
Variable value:
中输入C:\Users\your_user_name\HOME
your_user_name
更改为实际用户名或者将以下内容作为批处理文件运行:
::BEGIN SOLUTION 2 BATCH FILE
md %userprofile%\HOME
md %userprofile%\HOME\.ffmpeg
copy "C:\Program Files (x86)\ffmpeg\presets" %userprofile%\HOME\.ffmpeg
setx HOME %userprofile%\HOME\ /m
::END SOLUTION 2 BATCH FILE
在运行此批处理文件之前,请务必将 C:\Program Files (x86)\ffmpeg\presets
更改为 ~\ffmpeg\presets
文件夹的当前位置。
答案 5 :(得分:0)
由于您正在运行Windows,除非您更改%HOME%变量,否则您需要输入“hq.ffpreset”的完整路径。它可能被命名为“libx264-hq.ffpreset”。 此外,这可能适用也可能不适用,但请确保您的构建是使用libx264支持。 如果我知道我是否被允许,我会链接到我的个人ffmpeg 1.2共享版本的win32。我可以确认此命令适用于此版本。
如果你根本没有HQ预设文件,我在这里找到了一个版本的链接: https://raw.github.com/joeyblake/FFmpeg-Presets/master/libx264-hq.ffpreset
将它放在任何你想要的地方(%PATH%上的某个地方可能会运作良好)。