【问题标题】:ffmpeg h264 problem: "File for preset ... not found" on XPffmpeg h264 问题:XP 上的“预设文件...未找到”
【发布时间】:2011-06-18 20:50:07
【问题描述】:

我有 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”)。我该怎么办?

【问题讨论】:

  • 不赞成投票指出问题有什么问题?

标签: ffmpeg preset


【解决方案1】:

由于您正在运行 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% 上的某个地方可能会很好)。

【讨论】:

    【解决方案2】:

    这里提供了两个解决方案,供 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 文件夹的当前位置。 p>

    解决方案 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 文件夹的当前位置。 p>

    【讨论】:

    • 似乎 ffmpeg 试图从开发者的计算机中读取预设!确切地说来自\home\kyle\software\ffmpeg\builds\win64\static\ffmpeg-3.2-win64-static\share\ffmpeg\libx264-*.avpreset 文件,并且不会尝试查看上面建议的任何文件夹。所有 3.2 及以上版本都会发生同样的情况
    【解决方案3】:

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

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

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

          ffmpeg 说它找不到您的预设文件,hq.ffpreset 在您的情况下。更多信息ffmpeg docs

          [EDIT] 预设只是为了方便。如果您有hq.ffpreset 文件,那么只需从中获取所有内容并直接输入命令行

          【讨论】:

          • 有一个预设文件夹,所有预设文件都在此文件夹中...我尝试使用“-fpre”按照文档中的说明手动输入预设文件,但没有任何改变。我尝试了以下命令: ffmpeg -i ma.mp4 -vcodec libx264 -fpre "C:\ffmpeg\presets\libx264-baseline.ffpreset" ma2.mp4
          • 我在 Windows 7 上更高版本的 ffmpeg 中遇到了同样的问题。我尝试了 -fpre 和 -vpre 以及我能想到的任何其他方法。没有任何效果,所以不得不使用 -vprofile。不确定这是否适用于 hq。对于自定义,我使用了 x264 命令行参数。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-09-28
          • 2017-04-23
          • 2011-08-24
          • 2012-10-12
          • 2018-02-16
          • 1970-01-01
          • 2017-02-24
          相关资源
          最近更新 更多