Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скриншотпотокового видео 
:(
    Опции темы
Marat_2006
Дата 12.1.2010, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 1.1.2008

Репутация: нет
Всего: нет



Добрый день!
Имеется задача делать с определённой переодичностью скриншоты с потокового видео( снимается на камеру на улице), и класть в папку.
Сделал с помощью ffmpeg-php, но он работает только с локальными файлами, а при передаче на вход урла, висит.
Может я что-то не так делаю?Или есть для этого другие способы?
Заранее спасибо!
Вот мой код:
Код

<?php

extension_loaded('ffmpeg') or die('Error in loading ffmpeg');

$ffmpegInstance = new ffmpeg_movie('stream.flv');
$frame = $ffmpegInstance->getFrame(10);

imagejpeg($frame->toGDImage(),"test1.jpg"); 
echo "<img src=test1.jpg />";


echo "getDuration: " . $ffmpegInstance->getDuration() ."<br/ >".
"getFrameCount: " . $ffmpegInstance->getFrameCount() ."<br/ >".
"getFrameRate: " . $ffmpegInstance->getFrameRate() ."<br/ >".
"getFilename: " . $ffmpegInstance->getFilename() ."<br/ >".
"getComment: " . $ffmpegInstance->getComment() ."<br/ >".
"getTitle: " . $ffmpegInstance->getTitle() ."<br/ >".
"getAuthor: " . $ffmpegInstance->getAuthor() ."<br/ >".
"getCopyright: " . $ffmpegInstance->getCopyright() ."<br/ >".
"getArtist: " . $ffmpegInstance->getArtist() ."<br/ >".
"getGenre: " . $ffmpegInstance->getGenre() ."<br/ >".
"getTrackNumber: " . $ffmpegInstance->getTrackNumber() ."<br/ >".
"getYear: " . $ffmpegInstance->getYear() ."<br/ >".
"getFrameHeight: " . $ffmpegInstance->getFrameHeight() ."<br/ >".
"getFrameWidth: " . $ffmpegInstance->getFrameWidth() ."<br/ >".
"getPixelFormat: " . $ffmpegInstance->getPixelFormat() ."<br/ >".
"getBitRate: " . $ffmpegInstance->getBitRate() ."<br/ >".
"getVideoBitRate: " . $ffmpegInstance->getVideoBitRate() ."<br/ >".
"getAudioBitRate: " . $ffmpegInstance->getAudioBitRate() ."<br/ >".
"getAudioSampleRate: " . $ffmpegInstance->getAudioSampleRate() ."<br/ >".
"getVideoCodec: " . $ffmpegInstance->getVideoCodec() ."<br/ >".
"getAudioCodec: " . $ffmpegInstance->getAudioCodec() ."<br/ >".
"getAudioChannels: " . $ffmpegInstance->getAudioChannels() ."<br/ >".
"hasAudio: " . $ffmpegInstance->hasAudio();
?>



PM MAIL   Вверх
Marat_2006
Дата 13.1.2010, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 1.1.2008

Репутация: нет
Всего: нет



Немного изменил код, добавив в конструктор место файла урл, на поток flv, и второй параметр true(persistent on),изменив в конфиге ffmpeg 
ffmpeg.allow_persistent=1.
Так вроде работает, но скрипт выполняется минуты 3 наверное, в независимости от коннекта.
Но картинку делает.
Выдаёт вот такие варнинги:
Код

Warning: ffmpeg_movie::__construct() []: warning: first frame is no keyframe in /var/www/test/index.php on line 5

Warning: ffmpeg_movie::getframe() []: warning: first frame is no keyframe in /var/www/test/index.php on line 6

Как можно ускорить работу скрипта?
PM MAIL   Вверх
sTa1kEr
Дата 13.1.2010, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: нет
Всего: 146



Вряд-ли это как-то зависит от ffmpeg-php. Попробуйте сделать скриншот напрямую из консоли и поиграйтесь с параметрами -r, -f, еtc.
PM MAIL   Вверх
Marat_2006
Дата 14.1.2010, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 1.1.2008

Репутация: нет
Всего: нет



Спасибо, пробывал вчера, но всё так-же долго ждёт, такое ощущение,что он пытается получить всю длину потока, но это невозможно,т.к. видео бесконечное,и по таймауту всё же потом делает скриншот, какбы ему дать только 10 сек и с них к примеру с 5 снять скрин...

PM MAIL   Вверх
sTa1kEr
Дата 14.1.2010, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: нет
Всего: 146



Попробуйте задать свой вопрос здесь.

Так же можно поставить медиа сервер, который возьмет на себя проблему с созданием скриншотов или же создавать и отпровлять скриншеты на клиентской стороне.
PM MAIL   Вверх
IgorIV
Дата 14.1.2010, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 642
Регистрация: 7.9.2009

Репутация: 1
Всего: 8



Marat_2006, как говорят, я не проверял, ffmpeg перед снятием скриншота проматывает клип до нужного кадра. 
Может mencoder?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Графика | Следующая тема »


 




[ Время генерации скрипта: 0.0677 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.