PHP форум на ПЫХА.РУ

PHP форум на ПЫХА.РУ

Пыхнуть хотите? => F.A.Q. => Тема начата: welder от 31 Октябрь, 2008, 12:55:34



Название: Работа с видео на php с помощью php ffmpeg
Отправлено: welder от 31 Октябрь, 2008, 12:55:34
Работа с видео на php с помощью php ffmpeg
 
Установка php ffmpeg под Windows.
 
1. качаем уже собранный php ffmpeg от Sergey Fedotov
2. распаковываем архив
3. копируем файл php_ffmpeg.dll в папку php/extensions
4. копируем файлы avformat-51.dll, avcodec-51.dll, avutil-49.dll ,pthreadGC2.dll в папку windows/system32
5. добавляем в php.ini  строку: extension=php_ffmpeg.dll
6. перезапускаем Apache
7. проверяем всё ли у нас получилось var_dump(extension_loaded('ffmpeg')) или через phpinfo()
 
скорей всего у нас получилось так что ознакомимся с функциями =)
 
Перевод официальной документации (API Docs)
 
$movie = new ffmpeg_movie(String path_to_media, boolean persistent)
 Открыть аудио или видео файл и Вернёт объект.
    path_to_media - Путь к аудио или видео файлу
    persistent - Открыть как постоянный ресурс. О постоянных ресурсах
      читайте в документации по PHP
 
  $movie->getDuration()
  Вернёт продолжительность аудио или видео файла в секундах.
 
  $movie->getFrameCount()
  Вернёт количество кадров (фреймов) аудио или видео файла.
 
  $movie->getFrameRate()
  Вернёт  частоту  кадров  видео  в кадрах в секунду (fps - frame persecond)
 
  $movie->getFilename()
  Вернёт путь к видео или аудио файлу
 
  $movie->getComment()
  Вернёт поле комментария из аудио или видео файла
 
  $movie->getTitle()
  Вернёт поле заголовка из аудио или видео файла
 
  $movie->getAuthor() псевдоним $movie->getArtist()
  Вернёт  поле "автор" из видео файла или "автор" из ID3 поля mp3 файла
 
  $movie->getCopyright()
  Вернёт поле "авторское право" из аудио или видео файла
 
  $movie->getArtist()
  Вернёт ID3 поле "Артист" из mp3 файла
 
  $movie->getGenre()
  Вернёт ID3 поле "Жанр" из mp3 файла
 
  $movie->getTrackNumber()
  Вернёт ID3 поле "номер дорожки" из mp3 файла
 
  $movie->getYear()
  Вернёт ID3 поле "Год" из mp3 файла
 
  $movie->getFrameHeight()
  Вернёт высоту видео в пикселях
 
  $movie->getFrameWidth()
  Вернёт ширину видео в пикселях
 
  $movie->getPixelFormat()
  Вернёт формат пикселов видео
 
  $movie->getBitRate()
  Вернёт  скорость  потока(битрейт)  видео  или аудио файла в битах в
  секунду
 
  $movie->getVideoBitRate()
  Вернёт скорость потока(битрейт) видео в битах в секунду.
  Замечание : Работает только с файлами у которых постоянный битрейт
 
  $movie->getAudioBitRate()
  Вернёт  скорость  потока(битрейт)  аудио  у видео или аудио файла в
  битах в секунду.
 
  $movie->getAudioSampleRate()
  Вернёт скорость дискретизации аудио у видео или аудио файла в битах
  в секунду.
 
  $movie->getFrameNumber()
  Вернёт текущий номер кадра.
 
  $movie->getVideoCodec()
  Вернёт  название  видео  кодека который использован для видео файла
  как строку
 
  $movie->getAudioCodec()
  Вернёт  название  аудио  кодека  который использован видео файл как
  строку
 
  $movie->getAudioChannels()
  Вернёт  количество  аудио каналов (1 моно 2 стерео и т д) как целое
  число
 
  $movie->hasAudio()
  Вернёт  логическое  значение соответствующие наличию или отсутствию
  аудио
 
  $movie->getFrame([Integer framenumber])
  Вернёт  кадр  из видео как ffmpeg_frame объект. Возратит логическую
  ложь (false) если кадра нет
    framenumber  -Номер кадра который надо возратить. Если framenumber
      не определен то возращается следующий кадр из видео.
 
  $movie->getNextKeyFrame()
  Вернёт  следующий  ключевой  кадр как ffmpeg_frame объект. Возратит
  логическую ложь (false) если кадра нет
 

ffmpeg_frame object methods
 
  $frame = new ffmpeg_frame(Resource gd_image)
  Создаст обьект ffmpeg_frame из ресурса GD картинки.
  Замечание : Функция недоступна если нет библитеки GD.
 
  $frame->getWidth()
  Вернёт ширину кадра.
 
  $frame->getHeight()
  Вернёт высоту кадра.
 
  $frame->getPTS() alias $frame->getPresentationTimestamp()
  Возвращает время создания кадра.
 
  $frame->resize(Integer  width,  Integer  height [, Integer crop_top [,
  Integer crop_bottom [, Integer crop_left [, Integer crop_right ]]]])

  Изменяет  размер  и  обрезает  кадр  (Обрезание  встроено  в изменение
  размера картинка ffmpeg и сделал его для полноты)
    width - Новая ширина кадра (должено быть натуральным числом)
    height - Новая высота кадра (должено быть натуральным числом)
    croptop - Удалить [croptop] рядов пикселов с верху кадра.
    cropbottom - Удалить [cropbottom] рядов пикселов с низу кадра.
    cropleft - Удалить [cropleft] рядов пикселов с лева у кадра..
    cropright Удалить [cropright] рядов пикселов с права у кадра..
 
  Замечание:  Обрезание  всегда  происходит  до  измения  размера кадра.
  Значения параметров обрезания должны быть натуральными числами.
 
  $frame->crop(Integer   crop_top  [,  Integer  crop_bottom  [,  Integer
  crop_left [, Integer crop_right ]]])

  Обрезать кадр.
    croptop - Удалить [croptop] рядов пикселов с верху кадра.
    cropbottom - Удалить [cropbottom] рядов пикселов с низу кадра.
    cropleft - Удалить [cropleft] рядов пикселов с лева у кадра..
    cropright Удалить [cropright] рядов пикселов с права у кадра..
 
  Замечание : Параметры должны быть натуральными числами
 
  $frame->toGDImage()
  Возвращает truecolor GD картинку (ресурс) кадра
  Замечание : Функция недоступна если нет библитеки GD.
 
