2009-10-28 4 views
2

Я написал небольшой демон в Perl, который вызывает FFMpeg для кодирования видео, но кодировка останавливается через 5 секунд.Почему FFMpeg останавливается через пять секунд при запуске с помощью Perl-демона?

Я использую этот кусок кода, чтобы запустить его:

my $t = `echo '$ffmpeg_command' >>$self->{FFMPEG_OUTPUT}`; 
my $log_data = `$ffmpeg_command 2>>$self->{FFMPEG_OUTPUT}`; 

Есть идеи?

Если я запускаю команду FFMpeg самостоятельно, она отлично работает, кстати.

+0

Как выглядит '$ ffmpeg_command'? Я подозреваю, что есть простой тупик ввода-вывода, но я могу только догадываться, не знаю, откуда ffmpeg получает свои данные или куда он его отправляет :) – hobbs

+0

Используемая мной команда /usr/bin/ffmpeg -i /data/media/mymedia.ts -y -threads 0 -crf 22 -acodec libfaac -vcodec libx264 -ab 128k -vpre hq /data/encoded/test.m4v –

ответ

3

Хорошо, я нашел это сам

Это был замок IO, вы, видимо, придется добавить </dev/null в конце команды

Мой выше заявление будет выглядеть следующим образом:

my $log_data = `$ffmpeg_command 2>>$self->{FFMPEG_OUTPUT} </dev/null`; 

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

  • Нет связанных вопросов^_^