Не могу найти предустановленные файлы - PullRequest
7 голосов
/ 22 ноября 2010

это проблема ffmpeg. Я получил эту ошибку, говоря, что не смог найти предустановленный файл hq, затем я прочитал в документации, что он ищет предустановленные файлы в 'PREFIX / share / ffmpeg', а также в '$ HOME / .ffmpeg'. Дело в том, что я вызываю ffmpeg из php-файла, который вызывает скрипт python, который, наконец, выполняет команду, например, «commands.getstatusoutput (command)», поэтому я не был уверен, кто был пользователем.

Решение? Я просто использовал -fpre, и мой вызов теперь выглядит так:

/ usr / local / bin / ffmpeg -i ../files/tmpvideos/myStream.flv -y -acodec libfaac -ab 96k -b 800k -макс. 800k -мин. 600k -буфизировать 800k -s 720x640 -vcodec libx264 - g 300 -r 20 -fpre /home/admin/.ffmpeg/libx264-hq.ffpreset - нити 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 был скомпилирован неправильно, поэтому он никогда не найдет пресеты? Я не скомпилировал его, поэтому не уверен.

Спасибо и простите за многословие вопроса.

Nelson

1 Ответ

8 голосов
/ 02 декабря 2010

Хорошо ... оказалось, что используемый мной ffmpeg не был скомпилирован для работы с кодеком h.264, поэтому он не искал пресеты.

Чтобы это исправить, я более или менее выполнил шаги, описанные в этой ссылке: http://www.pawprint.net/news/?action=view&nid=105

Некоторые вещи уже были установлены, поэтому я не делал всего, что там описано, но руководство, безусловно, мне очень помогло. Надеюсь, это поможет другим людям, имеющим ту же проблему.

Nelson

...