ffmpeg_animated_gif
 
  $gif = new ffmpeg_animated_gif(String output_file_path, Integer width,
     Integer height, Integer frame_rate, [Integer loop_count])

  Создает новый ffmpeg_animated_gif обьект
 
    output_file_path - Путь в файловой системе куда будет записан
      анимированный gif .
    width - Ширина анимированого gif'а
    height - Высота анимированного gif'а
    frame_rate - Частота кадров анимированного gif'а в кадрах в
      секунду
    loop_count - Количество повторений анимации. Укажите 0 для
      бесконечного повторения или пропустите параметр для отключения
         повторений.
 

  $frame->addFrame(ffmpeg_frame frame_to_add)
  Добавляет кадр в конец анимированного gif'а.
    frame_to_add  -  ffmpeg_frame  обьект  для  добавления в конец
      анимированного gif'а.
 

Теперь рассмотрим некоторые примеры
 
1. Узнаём информацию о видео файле .
PHP
<?php
// получаем продолжительность и размеры видео
 
$movie = new ffmpeg_movie("/www/1.avi");
echo "Продолжительность фильма:  ";
// так как  мы получаем секунды надо нам их перевести в человечный вид ЧЧ:ММ:CC
// для этого мы и используем функцию  gmdate  я думаю фильмов длиной по несколько дней у вас нет =)
echo "<b>".gmdate("H:i:s",$movie->getDuration())."</b><br />";
 
// теперь выведем размерв нашего фильма
echo "Размеры фильма:  ";
echo "<b>".$movie->getFrameWidth()." x ".$movie->getFrameHeight()."</b>";
 
?>

 
2. Получаем кадр.
PHP
<?php
//получаем скриншот по средствам php ffmpeg
 
// путь до файла
$file = "/www/1.avi";
// кадр который будем выхватывать
$frame = 150;
 
// получаем кадр
$movie = new ffmpeg_movie($file);
$image = $movie->getFrame($frame);
$show_img = $image->toGDImage();
 
// выводим его
header("Content-type: image/jpeg");
imagejpeg($show_img);
imagedestroy($show_img);
?>

 

3. Получаем и редактируем кадр.
PHP
<?php
// получаем скриншот по средствам php ffmpeg и уменьшаем его
 
// путь до файла
$file = "/www/1.avi";
// кадр который будем выхватывать
$frame = 150;
// максимальный размер по высоте
$max_width  = 150;
 
// получаем кадр в gd
$movie = new ffmpeg_movie($file);
$image = $movie->getFrame($frame);
$show_img = $image->toGDImage();
 
// редактируем то что в gd
$new_image = new ffmpeg_frame($show_img);
//вычисляем старые значения ширины и высоты
$old_width = $new_image->getWidth();
$old_heighgt = $new_image->getHeight();
// соотношение сторон
$mov_ratio = $old_width/$old_heighgt;
if($old_width > $max_width){
    $new_width    = $max_width;
 }
// задаём новые параметры
$new_height = $new_width / $mov_ratio;
// изменяем размер
$new_image->resize($new_width, $new_height);
$new_show_img = $new_image->toGDImage();
 
// выводим его
header("Content-type: image/jpeg");
imagejpeg($new_show_img);
imagedestroy($new_show_img);
 
?>

 

4. Создаём анимированный GIF.
PHP
<?php
// создаём анимированый гиф
// путь до файла
$file = "/www/1.avi";
 
// поехали =)
$movie = new ffmpeg_movie($file);
 
// создаём анимацию
$gif=new ffmpeg_animated_gif("/www/primer.gif",100 ,100 ,24);
 
for ($frame = 150; $frame <= 200; $frame++) {
    $image = $movie->getFrame($frame);
    $gif->addFrame($image);
}
 
?>


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 31 Октябрь, 2008, 01:48:24
Очень хорошего качества статьи о ffmpeg
Наносим водяной знак на видео с помощью ffmpeg
Продвинутый метод воспроизведения flash-видео на веб-страницах (или эмулируем стрим-видео) (ffmpeg + yamdi + flv)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: sap от 31 Октябрь, 2008, 09:43:41
Спасибо, познавательно :)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: CTAPbIu_MABP от 31 Октябрь, 2008, 11:26:27
жесть, лови +1


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: welder от 31 Октябрь, 2008, 11:36:16
просто делаю домашнию кинотеку на пхп вот и понадобилося всё ето =))


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Pasha от 31 Октябрь, 2008, 09:28:25
спасибо)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Pasha от 31 Октябрь, 2008, 09:30:48
а есть библиотека для конвертации avi2flv? или т.п?


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 31 Октябрь, 2008, 11:25:57

а есть библиотека для конвертации avi2flv? или т.п?

с помощью ффмпега из любого формата в любой формат можно конвертировать, главное установить соответствующие модули


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 22 Апрель, 2009, 11:30:59
А с помощью этого расширения конвертировать то можно?


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: mario от 23 Апрель, 2009, 01:52:42

А с помощью этого расширения конвертировать то можно?
http://vbolshov.org.ru/?id=14&ctrl=article
там написано что да :)
PS твои ссылки :)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 23 Апрель, 2009, 02:51:01
mario, я специально выделил жирным курсивом слово "расширение", потому что меня интересовало именно расширение для php, а не сам ffmpeg :)
 
Кароче не умеет оно конвертировать, я уже излазил оф. сайт. Юзаю по старинке ffmpeg


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Shogun от 14 Ноябрь, 2009, 06:28:49
Прет всем!
 
Вроде все правильно зделал, но при запуске Апач выдает такое:
 

 
Что можно зделать??


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 14 Ноябрь, 2009, 10:28:11
Какая версия php? Могу подкинуть для php 5.2.9-2


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: IgorN от 18 Март, 2010, 01:12:39
Только приступил к работе с видео. У меня на сайте пользователь будет заливать видео, небольшие файлы 10 м весом и 15 сек. длиной. Надо их сконверить в flv. Как это сделать и можно ли это сделать средствами nginx. Спасибо!


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: phpdude от 18 Март, 2010, 01:19:27
IgorN, конвертить видео средствами веб сервера? пиздец, хедшот ..
 
adw0rd.ru почитайте, там была статья про это, как раз разжевая только проглотайте
Спустя 57 секунд добавил
предлагаю около поста сделать кнопку "отжег дня", и в шапке его показывать, удет прикольно :)
 
