2013-02-21 3 views
-5

Я пытаюсь сохранить изображение из видеокадра и сохранить его как jpeg. Эта функция работает для небольших видеофайлов, но если видео длится более 10 минут, оно не будет сохранять jpeg-изображение. Ошибка возникает, как и раньше.FFMPEG не может взять фрейм и сохранить как изображение

public function VideoToJpeg($localVideoPath, $localOutImgPath) 
{ 
    $Name = dirname(__FILE__) . "/ffmpeg"; 
    $Str = "$Name -i \"$localVideoPath\" -an -ss 00:00:03 -an -r 1 -vframes 1 -y \"$localOutImgPath\""; 

    exec($Str); 
} 

Здесь ошибка я получил от FFmpeg

[NULL @ 0370e760] Unable to find a suitable output format for 'path' 
: Invalid argument 
+1

Какая ошибка возникает? –

+6

'Ошибка появляется? И эта ошибка будет ...? – LittleBobbyTables

+0

Другая часть скрипта - это кодировать любое видео с, например, mp4, в контейнер flv и отправлять его в потоковые файлы red5. Это работает, поэтому я вижу, как изображение и видео воспроизводятся правильно. Когда видео длится более десяти минут, изображение не преобразуется, а в каталоге потоков flv.beforetrans появляется под видеопотоком. – alex

ответ

0

Не уверен, если это поможет на всех, но я имел успех, используя следующий PHP пакет (хотя я никогда не страдал от проблем вы упоминаете):

http://ffmpeg-php.sourceforge.net/

Другой альтернативой может быть, чтобы изменить настройку распределения памяти PHP:

http://drupal.org/node/207036

Вы, вероятно, не используя Drupal, но большинство предложений на этой странице актуальны и иметь дело с самим PHP (а не Drupal).

2

Это не ясно из Вашего вопроса, но я думаю, что $localOutImgPath и $localVideoPath параметр проходят некоторые неправильные значения, как говорит об ошибке это ясно:

[NULL @ 0370e760] Unable to find a suitable output format for 'path'

любезно проверить.

См. Также FFmpeg: The ultimate Video and Audio Manipulation Tool и FFmpeg and x264 Encoding Guide.

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