или отслеживание PID процесса ffmpeg и проверка с помощью

ужен конкретный код, чтобы проверить с помощью PHP, если это сделано, кодирование видео с помощью ffmpeg. Мне просто нужна простая проверка истинности / ложности. True, если кодирование выполнено, и false, если это не сделано. Также язык - PHP, и у меня установлен ffmpeg-php.

Больше информации: я нахожусь на Linux.

Код ниже

convertToFlv( $input, $output );

function convertToFlv( $input, $output ) {

echo "Converting $input to $output";

$command = "ffmpeg -y -i $input -acodec libfaac -ar 44100 -ab 96k -vcodec libx264 -level 41 -crf 20 -bufsize 20000k -maxrate 25000k -g 250 -r 20 -s 640x480 -coder 1 -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +brdo+dct8x8+bpyramid -me umh -subq 7 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -rc_eq 'blurCplx^(1-qComp)' -bf 16 -b_strategy 1 -bidir_refine 1 -refs 6 -deblockalpha 0 -deblockbeta 0 $output";

shell_exec( $command );

}
 Alix Axel30 мар. 2011 г., 20:01

Ответы на вопрос(3)

чтобы запустить страницу php в командной строке.

Просто завершите свою строку ffmpeg символом ";" и введите «php», а затем абсолютное местоположение вашего php-скрипта для запуска. Вы можете добавить переменную get с идентификатором видео, которое вы хотите конвертировать:

$cmd = "ffmpeg -i[SOURCE FILE] [OUTPUT FILE]; php /public_html/etc/ffmpegComplete.php?videoID=101";

exec( $cmd );
 Ben04 дек. 2013 г., 08:54
Будет ли возможно передать вывод в скрипт php, используя этот метод?
 Teo Klestrup Röijezon14 июн. 2011 г., 15:51
Вы просто должны заметить, что новая страница php, которая будет выполняться, будет выполняться с конфигурацией CLI, а не с конфигурацией CGI или Apache2.
 tobia.zanarella07 сент. 2012 г., 10:58
Хороший трюк, хорошая идея!

запущен ли процесс, что означает либо фильтрацию выводаps или отслеживание PID процесса ffmpeg и проверка с помощьюpcntl_waitpid.

вы могли бы дать нам подсказку, как вы отключаете кодировку? А на какой ОС вы работаете?

Предполагая, что вы делаете это правильно в системе Unix / POSIX / Linux - то есть вы создали новый процесс в отдельной группе процессов и не можете напрямую прочитать возвращаемое значение, тогда почему бы вам просто не обернуть Двоичный файл ffmpeg в простом скрипте sh - что-то вроде:

#!/bin/bash

OUTDIR=/var/www/html/video

/usr/local/bin/ffmpeg -s sqcif -i $1 ${OUTDIR}/${2}.mpeg`

RETURNED=$?

echo ${RETURNED} >${OUTDIR}/${2}.completion

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

 Kevin25 янв. 2011 г., 23:33
Есть ли способ сделать это с помощью PHP?

Ваш ответ на вопрос