ну сортировать по "отжегу дня" посты и показывать в шапке самый кликательный =)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Troy от 18 Март, 2010, 01:23:32
IgorN, nginx это для псевдостриминга , для конвертации ffmpeg


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: IgorN от 18 Март, 2010, 01:41:03

IgorN, конвертить видео средствами веб сервера? пиздец, хедшот ..
 
adw0rd.ru почитайте, там была статья про это, как раз разжевая только проглотайте
Спустя 57 секунд добавил
предлагаю около поста сделать кнопку "отжег дня", и в шапке его показывать, удет прикольно :)
 
ну сортировать по "отжегу дня" посты и показывать в шапке самый кликательный =)

Сарказм не уместен. А за ссылку, спасибо все и в одном месте.
Спустя 51 секунду добавил

IgorN, nginx это для псевдостриминга , для конвертации ffmpeg

Спасибо понял уже :) тема новая и немного запутался.


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 18 Март, 2010, 01:53:55
бывает ^_^


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: IgorN от 18 Март, 2010, 03:23:02

бывает ^_^

Спасибо вам, за статью, лучшее, что я нашел за 2 часа поисков и чтения. В ней действительно есть все, что надо. Отличная работа!!!


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 18 Март, 2010, 03:37:27
IgorN, спасибо за лестный отзыв :)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: IgorN от 30 Март, 2010, 06:17:52

IgorN, спасибо за лестный отзыв :)

Приступил к реализации и возник вопрос, а можно как то обрезать еще видео до нужного размера...


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: phpdude от 30 Март, 2010, 06:47:22


IgorN, спасибо за лестный отзыв :)

Приступил к реализации и возник вопрос, а можно как то обрезать еще видео до нужного размера...
в гугле забанены? идите гуглите


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: IgorN от 30 Март, 2010, 06:57:29
Да искал уже, но везде какие то программы, а как из консоли под линуксом резать не понятно


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: NRG от 30 Март, 2010, 07:02:24
а доку по ффмпегу читать пробовали ?


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: phpdude от 30 Март, 2010, 07:04:08

а доку по ффмпегу читать пробовали ?
нет конечно, это же занятие для лохов


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 30 Март, 2010, 07:06:30
http://ffmpeg.org/ffmpeg-doc.html#SEC9 тут ответы


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: IgorN от 30 Март, 2010, 07:15:41

а доку по ффмпегу читать пробовали ?

http://www.ffmpeg.org/ffmpeg-doc.html#SEC10
 
3.4 Video Options
 
