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 .
использованые материалы:
- http://ww.google.ru и множество сайтов
(С) Smit easylinux.ru при перепечатке материала ссылка на данный блог обязательна ;)
Возможны изменения или дополнения в статье.
| Прикрепленный файл | Размер |
|---|---|
| index.php_.txt | 1.34 кб |
- Smit's blog
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- 13981 просмотр


Комментарии
какие бы вы
какие бы вы статьи еще хотели видеть? серверной тематики -)
развертывание
развертывание Apache+vsftpd+php5+perl+mysql на дебиян :)
на центоси я в ближайшее время замутю
Если пакетами
Если пакетами то накреативлю запросто. :)
не пакетами
не пакетами ставят только расноглазы :)
можно прямо с развертыванием drupal Ж)
Фига се вы тут...
Фига се вы тут... планы строете.
Мне даже как-то неловко :)
ок накреативлю.
ок накреативлю. только сервак возьмку proftpd из статьи своей :)
Можно ли?
Руководство по настройке почтового сервера с веб мордой? ;)
Lighttpd
при установки на ubuntu Lighttpd методом "apt-get install mplayer mencoder lighttpd ruby " в конфиге сервера нет строчки "mod_secdownload" а если устанавливать через менеджер программ то нет строчки "mod_flv_streaming"
На торг со своей ценой не
На торг со своей ценой не ездят.
И муха не без брюха.
И муха не без брюха.