2012-03-26 4 views
0

Попытка конвертировать мое видео с использованием php и ffmpeg, но ниже код не дает мне никакого результата или выходного файла? Вы знаете, почему и что я делаю неправильно? Я должен иметь файл test.webm взамен, но не имеют его :-(Команда Exec не работает?

<?php 
exec("ffmpeg -i test.mp4 -ab 96k -b:v 700k -ar 44100 -s 640x480 test.webm"); 
?> 
+0

Попробуйте указать абсолютные пути (для команды и вывода) .. и как вы ожидаете «иметь файл test.webm в ответ» ???? – ManseUK

+0

Является ffmpeg в PATH? Добавьте две переменные в качестве параметров в 'exec' и' var_dump() 'после вызова. – AndreKR

+0

Выполняет ли 'exec()' что-то? Пожалуйста, опубликуйте результат 'echo exec()'. –

ответ

2

Прибивание вниз Exec() проблемы:

Я предлагаю вам проверить, что exec() дает ответ:

echo exec(...); 

Конечно, может случиться так, что ffmpeg просто не в вашем PATH. в этом случае exec() будет четко об этом, и вы, возможно, потребуется указать абсолютный путь к ffmpeg, то есть:

Linux:

exec("/path/to/ffmpeg ..."); 

Окна:

exec("c:\\path\\to\\ffmpeg ..."); 

Фоновая задача:

Другой проблемой является то, что ffmpeg может работать в течение довольно долго время, которое t приведет к таймауту. Чтобы избежать этой проблемы, вы можете выполнить ffmpeg в фоновом режиме, добавляя & в конце вашей команды, или, для Windows, добавляя cmd /C перед вашей фактической команды:

Linux:

exec("ffmpeg -i test.mp4 -ab 96k -b:v 700k -ar 44100 -s 640x480 test.webm &"); 

Окна:

exec("cmd /C ffmpeg -i test.mp4 -ab 96k -b:v 700k -ar 44100 -s 640x480 test.webm"); 

В этом случае exec() вернется немедленно, оставив ffmpeg() работает в фоновом режиме. ffmpeg() процесс завершится, как только он выполнит его выполнение. Но, конечно, вам нужно реализовать какой-то механизм мониторинга, если вы хотите уведомить пользователя о завершении преобразования, а файл с конверсией доступен для загрузки.

+0

все еще не делает, даже один раз использовать эхо для печати: – user974435

+0
+0

Попробуйте это вместо: ''. Используйте двойные слэши в Windows! –

Смежные вопросы