`-croptop size'
 
Вот эти опции? Если они то не понятно, причем тут пиксели и размеры сверху, снизу, слева и справа.
Может я не заметли просто метод который допустим с 15 метрового ролика обрежит то 10 метрового
типа crop(10) или resize(10)
 
Направте плиз, уж очень сильно пока плаваю в этой теме.
Спустя 1 минуту 13 секунд добавил


а доку по ффмпегу читать пробовали ?
нет конечно, это же занятие для лохов

Думаете легко переварить столько новой инфы? Или вы за 15 мин, научились всему... тут линукс осваиваю и все эти либы, голова пухнет.
Спустя 2 минуты 17 секунд добавил

http://ffmpeg.org/ffmpeg-doc.html#SEC9 тут ответы

Спасибо большое, столько параметров, что не заметил `-fs limit_size'. Запарился уже, только линукс поднял и осваиваюсь.


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 30 Март, 2010, 07:15:59
`-croptop size'
это не то


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Troy от 30 Март, 2010, 07:59:49

Думаете легко переварить столько новой инфы? Или вы за 15 мин, научились всему... тут линукс осваиваю и все эти либы, голова пухнет.
А мы причем ?


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 30 Март, 2010, 10:14:56



а доку по ффмпегу читать пробовали ?
нет конечно, это же занятие для лохов

Думаете легко переварить столько новой инфы? Или вы за 15 мин, научились всему... тут линукс осваиваю и все эти либы, голова пухнет.

Нет, мы не научились всему за 15 минут, но мы и не спрашивали на форуме то, что можно элементарно вычитать в документации или найти в гугле.
 
зы. линукс уже не тот, не то что 8 лет назад...


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: welder от 31 Март, 2010, 12:35:31
зы. линукс уже не тот, не то что 8 лет назад...

на самом деле это радует. стока инфы в инете хоть жопой жуй а раньше помню ебался без перерыва по несколько ночей подряд. а ща бага вылезла гугльнул и тебе ответ,наверно поэтому последнее время сижу под виндой =)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: CTAPbIu_MABP от 31 Март, 2010, 01:55:42
предлагаю новую кнопку "... уже не тот" по аналогии с ... на пiха.ру


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: md5 от 31 Март, 2010, 02:25:14
мавр уже не тот на пiха.ру


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 30 Апрель, 2010, 04:49:14
так народ
Вот это не работает, а когда ставлю copy('_temp', 'filename.flv'); то апач вообще вырубается...
Как сконвертировать видео и сохранить??
 
PHP
include_once 'sys24load.php';
 
// Путь до залитого видео-файла, например временный файл полученный по $_FILES['tmp_file']
$inputPath = D.'/123.3gp';
 
//Путь до результирующего файла, то есть отконвертированный и прошитый мета-данными видео-файл
$outputPath = D."/filename.flv";
 
// Указываем минимальную позицию фрейма для захвата превью
$previewFrameMin = '3';
 
// Путь до превью-файла
$previewPath = D."/filename.jpg";
 
// Путь до мини-превью
$previewMiniPath = D."/filename_mini.jpg";
 
// Массив для сбора ошибок
$errorInfo = array();
 

 
passthru(
    '/usr/local/bin/ffmpeg -i ' . escapeshellarg($inputPath) .
        ' -f flv '.
        ' -s 320x240 '.
        ' -acodec libmp3lame '.
        ' -ar 44100 '.
        escapeshellarg($outputPath . '_temp'),
       
    $errorInfo['ffmpeg']
);
//copy('_temp', 'filename.flv');

 

 
ВОТ этот работает
 
PHP
// создаём анимированый гиф
// путь до файла
$file = D."/123.3gp";
 
// поехали =)
$movie = new ffmpeg_movie($file);
 
// создаём анимацию
$gif=new ffmpeg_animated_gif(D."/primer.gif",100 ,100 ,24);
 
for ($frame = 150; $frame <= 200; $frame++) {
    $image = $movie->getFrame($frame);
    $gif->addFrame($image);
}
 


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 30 Апрель, 2010, 05:05:22
все в инете уже обшарил, нет нигде нормального примера конвертации. Везде когда пр это спрашивают, посылают что то читать. А что, не понятно....


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 30 Апрель, 2010, 06:03:39

passthru(
    '/usr/local/bin/ffmpeg -i ' . escapeshellarg($inputPath) .
        ' -f flv '.
        ' -s 320x240 '.
        ' -acodec libmp3lame '.
        ' -ar 44100 '.
        escapeshellarg($outputPath . '_temp'),
      
    $errorInfo['ffmpeg']
);

Эта часть отрабатывает? Что говорит:
PHP

var_dump($errorInfo);
 
?
Спустя 31 секунду добавил
Этот файл существует:
PHP
echo $outputPath . '_temp'
?
Спустя 1 минуту 5 секунд добавил
Выведи сюда:
PHP

echo '/usr/local/bin/ffmpeg -i ' . escapeshellarg($inputPath)' -f flv '.   ' -s 320x240 '.   ' -acodec libmp3lame '.   ' -ar 44100 '.     escapeshellarg($outputPath . '_temp')
 


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 30 Апрель, 2010, 08:47:22
adw0rd , вроде код наладил. Теперь он создает этот временный файл и .flv  в 0 байт
Почему?? Может проблема в денвер+виндовс ?


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 30 Апрель, 2010, 08:56:54
я не разбераюсь, может в этом дело
PHP
' -acodec libmp3lame '.
        ' -ar 44100 '.

?? Может тут еще либы нужны какие


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 30 Апрель, 2010, 10:03:52
может... может... хуежит! я тебя попросил мне дампы скинуть сюда, как мне тебе еще помочь, если ты не слушаешь?
Спустя 1 минуту 36 секунд добавил
а вообще "libmp3lame" надо отдельно всегда собирать, мне еще не разу не попало собранным. Но блин тебе надо для этого запустить в командной строке ffmpeg, а что запустить я тебя просил мне распечатать выше


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 30 Апрель, 2010, 10:16:38
array(1) { ["ffmpeg"]=> int(1) }
Спустя 4 минуты 24 секунды добавил
а где скачать libmp3lame и как его на денвер?
Спустя 4 минуты 15 секунд добавил
array(1) { ["ffmpeg"]=> int(1) }
 
Z:/home/nw/www/filename.flv_temp


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 30 Апрель, 2010, 11:03:07
все я не могу уже... дайте мне яду


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 30 Апрель, 2010, 11:06:05
Ты же какие-то там хостинги предлагал, а у самого денверы... даже знаниями никсов и не пахнет
Спустя 29 секунд добавил
я не знаю как там в виндовсе, правда


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 01 Май, 2010, 12:04:04
а у самого денверы - ну не на сервере мне ведь скрипт сидеть писать
Спустя 2 минуты 7 секунд добавил

Ты же какие-то там хостинги предлагал, а у самого денверы... даже знаниями никсов и не пахнет
Спустя 29 секунд добавил
я не знаю как там в виндовсе, правда
а что у вас за машина?


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: phpdude от 01 Май, 2010, 12:17:38
WF_jaltyPal, bmv


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 01 Май, 2010, 12:28:08
WF_jaltyPal, имелось ввиду наверное ос... Ubuntu/FreeBSD, в основном работаю в первом


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 01 Май, 2010, 12:37:38

WF_jaltyPal, имелось ввиду наверное ос... Ubuntu/FreeBSD, в основном работаю в первом
так я не пойму, в чем собственно моя проблема
1 денвер?
2 виндоус?
 
может мне к примеру xampp попробовать, может на нем будет конвертировать? Для меня ставить Ubuntu/FreeBSD не вариант, так как у меня эта ось лиц. да и геморно это. У меня из за этой конвертации вся работа над проектом встала стоит вот уже третий день.
Спустя 2 минуты 16 секунд добавил
я заметил одну вешь , у меня когда небыло C:\WebServers\usr\local\bin\ffmpeg , он все равно создавал скриншеты к видео.
 
Может я го криво поставил к тому же.  Скачал ffmpeg  в разных местах и все архивы по разному весят


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 01 Май, 2010, 01:58:08
1. Причем тут вебсервер?
2. Скрины создаете через пыховское расщирение, а конвертите через ffmpeg, где связь?
3. http://adw0rd.ru/2009/videoservice-handmade/ вы это читали? Ссылку на виндовую сборку отсюда юзаете?


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Faster от 01 Май, 2010, 11:36:29
adw0rd,
терпеливый ты


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Ewg777 от 01 Май, 2010, 11:37:34

adw0rd,
терпеливый ты
Патчить! Патчить!


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 01 Май, 2010, 01:45:58

1. Причем тут вебсервер?
2. Скрины создаете через пыховское расщирение, а конвертите через ffmpeg, где связь?
3. http://adw0rd.ru/2009/videoservice-handmade/ вы это читали? Ссылку на виндовую сборку отсюда юзаете?
да оттуда...
 
поставил тут скрипт один, так он вообще говорит что нет у меня ничего
 


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 01 Май, 2010, 01:58:13
Text
passthru('/usr/local/bin/ffmpeg -i video.avi -ar 22050 -ab 32 -f flv -s 320x240 video.flv');

Fatal error: Maximum execution time of 30 seconds exceeded in Z:\home\nw\www\video.php on line 30
Спустя 1 минуту 12 секунд добавил
аааахааааааа бляяяя сукаааа отконвертировал!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Спустя 34 секунды добавил
аааа есть есть !!!!!!!!!!!!!!!!!!!!!!!!!!! адын!!!!!!!!!1111111
Спустя 2 минуты 15 секунд добавил
только чета долго он это делает.... на сервере тоже так будет>?


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 01 Май, 2010, 02:57:35
Вот на сервере и попробуйте, проведите бенчмарки и т.д. Одно могу сказать: на данный момент что-то более мощное и быстрое вы не сможете найти, есть только один достойный противник - mencoder, и он тоже такой же мощный и быстрый.


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 01 Май, 2010, 04:18:35

Вот на сервере и попробуйте, проведите бенчмарки и т.д. Одно могу сказать: на данный момент что-то более мощное и быстрое вы не сможете найти, есть только один достойный противник - mencoder, и он тоже такой же мощный и быстрый.
скажите а вот если 400 человек загрузят видео (а оно конвертируется при загрузке) одновременно, то сильно ли сервер будет загружен?
Как такое можно сэмулировать ?


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 01 Май, 2010, 04:26:41
и где найти нужные команды для конвертации??
или просто достаточно использовать
PHP
passthru('/usr/local/bin/ffmpeg -i video.avi -ar 22050 -ab 32 -f flv -s 320x240 video.flv');
для любых форматов? Просто менять video.FORMAT?


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: mario от 01 Май, 2010, 04:33:55
http://www.opennet.ru/search.shtml?words=ffmpeg&restrict=
там 14 страниц со списками статей,факов, манов.
вот блядь ман  -  http://www.opennet.ru/man.shtml?topic=ffmpeg&category=1&russian=2
вот блять мега статья о том как нужно организовывать сервер - http://adw0rd.ru/2009/videoservice-handmade/
вот еще сайт о ффмпег - http://ffmpeg.org.ua (хотя сам там не был, может тупая перепечатка с опен нет, а может и нет)
И ЭТО ВСЕ ЗА 1-2 МИНУТЫ НАХОЖДЕНИЯ В ГУГЛЕ по фразу man ffmpeg
Спустя 49 секунд добавил
ахует, если это все прочитать, ты сделаешь ютуб! Веришь? - Нет? - А ты попробуй!


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: adw0rd от 01 Май, 2010, 04:35:37
WF_jaltyPal,
1. Для этого не надо сразу конвертировать, складывай в очередь и конвертируй в момент простоя. Надо сразу и не охото нагружать основной сервер - купи еще несколько серверов
2. ffmpeg принимает на вход любые видео файлы ему главное указать формат аута.


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 01 Май, 2010, 04:46:28

http://www.opennet.ru/search.shtml?words=ffmpeg&restrict=
там 14 страниц со списками статей,факов, манов.
вот блядь ман  -  http://www.opennet.ru/man.shtml?topic=ffmpeg&category=1&russian=2
вот блять мега статья о том как нужно организовывать сервер - http://adw0rd.ru/2009/videoservice-handmade/
вот еще сайт о ффмпег - http://ffmpeg.org.ua (хотя сам там не был, может тупая перепечатка с опен нет, а может и нет)
И ЭТО ВСЕ ЗА 1-2 МИНУТЫ НАХОЖДЕНИЯ В ГУГЛЕ по фразу man ffmpeg
Спустя 49 секунд добавил
ахует, если это все прочитать, ты сделаешь ютуб! Веришь? - Нет? - А ты попробуй!
я ужу 3 дня сижу на этом, все это я не раз перечитывал и пробовал
 
но мне нужно вот что
конвертация всех форматов видео в формат flv/
ВЕЗДЕ приводят один и тот же пример конвертации avi в flv  


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: mario от 01 Май, 2010, 04:50:50


http://www.opennet.ru/search.shtml?words=ffmpeg&restrict=
там 14 страниц со списками статей,факов, манов.
вот блядь ман  -  http://www.opennet.ru/man.shtml?topic=ffmpeg&category=1&russian=2
вот блять мега статья о том как нужно организовывать сервер - http://adw0rd.ru/2009/videoservice-handmade/
вот еще сайт о ффмпег - http://ffmpeg.org.ua (хотя сам там не был, может тупая перепечатка с опен нет, а может и нет)
И ЭТО ВСЕ ЗА 1-2 МИНУТЫ НАХОЖДЕНИЯ В ГУГЛЕ по фразу man ffmpeg
Спустя 49 секунд добавил
ахует, если это все прочитать, ты сделаешь ютуб! Веришь? - Нет? - А ты попробуй!
я ужу 3 дня сижу на этом, все это я не раз перечитывал и пробовал
 
но мне нужно вот что
конвертация всех форматов видео в формат flv/
ВЕЗДЕ приводят один и тот же пример конвертации avi в flv  
если бы ты прочитал ман, то ты бы понял

2. ffmpeg принимает на вход любые видео файлы ему главное указать формат аута.
Спустя 19 секунд добавил
хуево читаешь друг... :)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 01 Май, 2010, 05:05:30



http://www.opennet.ru/search.shtml?words=ffmpeg&restrict=
там 14 страниц со списками статей,факов, манов.
вот блядь ман  -  http://www.opennet.ru/man.shtml?topic=ffmpeg&category=1&russian=2
вот блять мега статья о том как нужно организовывать сервер - http://adw0rd.ru/2009/videoservice-handmade/
вот еще сайт о ффмпег - http://ffmpeg.org.ua (хотя сам там не был, может тупая перепечатка с опен нет, а может и нет)
И ЭТО ВСЕ ЗА 1-2 МИНУТЫ НАХОЖДЕНИЯ В ГУГЛЕ по фразу man ffmpeg
Спустя 49 секунд добавил
ахует, если это все прочитать, ты сделаешь ютуб! Веришь? - Нет? - А ты попробуй!
я ужу 3 дня сижу на этом, все это я не раз перечитывал и пробовал
 
но мне нужно вот что
конвертация всех форматов видео в формат flv/
ВЕЗДЕ приводят один и тот же пример конвертации avi в flv  
если бы ты прочитал ман, то ты бы понял

2. ffmpeg принимает на вход любые видео файлы ему главное указать формат аута.
Спустя 19 секунд добавил
хуево читаешь друг... :)

PHP
passthru('/usr/local/bin/ffmpeg -i 123.3gp -sameq -an video33333.flv');
конвертирует без звука, нигде про это не написано


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: mario от 01 Май, 2010, 05:08:04
http://www.opennet.ru/man.shtml?topic=ffmpeg&category=1&russian=2
-an
    Disable audio recording.

Ты реально читать немеешь? :)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: jenik_ok от 01 Май, 2010, 05:17:33
Text
`-an'
    Disable audio recording.

