9

我有 xp,因为我不熟悉编译,所以我下载了 ffmpeg 的 win32-static 版本,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”)。我应该怎么办?

4

6 回答 6

21

对于 x264 预设,新版本将使用“-preset”,而不是使用“-vpre”,因为这将直接调用 x264 预设。

于 2012-07-08T16:50:38.520 回答
1

这个问题似乎与XP有关,它适用于Win2K。我检查了 filemon,它显示它正在 X:\usr\local\share\ffmpeg 中查找文件 libx264-veryslow.ffpreset 或 veryslow.ffpreset - 其中 X 是您运行 ffmpeg 的驱动器。我在驱动器上创建了路径,复制了所有预设,现在它可以工作了!

于 2011-03-12T21:39:28.567 回答
0

ffmpeg says that it cannot find your preset file, hq.ffpreset in your case. more info in ffmpeg docs

[EDIT] presets are just for convenience. if you have hq.ffpreset file so just take everything from it and put in command line directly

于 2011-01-31T21:17:27.420 回答
0

由于您正在运行 Windows,除非您更改 %HOME% 变量,否则您需要输入“hq.ffpreset”的完整路径。它可能被命名为“libx264-hq.ffpreset”。此外,这可能适用也可能不适用,但请确保您的构建是使用 libx264 支持制作的。如果我知道我是否被允许,我会链接到我个人的 win32 ffmpeg 1.2 共享版本。我可以确认此命令适用于此版本。

如果您根本没有 HQ 预设文件,我在这里找到了一个版本的链接: https ://raw.github.com/joeyblake/FFmpeg-Presets/master/libx264-hq.ffpreset

把它放在你想要的任何地方(%PATH% 上的某个地方可能会很好)。

于 2013-09-05T15:35:34.150 回答
0

这里展示了两个解决方案,供 Windows 用户帮助 FFmpeg 找到它的 x264 预设文件夹。每个解决方案都附带一个批处理文件,以使解决方案整体自动化。

仅使用其中一种解决方案。

第一个解决方案是最简单的,但您必须在您希望使用 FFmpeg 的每个驱动器上重复它。如果您不想这样做,请使用第二种解决方案。它有点复杂,但批处理文件使过程变得轻松。

同样,不要同时使用这两种解决方案。我强烈支持解决方案 2。


解决方案 1

FFmpeg 在 中查找 x264 预设 C:\usr\local\share\ffmpeg该目录需要在 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 在 需要在 Windows 中创建的环境中%HOME%\.ffmpeg查找x264 预设:

首先,创建两个文件夹:

  • 创建文件夹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

于 2013-01-28T08:35:15.200 回答
0

ffmpeg 项目已重命名为 avconv,因此目录名称已更改以反映这一点。该文档指出:

首先 ffmpeg 在目录“$FFMPEG_DATADIR”(如果已设置)和“$HOME/.ffmpeg”以及配置时定义的数据目录(通常为“PREFIX/share/ffmpeg”)中搜索名为 arg.ffpreset 的文件,或者在 win32 上的可执行文件的“ffpresets”文件夹中,按此顺序。例如,如果参数是 libx264-max,它将搜索文件“libx264-max.ffpreset”。

这意味着它现在将查看$HOME/.avconv并且PREFIX/share/avconv通常是/usr/share/avconv.

于 2012-06-01T16:35:16.783 回答