Lighttpd + mod_flv_streaming + mod_secdownload = свой youtube

В данной статье будет рассказано как создать свой сервер потокового видео на основе FLV(Flash Video) и антилич системы (для пользователя будет генерироватся уникальная ссылка причем средствами веб сервера) + как и чем кодировать видео.

Описание софта необходимого для реализации.

  • Lighttpd - быстрый и легковесный сервер
  • mencoder - универсальный кодировщик видео(входит в состав плеера mplayer)
  • FLVScrubber - флеш плеер для встраивания в веб страницы
  • FLVtool2 - программа для занесения мета-данных в видеофайл
  • Php - не нуждается в представлении ;)

Приступим.
Устанавливаем софт.

apt-get install mplayer mencoder lighttpd ruby 

Для начала настроим веб сервер.

nano /etc/lighttpd/lighttpd.conf

Раскоментируем модуль mod_flv_streaming
и mod_secdownload
Добавляем строчки

flv-streaming.extensions = ( ".flv" )

Теперь перейдем к настройке антилич системы (mod_secdownload)
Секретное слово которое будет использоватся при генерации уникальных ссылок.

secdownload.secret          = "very-secret-word" 

место где будут хранится файлы(!!Эта директория не должна быть доступна для веб сервера!!)

secdownload.document-root   = "/home/smit/videos/"

Префикс который будет использоватся в ссылке (Например: http://site.ru/videos/)

secdownload.uri-prefix      = "/videos/"

Время (в секундах) в течении которого ссылка будет действительна.

secdownload.timeout         = 120 

На этом настройка завершена.
переходим в веб директорию. если вы ничего не меняли то это будет

cd /var/www/

В нее скачиваем FLVScrubber

wget http://topfstedt.de/FLVScrubber3/FLVScrubber.swf

теперь нам нужно написать скрипт который бедт генерировать ссылку на закачку файла и выдавать эту ссылку в поток.
Файл лежит в аттаче.

Закидываем файл в директорию видимую веб-сервером.
Теперь нам осталось только перекодировать файл и положить его в директорию указанную в конфиге mod_secdownload.
Установим Flvtool2. Для этого нам понадобится интерпретатор руби.
скачиваем в любую директорию. и распаковываем.

wget http://rubyforge.org/frs/download.php/17497/flvtool2-1.0.6.tgz
ruby setup.rb config
ruby setup.rb make
ruby setup.rb install

Теперь можно использовать мой небольшой скрипт на перле. Который будет перекодировать с помошью mencoder все файлы в директории в flv формат а исходные файлы удалять.

#!/usr/bin/perl
my $scandir = "/home/smit/Desktop/vid/";
my $ok = opendir $scanned_dir, $scandir;
while (my $filename = readdir $scanned_dir){
	if($filename ne '.' && $filename ne '..' && $filename ne 'scan.pl' && $filename ne 'scan.pl~'){
	push @res, $filename;
	}
};
while ($filename2 = shift @res){
system (`mencoder $filename2 -o $filename2.flv -of lavf -oac mp3lame -aid 1 -lameopts abr:br=56 -srate 22050 -ovc lavc -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -lavcopts vcodec=flv:vbitrate=650:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -vf scale=320:240`);
system (`rm $filename2`);
system (`flvtool2 -UP $filename2.flv`);
}	

Теперь Вам останется для теста положить в директорию secdownload.document-root файл с название video.flv и открыть в своем браузере index.php .
использованые материалы:

(С) Smit easylinux.ru при перепечатке материала ссылка на данный блог обязательна ;)
Возможны изменения или дополнения в статье.

Прикрепленный файлРазмер
index.php_.txt1.34 кб

Комментарии

какие бы вы

какие бы вы статьи еще хотели видеть? серверной тематики -)

развертывание

развертывание Apache+vsftpd+php5+perl+mysql на дебиян :)

на центоси я в ближайшее время замутю

Если пакетами

Если пакетами то накреативлю запросто. :)

не пакетами

не пакетами ставят только расноглазы :)

можно прямо с развертыванием drupal Ж)

Фига се вы тут...

Фига се вы тут... планы строете.

Мне даже как-то неловко :)

ок накреативлю.

ок накреативлю. только сервак возьмку proftpd из статьи своей :)

Можно ли?

Руководство по настройке почтового сервера с веб мордой? ;)

Lighttpd

при установки на ubuntu Lighttpd методом "apt-get install mplayer mencoder lighttpd ruby " в конфиге сервера нет строчки "mod_secdownload" а если устанавливать через менеджер программ то нет строчки "mod_flv_streaming"

На торг со своей ценой не

На торг со своей ценой не ездят.

И муха не без брюха.

И муха не без брюха.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".
Все виды жалюзи: жалюзи .;Стеклянные полы - зенитные фонари .