это из мануала
 
Я ставил ffmpeg на 3 системы: Fedora 10.92 (aka 11), Fedora 12, Fedora 8, Fedora 11 64-bit, последнии две - удаленные серваки
С каждой системой парился по своему пути, с линухом не очень дружу, так что читал гугл долго
Есть один нерешенный момент, к манам отсылать не стоит их уже наизусть выучил.
 
Как обрезать видео по краям, именно обрезать crop - это не то, он не обрезает


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 01 Май, 2010, 05:21:32

http://www.opennet.ru/man.shtml?topic=ffmpeg&category=1&russian=2
-an
   Disable audio recording.

Ты реально читать немеешь? :)
задрал ты пиздеть, если убрать -an он создает файл в 0 байт


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: mario от 01 Май, 2010, 05:38:43


http://www.opennet.ru/man.shtml?topic=ffmpeg&category=1&russian=2
-an
   Disable audio recording.

Ты реально читать немеешь? :)
задрал ты пиздеть, если убрать -an он создает файл в 0 байт
значит что то косячит... ищи проблему )))
Спустя 1 минуту 7 секунд добавил
запусти из консоли эту команду и смотри что выдает...


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 01 Май, 2010, 05:42:09



http://www.opennet.ru/man.shtml?topic=ffmpeg&category=1&russian=2
-an
   Disable audio recording.

