ffmpeg h264 проблема: «Файл для пресета ... не найден» в XP - PullRequest
8 голосов
/ 01 февраля 2011

У меня есть XP, и так как я не знаком с компиляцией, я скачал win32-статическую версию ffmpeg, svn-r26251. Я хочу изменить размер MP4 (изначально 1280x720) видео, чтобы получить меньший размер файла примерно с тем же качеством. Моя команда:

ffmpeg -i ma.mp4 -vcodec libx264 -vpre hq -s 640x360 ma2.mp4

однако там написано "файл для предустановки 'hq' not found". я попробовал -fpre, без разницы. без libx264 результирующий файл ma2.mp4 не будет воспроизводиться в jwplayer, вы просто слышите звук. (причина в том, что это не «mpeg4 (h264)», это просто «mpeg4»). что мне делать?

Ответы [ 6 ]

20 голосов
/ 08 июля 2012

Для предустановки x264 вместо использования "-vpre" новые сборки будут работать с "-preset", так как это вызовет предустановку x264 напрямую.

1 голос
/ 13 марта 2011

Эта проблема, похоже, связана с XP, она работает на Win2K. Я проверил с помощью filemon, и он показывает, что он ищет в X: \ usr \ local \ share \ ffmpeg файлы libx264-veryslow.ffpreset или veryslow.ffpreset - где X - диск, с которого вы запускаете ffmpeg. Я создал путь на диске, скопировал все пресеты и теперь он работает!

0 голосов
/ 05 сентября 2013

Поскольку вы работаете в 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% может хорошо работать).

0 голосов
/ 28 января 2013

Представленные здесь два решения для пользователей 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 .

SOLUTION 2

FFmpeg ищет пресеты x264 в %HOME%\.ffmpeg, среда, которую необходимо создать в 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 папка.

0 голосов
/ 01 июня 2012

Проект ffmpeg был переименован в avconv, поэтому имена каталогов были изменены, чтобы отразить это.Документация гласит:

Сначала ffmpeg ищет файл с именем arg.ffpreset в каталогах '$ FFMPEG_DATADIR' (если установлен) и '$ HOME / .ffmpeg', а также в каталоге данных, определенном ввремя конфигурации (обычно 'PREFIX / share / ffmpeg') или в папке 'ffpresets' вдоль исполняемого файла на win32, в указанном порядке.Например, если аргумент равен libx264-max, он будет искать файл 'libx264-max.ffpreset'.

Это означает, что теперь он будет смотреть на $HOME/.avconv, а также PREFIX/share/avconv, чтообычно /usr/share/avconv.

0 голосов
/ 01 февраля 2011

ffmpeg говорит, что не может найти ваш предустановленный файл, hq.ffpreset в вашем случае. больше информации в ffmpeg docs

[РЕДАКТИРОВАТЬ] пресеты только для удобства. если у вас есть файл hq.ffpreset, просто возьмите все из него и вставьте непосредственно в командную строку

...