Преобразование MPEG видео в flash (.FLV)

Spear

почемучка
Преобразование MPEG видео в flash (.FLV)

Здравствуйте,
я обыскался по форуму, искал в гугле, даже нашел какойто странный клон youtube, но так и не смог опнять - как мне, при аплоаде видео, преобразовать его в .flv формат?
Я не пытаюсь сделать клон ютюба ) просто на сайте должен быть раздел "видео пользователей".

Знаю что есть такая штука -ffmpeg, но как с ней работать - непонятно.

в основном в примерах встречается обращение к одному классу, которого нигде нет. То етсь обращение к нему есть, а класса нету - посмотреть как работает невозможно.

вот, например:
PHP:
if(move_uploaded_file($_FILES['field_uploadfile']['tmp_name'], $ff))
{
$mov = new ffmpeg_movie($ff);
video_to_frame($ff,$vid,&$mov,$listch[0]);
$duration=$mov->getDuration();
exec("$config[ffmpeg] -i $config[vdodir]/$vdoname -acodec mp3 -ar 22050 -ab 32 -f flv $config[flvdodir]/".$vid.".flv");
}
Пожалуйста подскажите где можно почитать о том, как работать с ffmpeg? Меня интересует именно преобразование в флеш-формат, с осталньы мпроблем не будет (разработкой флеш-плеера будет заниматься другой человек).

И ещё один небольшой но важный вопросик - как на крупных сайтах (например тот же youtube) происходит закачка крупных видео-файлов, например 30мб? Или так же как и мелких, просто в конфигурации сервера увеличен размер максималньо закачиваемого файла?

-~{}~ 16.12.06 12:36:

Ещё я беспокоюсь что если поулчится все сделать на локальном компьютере, используя ffmpeg - вдруг потом будут проблемы с этим же кодом но уже на сервере?

-~{}~ 16.12.06 12:42:

вот более конкретный оврпос - я не могу понять что и как нужно отсюда http://ffmpeg.mplayerhq.hu/ установить себе на сервер (apache)?

-~{}~ 16.12.06 12:56:

Только что научился пользоваться ffmpeg.exe, ручкми - сконвертировал видео .avi в .flv.
Но вот как то же самое делать на РНР? то есть как мне поставить этот самый ffmpeg на апач? Подскажите, пожалуйста!
 

Spear

почемучка
дык что, получается достаточно закачать файл ffmpeg.exe и использовать exec() для преобразования?
Это конечно круто ) но что тогда такое есть ffmpeg_php? я скачал, так какие-то непонятные исходники *.h и прочее. Там есть только 1 РНР файл, и тот - exmaple, который опять же обращается все к тому же несуществующему классу. Никаких файлов библиотек dll тоже по-моему нету.

объясните, пожалуйста. Понимаю что суббота :)
 

Spear

почемучка
StUV
нет такого файла. Да и вобще я чесгря не просил помощи у тех, кто сам ничего незнает :)
 

Solid

Drosera anglica
Spear
На официальном сайте http://ffmpeg-php.sourceforge.net/ есть абсолютно всё, что вам надо. Главное включить мозги.
А если вы не владеете английским - это уже ваши проблемы.
 

hermit_refined

Отшельник
Ох...
ffmpeg-php - расширение, позволяющее получать информацию о различных параметрах видео и дергать из него кадры. Преобразовывать из одного формата в другой оно не умеет, но это никому и не нужно: создание лишнего процесса - ничто по сравнению с декодированием-кодированием видео.
Следовательно - запускайте, как сейчас запускаете (правда, там с форматами-параметрами встречаются хитрости). "На апач" ничего ставить не надо. На сервере должен быть установлен лишь сам ffmpeg.
 

Spear

почемучка
hermit_refined
Спасибо большое за ответ! Осталось понять как его проинсталлировать :)

-~{}~ 17.12.06 16:30:

Точнее скомпилировать. Хотя нашел в сети скомпилированный ffmpeg_php, но старой версии
 

Solid

Drosera anglica
Spear
Вам уже сказали что ненужен ffmpeg_php, а вы всёравно в своей теме.
 

Spear

почемучка
Solid
ffmpeg_php не нужен ДЛЯ КОНВЕРТАЦИИ. А для остального он необходим (выдрать кадры, узнать продолжительность видео). Solid пожалуйста, уйди отсюда. От тебя толку ноль. Может последуешь своему же совету и включишь мозг? fatal error?
 

hermit_refined

Отшельник
узнать продолжительность видео
распарсить вывод ffmpeg - элементарно.
опять же - ffmpeg это умеет, читайте документацию.
А для остального он необходим
лишние проблемы с переносимостью и никакой необходимости.
 

Spear

почемучка
hermit_refined
народ, ну что ж такое :(
какие-то странные порядки на форуме. Мне кажется что форум для программеров долэен иметь структуру - четкий вопрос-четкий ответ. Вот вдруг кому-то тоже понадобится компилировать ffmpeg-php?
Буду очень благодарен за помощь в компиляции, то есть за объяснение - как скомпилировтаь ffmpeg-php Ha winXP
 

StUV

Rotaredom
Spear
первый линк в гугле по "ffmpeg":
http://ffmpeg.mplayerhq.hu/
ты там уже был?

что там тебе не понятно ? или с англ проблема ?

зы: заметь, здесь форум по пхп, а не по левым либам и о том как их компилить... + никто ни чем тебе не обязан
 

iSlayter

Новичок
Ведь можно с помощью ffmpeg перегнать видео из одного формата в другой исполнив его через exec, но господа - возник вопрос: Каким бы образом вы преобразовывали видео, скажем из 3gp в flv?
 

iSlayter

Новичок
Скриншот с помощью ffmpeg-php. Пример
PHP:
<?php
$frame = intval($_GET['frame']);
$time  = time();
$movie = new ffmpeg_movie($_SERVER['DOCUMENT_ROOT'].'/experiments/video/nagitare.wmv');
$duration = $movie->getDuration();
if ($duration>60){
	$minutes = floor($movie->getDuration()/60);
	$seconds = $movie->getDuration()%60;
}
echo 'File: <font color="red">'.$_SERVER['DOCUMENT_ROOT'].'/experiments/video/nagitare.wmv</font> длится '.$duration.' секунд!<br />';
$img = $_SERVER['DOCUMENT_ROOT'].'/experiments/video/'.$time.'_'.$frame.'.jpg';

$ff_frame = $movie->getFrame($frame);
if ($ff_frame) {
    $gd_image = $ff_frame->toGDImage();
    if ($gd_image) {
        imagejpeg($gd_image, $img);
        imagedestroy($gd_image);
    }
}
echo $minutes.' мин '.$seconds.' секунд.<br />';
echo '<img src="'.$time.'_'.$frame.'.jpg" alt="Скриншот"/>';
?>
 
Сверху