Ты реально читать немеешь? :)
задрал ты пиздеть, если убрать -an он создает файл в 0 байт
значит что то косячит... ищи проблему )))
Спустя 1 минуту 7 секунд добавил
запусти из консоли эту команду и смотри что выдает...
че еще за консоль?


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: mario от 01 Май, 2010, 05:42:50




http://www.opennet.ru/man.shtml?topic=ffmpeg&category=1&russian=2
-an
   Disable audio recording.

Ты реально читать немеешь? :)
задрал ты пиздеть, если убрать -an он создает файл в 0 байт
значит что то косячит... ищи проблему )))
Спустя 1 минуту 7 секунд добавил
запусти из консоли эту команду и смотри что выдает...
че еще за консоль?
:D ну на сервер которая. Удаленно можно через ssh


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 01 Май, 2010, 05:43:46
jenik_ok, вы конвертируете видео? Может поделитесь готовыми командами функциями и классами?


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: mario от 01 Май, 2010, 05:53:39
ну на сервер которая. Удаленно можно через ssh
а бля забыл, если у тебя Виндовс, то открой cmd.exe  и пропиши
 
Text
cd C:\path\to\ffmeg-folder
ffmeg.exe -i 123.3gp -sameq video33333.flv

и смотри что он тебе выдает...
Спустя 1 минуту 40 секунд добавил

