Есть возможность по скайпу мне помочь настроить модуль ffmpeg(не за спасибо конечно), чтобы он контачил с пхп?
Чем помощь в рамках форума не устраивает, к тому же бесплатная? Я Вам уже пытался объяснить, что это очень плохая идея, но вполне реализуемая. Итак, для начала решите, хватит ли у Вас мужества откатить apache, php и ffmpeg до актуальных версий дистрибутива Ubuntu
12.04. Ещё не передумали? Точно? Может стоит все-таки переписать часть сайта?
Предупреждаю, я не несу никакой ответственности за все действия, которые Вы сделаете, следуя моим советам! Рекомендую Вам сначала проверить жизнеспособность всех своих действий на виртуальной машине под управлением Ubuntu 14.04, а уже потом браться за реальную машину. Вот список откатываемых версий пакетов:
| Ubuntu 14.04 | Ubuntu 12.04 |
apache2 | 2.4.7 | 2.2.22 |
php5 | 5.5.9 | 5.3.10 |
ffmpeg | ? | 0.8.17 |
php5-ffmpeg | отсутствует | 0.6.0 |
Все еще хотите продолжить? Если в системе уже установлены apache2/php/ffmpeg, необходимо их удалить, предварительно сделав резервные копии настроек (если таковые имеются):
sudo apt-get remove --purge apache2 php5 ffmpeg libav-tools
Далее распакуйте из вложенного в сообщение архива файлы precise.list и php5-ffmpeg.pref в каталоги /etc/apt/sources.list.d/ и /etc/apt/preferences.d/ соответственно:
sudo tar xzvf precise.list_php5-ffmpeg.pref.tar.gz -C /etc/apt/sources.list.d/ precise.list
sudo tar xzvf precise.list_php5-ffmpeg.pref.tar.gz -C /etc/apt/preferences.d/ php5-ffmpeg.pref
После чего выполните команду:
sudo apt-get update
Ну и последний этап это установка:
sudo apt-get install apache2 php5 php5-ffmpeg ffmpeg
Вот и все шаги для понижения версий пакетов и установки отсутствующего в 14.04 пакета php5-ffmpeg. Работает ли? Ох, не знаю. Обертку php-ffmpeg ставил с помощью composer:
cd /var/www
touch composer.json
{
"require": {
"php-ffmpeg/php-ffmpeg": "~0.5"
}
}
sudo composer install
Ну и напоследок поместил в index.php выдранный из документации следующий код:
<?php
require_once __DIR__.'/vendor/autoload.php';
use FFMpeg\FFMpeg;
use FFMpeg\Coordinate\Dimension;
use FFMpeg\Coordinate\TimeCode;
use FFMpeg\Format\Video\X264;
use FFMpeg\Format\Video\WMV;
use FFMpeg\Format\Video\WebM;
$ffmpeg = FFMpeg::create();
$video = $ffmpeg->open('KARINA.mp4');
$video
->filters()
->resize(new Dimension(320, 240))
->synchronize();
$video
->save(new WMV(), 'export-wmv.wmv')
->save(new WebM(), 'export-webm.webm');
?>
Сработало ли? Думаю нет! В логах:
Uncaught exception 'Alchemy\\BinaryDriver\\Exception\\ExecutionFailureException' with message 'ffmpeg failed to execute command '/usr/bin/avconv' '-y' '-i' 'KARINA.mp4' '-async' '1' '-metadata:s:v:0' 'start_time=0' '-s' '320x240' '-vcodec' 'wmv2' '-acodec' 'wmav2' '-b:v' '1000k' '-refs' '6' '-coder' '1' '-sc_threshold' '40' '-flags' '+loop' '-me_range' '16' '-subq' '7' '-i_qfactor' '0.71' '-qcomp' '0.6' '-qdiff' '4' '-trellis' '1' '-b:a' '128k' 'export-wmv.wmv'' in /var/www/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessRunner.php:100\nStack trace:\n#0 /var/www/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/ProcessRunner.php(72): Alchemy\\BinaryDriver\\ProcessRunner->doExecutionFailure(''/usr/bin/avcon...')\n#1 /var/www/vendor/alchemy/binary-driver/src/Alchemy/BinaryDriver/AbstractBinary.php(209): Alchemy\\BinaryDriver\\ProcessRunner->run(Object(Symfony\\Component\\Process\\Process), Object(SplObjectStorage), false)\n#2 /var/www/vendor/alchemy/binary-driver/s in /var/www/vendor/php-ffmpeg/php-ffmpeg/src/FFMpeg/Media/Video.php on line 168
И никаких конвертированных файлов не создалось. Но вероятней всего тут я что-то нахимичил, т.к. этот код не сработал даже в Ubuntu 12.04, выдав ту же портянку с необработанным исключением. Вникать в детали не стал. Надеюсь у Вас все заработает. Если возникнут вопросы, задавайте! Поможем с радостью. Удачи!
UPDATE: Забыл изменить владельца каталога /var/www/, поэтому и выбрасывалось необработанное исключение. Все отлично работает! К тому же будьте готовы, что откатятся не только те пакеты, которые были выше перечислены в таблице, но и некоторые другие (если они используются в Вашем проекте), например php5-mysql. Возможно потребуется откатывать и саму БД mysql, для этого достаточно внести запись о пакете в файл php5-ffmpeg.pref. О структуре этого файла можете подробно узнать в man apt_preferences.