Text
`-an'
    Disable audio recording.

это из мануала
 
Я ставил ffmpeg на 3 системы: Fedora 10.92 (aka 11), Fedora 12, Fedora 8, Fedora 11 64-bit, последнии две - удаленные серваки
С каждой системой парился по своему пути, с линухом не очень дружу, так что читал гугл долго
Есть один нерешенный момент, к манам отсылать не стоит их уже наизусть выучил.
 
Как обрезать видео по краям, именно обрезать crop - это не то, он не обрезает
 
-croptop size
   Set top crop band size (in pixels).
-cropbottom size
   Set bottom crop band size (in pixels).
-cropleft size
   Set left crop band size (in pixels).
-cropright size
   Set right crop band size (in pixels).
а что по вашему это делает?
PS сам не обрезал... но неужели неработает?
Спустя 1 минуту 46 секунд добавил
http://ffmpeg.org.ua/ffmpeg94.html
Кадрирование видео
Кадр можно обрезать сверху, снизу, слева или справа. Чтобы срезать по 25 пикселов сверху и снизу, запустим следующую команду:
Text
ffmpeg -i file.avi -croptop 25 -cropbottom 25 file_crop.mpg
Чтобы дополнить изображение белыми полосами сверху и снизу по 20 и 30 пикселов соответственно, запустим следующую команду:
Text
fmpeg -i file.mpg -padtop 20 -padbottom 30 -padcolor 000000 -f avi file_pad.avi
Спустя 2 минуты 37 секунд добавил
WF_jaltyPal, s4u http://www.opennet.ru/base/dev/ffmpeg_stream_video.txt.html


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: jenik_ok от 01 Май, 2010, 05:56:31
Классы я не использую, благо пхп и регулярные выражения знаю достаточно, так что все пишу сам
для конвертирования использую примерно такие команды
Text
export LD_LIBRARY_PATH=/usr/lib/ && ffmpeg -y -i /full_path/in.avi -s 320x128 -vcodec libxvid -vtag XVID -r 12.5 -b 192k -acodec libmp3lame -ar 44100 -ab 48k -ac 1 -f avi /full_path/out.avi
export LD_LIBRARY_PATH=/usr/lib/ - такой костыль т.к. хз как по другому заставить линух цепануть библиотеки из этого каталога
-s 320x128 - разрешение в которое конвертим
-vcodec libxvid - видео кодек
-vtag XVID - делаем заголовки
-r 12.5 - кадров/сек
-b 192k - видео битрейт
-acodec libmp3lame - аудио кодек
-ar 44100 - частота дискретизации
-ab 48k - аудио битрейт
-ac 1 - 1 канал (моно)
-f avi - конкретно говорю что хочу изпользовать AVI контейнер, хотя по расширеню выходного файла ffmpeg и сам бы догадался, но так наверняка

Это реально рабочая команда


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: jenik_ok от 01 Май, 2010, 06:01:52
не ну нормально кеды сыпятся с ошибкой сегментации, ля, теперь переставлять придется......
вот ни че не делал, только 1 файлик отконвертил......


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: jenik_ok от 01 Май, 2010, 06:59:22
Text
-croptop size
   Set top crop band size (in pixels).
-cropbottom size
   Set bottom crop band size (in pixels).
-cropleft size
   Set left crop band size (in pixels).
-cropright size
   Set right crop band size (in pixels).
а что по вашему это делает?
PS сам не обрезал... но неужели неработает?

да я это читал и пробывал, эта команда не обрезает а сжимет видео по краям, при этом размер видео не меняетсся
а -padtop 20 -padbottom 30 делает отступы, и соответственно изменит размер видео
 
думаю что crop в даном случае переводиться как "собрать"


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Troy от 01 Май, 2010, 08:11:42
WF_jaltyPal, ты баран, тебе не место в программировании


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: WF_jaltyPal от 02 Май, 2010, 12:46:56

WF_jaltyPal, ты баран, тебе не место в программировании
ты мудло, за такое в репу бы получил, был бы ты рядом. Следи за словами сосунок малолетний.


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: mario от 02 Май, 2010, 01:11:48
WF_jaltyPal, ТЫ ЛАБАНЬ! :D


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Faster от 02 Май, 2010, 06:25:14
:)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: onzone от 13 Май, 2010, 06:23:02
Народ, у меня возникла такая проблема. Стоит phpffmpeg под 4 php. Пытаюсь вытянуть информацию о flv файле, выводит только часть и не во всех файлах.
PHP

$i = $mov->getFileName();\\имя файла всегда выводит :)
$s = $mov->getDuration();
$s2 = $mov->getFrame();
$s3 = $mov->getFrameCount();
 
Не выводит продолжительность ролика (хотя в avi файлах всё работает нормально), информацию о фреймах также не выводит (или выводит частично), если кто сталкивался с данной проблемой, подскажите пожалуйсто, как её решить!


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Troy от 13 Май, 2010, 07:22:07
В вашей версии php это не работает. надо 3 версию ставить


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: phpdude от 13 Май, 2010, 07:23:15
Troy, умнег


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: onzone от 13 Май, 2010, 07:28:08
Troy, ((( Блин, не радостное известие(, а есть варианты как длину трека подругому извлечь, не используя php ffmpeg? Всю инфу извлёк тоько это осталось((


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Troy от 13 Май, 2010, 08:49:25
phpdude, у вас же и учусь :D


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: onzone от 13 Май, 2010, 09:19:51
Парни подскажите, пожалуйсто, как другими способами (не используя php ffmpeg) продолжительность видео файла получить, ну уж очень надо,а php пока не могу переустановить :( все сделал кроме длины(


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: phpdude от 13 Май, 2010, 10:42:35
onzone, ставь пхп3 там все будет, а то 4 и 5 гавно в этом плане


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Faster от 13 Май, 2010, 11:10:23
onzone,
проиграй кусок файла mplayerom и распарси вывод


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: onzone от 14 Май, 2010, 11:41:58
Эх блин, ток одна альтернатива осталась вчера серв на 5 пыху перевёл ( Много ругатн было со скриптами ну щс вроде всё ровно ) Спс, тему можно закрывать, проблема решена, всё равно моё имхо php 4 тож рулит)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: jenik_ok от 15 Май, 2010, 01:16:54
Вот блин опоздал я )))
кароч, я тут тоже выдергиванием инфы занялся, и чет лень мне готовые либы искать пишу потихоньку сам, что требуется, вот может кому пригодиться
PHP
function get_move_info($file){
  global $workdirectory;
  if (!file_exists($file)) return false;
  $out=array();
  $err=0;
  $fr='';
  $fp=popen('export LD_LIBRARY_PATH=/usr/lib/ && /usr/local/bin/ffmpeg -y -i '.$file.' &> '.$workdirectory.'moveinfo.txt','r');
  if ($fp){
     while (!feof($fp))
           $fr.=fgets($fp);
     pclose($fp);
    }
    $fr=file_get_contents($workdirectory.'moveinfo.txt');
 
    if (preg_match_all('#Duration: ([0-9]{2}:[0-9]{2})#si',$fr,$match))
        $out['time']=$match[1][0];
    else
        $err++;
    if (preg_match_all('#Duration: ([0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{2})#si',$fr,$match))
        $out['duration']=$match[1][0];
    else
        $err++;
    if (preg_match_all('#([0-9]+x[0-9]+)#s',$fr,$match))
    {
        $out['sizeXY']=$match[1][0];
        list($out['sizeX'],$out['sizeY'])=explode('x',$out['sizeXY']);
    }
    else
        $err++;
    if (preg_match_all('#bitrate: ([0-9]+) kb\/s#s',$fr,$match))
        $out['bitrate']=$match[1][0];
    else
        $err++;
        //print_r($out);
    return ($err>0 ? false : $out);
}

так же еще вот функция которая шарит запущен ли ffmpeg
PHP
function ps ()
{
    $out=array('ffmpeg'=>false,'rar'=>false);
    $fr='';
    $fp=popen('ps aux | grep ffmpeg','r');
    if ($fp){
        while (!feof($fp))
            $fr.=fgets($fp);
        pclose($fp);
    }
    if (preg_match_all('#ffmpeg -y -i#si',$fr,$match))
        $out['ffmpeg']=true;
    return $out;
}

надеюсь вопросов не возникнет, только есть одна тонкость, чтобы вторая функция точно сработала, необходимо чтобы в командной строке было так "ffmpeg -y -i", иначе функция не сможет отследить


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: onzone от 15 Май, 2010, 07:07:48

jenik_ok, Оба, крутая штука =)возьму на вооружение =) А те +1 ) Иногда оч даж полезна)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: jenik_ok от 18 Май, 2010, 12:18:10
после некоторого времени копания в Google на предмет mapping ffmpeg я нашел интересный факт...
как известно конкурент ffmpeg это mplayer и один из аргументов в пользу mplayer'a было то, что он делает скриншеты очень быстро...
в общем выяснилось что ffmpeg умеет делать это так же быстро )))) хотите узнать как? отправтье смс на короткий номер хххх с текстом уу-ууу-уууу
а если правда, то
 
МЕДЛЕННО: ffmpeg -i input.file -an -ss 00:20:00 -r 1 -vframes 1 -y -f mjpeg screen.jpg
БЫСТРО:     ffmpeg -ss 00:20:00 -i input.file -an -r 1 -vframes 1 -y -f mjpeg screen.jpg
 
для тех кто не уловил
Например, если указать -ss после -i файл, вы задолбаетесь ждать, пока оно перейдёт к нужному месту в файле, потому что будет seek’ать на уровне кодека. А если указать -ss до  -i файл, seek’ать оно будет на уровне контейнера и сделает это быстро.


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: phpdude от 18 Май, 2010, 12:40:07
jenik_ok, скажу я вам, что ебанутый обработчик параметров вызова у ффмпега .... или логика, идиотизм кароче


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: jenik_ok от 19 Май, 2010, 07:53:48
phpdude, согласен, мало того что параметров чуть больше чем дофига, так еще и порядок их знать надо...
я тут немного функцию переделал, вот так сказать вариант 2.0, как мне кажется более надежный, во всяком случае ни на одном из 44 файлов которые есть на серваке проблем не возникло
PHP
function get_move_info($file){
  global $workdirectory;
  if (!file_exists($file)) return false;
  $out=array();
  $err=0;
  $fr='';
  $fp=popen('export LD_LIBRARY_PATH=/usr/lib/ && /usr/local/bin/ffmpeg -y -i '.$file.' &> '.$workdirectory.'moveinfo.txt','r');
  if ($fp){
     while (!feof($fp))
           $fr.=fgets($fp);
     pclose($fp);
    }
    $fr=file_get_contents($workdirectory.'moveinfo.txt');
 
    //Duration: 01:34:18.70, start: 0.000000, bitrate: 2070 kb/s
    if (preg_match_all('#Duration: ((([0-9]{2}:[0-9]{2}):[0-9]{2})\.[0-9]+), start: ([0-9\.]+), bitrate: ([0-9]+) kb\/s#s',$fr,$match))
    {
        $out['time']        = $match[3][0];
        $out['timeHis']     = $match[2][0];
        $out['duration']    = $match[1][0];
        $out['start']       = $match[4][0];
        $out['bitrate']     = $match[5][0];
        $out['sduration']   = explode(':',$out['duration']);
        $out['sduration']   = (60*$out['sduration'][0]+$out['sduration'][1])*60+$out['sduration'][2];
        //print_r($match);
    }
    else $err++;
 
    $count=preg_match_all("#Stream \#([0-9]+)\.([0-9]+)(.*?)\n#si",$fr,$matchSt);
    if ($count)
    {
      //print_r($matchSt);
      $astream=0;
      for ($i=0;$i<$count;$i++)
      {
        //$input=$matchSt[1][$i];
        //$stream=$matchSt[2][$i];
        if (strpos($matchSt[0][$i],'Video:'))
        {
            if (preg_match_all('#([0-9]+x[0-9]+)#s',$matchSt[3][$i],$match))
            {
                $out['sizeXY']=$match[1][0];
                list($out['sizeX'],$out['sizeY'])=explode('x',$out['sizeXY']);
            }
            else $err++;
        }elseif(strpos($matchSt[0][$i],'Audio:'))
        {
            $out['audio'][$astream]['stream']=$matchSt[2][$i];
            $astream++;
        }
      }
    }else $err++;
    //print_r($out);
    return ($err>0 ? false : $out);
}
если кому пригодиться в реальной жизни, в благодарность приму бутылочку пива ;)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Butcher от 15 Ноябрь, 2010, 10:33:41
А какjq кодек лучше заюзать при конвертировании ffmpeg-ом ? . На хабре про VP6 писали...
Может кто пробовал разные кодеки?. Интересует какой использовать кодек, чтоб качество в конечном flv был получше ).


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Faster от 16 Ноябрь, 2010, 12:42:24
бытует мнение, что h264 и .mp4 получше будет.
Спустя 1 минуту 5 секунд добавил
кстати vp6 не так просто заюзать


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Butcher от 16 Ноябрь, 2010, 08:18:52
А xvid ? Помница раньше я делал мувик по ку3, на тот моент лушчего качества добился тока хвидом.


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Faster от 16 Ноябрь, 2010, 09:06:59
в сети юзают h263,h264,vp6-8


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Butcher от 16 Ноябрь, 2010, 12:08:00
Лана, x264 сойдет =)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Butcher от 16 Ноябрь, 2010, 12:30:33
Следующий вопрос: почему php-ffmpeg не хочет открывать flv файл ?. Авихи вроде нормально открывает.
"Can't open movie file ./videos/test_video.flv"


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Butcher от 16 Ноябрь, 2010, 12:54:22
ээм, сорри дело в путях было.


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: cheiwe от 10 Декабрь, 2010, 06:20:59
Добрый день! Помогите кто чем сможет в решении проблемы...
На нашем проекте существует проблема с работой ffMPEG.  Не генерятся картинки-превью, несомтря на то, что .
был установлен патч  для toGDImage(), ffmpeg и php-ffmpeg пересобирались заново. Скрипт работает нормально, сервер на него отвечает, но картинки не генерятся.
К сожалению я не разработчик данного проекта, но и они понять не могут.
 
Какая вам нужна информация для выявления ошибки (логи там, настройки...) и выдавания блистательных, надеюсь советов и решений проблемы?
Оч. расчитываю на вашу помощь.


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: phpdude от 10 Декабрь, 2010, 06:23:40
Какая вам нужна информация для выявления ошибки
фтп доступов, 100 баксов и полчаса времени будет достаточно :-)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: cheiwe от 10 Декабрь, 2010, 06:51:54

Какая вам нужна информация для выявления ошибки
фтп доступов, 100 баксов и полчаса времени будет достаточно :-)
ну не 100 баксов, конечно... хотя бы половину. Тем более чувствую, что там на самом деле мелочь какая-то о которой большинство знают.
А по доброте душевной? ;-ь


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: phpdude от 10 Декабрь, 2010, 06:53:33
А по доброте душевной? ;-ь
да я и так если уж за 50 :=)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: cheiwe от 10 Декабрь, 2010, 07:42:51

А по доброте душевной? ;-ь
да я и так если уж за 50 :=)
Надо аукцион устроить... тендер точнее. =)))
А если серьёзно, то напишите контактные данные в личку, дам чуть более подробную информацию, ибо задолбали уже ошибки с ним...
Спасибо!


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: phpdude от 10 Декабрь, 2010, 07:58:51


А по доброте душевной? ;-ь
да я и так если уж за 50 :=)
Надо аукцион устроить... тендер точнее. =)))
А если серьёзно, то напишите контактные данные в личку, дам чуть более подробную информацию, ибо задолбали уже ошибки с ним...
Спасибо!
ya@helldude.ru
Спустя 19 секунд добавил
увидел личку сообщение :-)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: mario от 10 Декабрь, 2010, 11:32:12
Тем более чувствую, что там на самом деле мелочь какая-то о которой большинство знают.
от этого цена не должна падать... так как время то когда то тратили на изучение этих проблем и чтение документации ;)


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: MDST1 от 04 Февраль, 2011, 09:20:32
Привет, подскажите пожалуйста в чем проблема?
 
PHP
Warning: ffmpeg_movie::__construct() []: skipping flv packet: type 97, size 7627016, flags 0 in ...
Warning: ffmpeg_movie::__construct() []: skipping flv packet: type 202, size 14671340, flags 0 in ...


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: YSlivka от 29 Апрель, 2011, 06:17:37
Доброго времени суток.
Установил ffmpeg-php. phpinfo() говорит:
ffmpeg-php version 0.5.2.1
libavcodec version Lavc51.43.0
libavformat version Lavf51.12.2
ffmpeg-php gd support enabled
А на простейшее
PHP
$movie = new ffmpeg_movie('1.avi');
кричит
Warning: Can't open movie file 1.avi
1.avi в той же директории.
Спасибо
 



Название: Работа с видео на php с помощью php ffmpeg
Отправлено: mario от 29 Апрель, 2011, 06:18:33
нет прав на файл.


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: YSlivka от 29 Апрель, 2011, 06:31:32
Поставил полный доступ для всех. Ничего не изменилось. Может быть, что я неправильно установил ffmpeg-php? Информации с пхпинфо() достаточно?
Если имеет значение - Windows 7, denwer


Название: Работа с видео на php с помощью php ffmpeg
Отправлено: Faster от 08 Ноябрь, 2011, 04:45:10
кстати - никто не сталкивался с тем, что мобудль не жрет некоторые wmv например? не создается муви-объект, соответственно все методы примяняемые к нему вызывают ошибку. файл существует разумеется


PHP форум на ПЫХА.РУ