您的位置:首页 > 运维架构 > Linux

Ostube2.6开源 flv流媒体服务器在系统Centos5.5的搭建

2011-01-27 10:15 453 查看
Ostube是一个开源的视频系统,基于php,功能比较完,支持mpg|mov|wmv|mp4|mkv|3gp|flv|m4v|rm|rmvb上传并自动转换为flv格式播放。目前还没有一个视频系统功能超越。

缺点:基于LAMP,因为Apache没有flv_streaming模块,所以不支持视频拖拽。如果可以搭配Lighttpd或者Nginx就可以支持视频拖拽播放了,不过我没有试过。

Ostube的最新版本是Ostube2.6,自从2010年10月1号,osTube被VImp收购了,并全面转向vimp,可以说ostube2.6是最后的版本了。

我前几天下载了vimp 的社区版本vimp community version,下载下来满怀希望滴一看,肉牛满面,娘的用SourceGuardian加密了,什么鸟东西!无奈之下只好到www.osTube.de 用邮箱注册来索取osTube源码,N次注册无果,不得不求助于google。最后在一家阿拉伯网站上下到了Ostube2.6源码,狂嘻嘻!

Ostube2.6源码在网上资源极少,如果大家需要源码,下载http://www.kuaipan.cn/file/id_8112282689090070.htm



Ostube的官方安装说明是基于debian的,所以在debian/ubuntu上面的教程比较多,其实在Centos上面也不难。

--------------------------分割小长线----------------------------------------

本文介绍osTube2.6在CentOS5.5以上版本下的安装方法。所有操作在root用户下进行。



一、前提配置

先安装rpmforge软件库源,rpmforge上面有超过10000+的开源软件,我们用它查尽量避免编译安装

Wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.1-1.el5.rf.i386.rpm 
rpm -ivh rpmforge-release-0.5.1-1.el5.rf.i386.rpm


如果你的系统没有安装gcc编译环境,请安装一下,已经安装的请略过

yum install gcc


二、搭建appache+mysql+php环境,如果你已经搭建好了,强烈建议你再安装一下php-devel.

yum install httpd
yum install mysql mysql-server
yum install php php-devel


再安装phpmyadmin

yum install phpmyadmin


安装完成之后,我们要配置一下phpmyadmin的blowfish_secret密令

vi /usr/share/phpmyadmin/config.inc.php


找到$cfg['blowfish_secret'] = ''一行,修改

$cfg['blowfish_secret'] = '此处任意字符串';


设置mysql的root密码

mysqladmin -u root -p password '你的密码'


这时我们启动下httpd和mysql,应该可以在浏览器中访问服务器了

service httpd start
service mysqld start




phpmyadmin默认只能通过http://loaclhost/phpmyadmin来访问,如果修改其限制,请修改

/etc/httpd/conf.d/phpmyadmin.conf 将allow from 127.0.01 修改为allow from all



三、ostube所需的视频编码、图形库以及转换工具支持,这个环节比较重要

1、安装图形库,使php能够处理图片以及生成略缩图

yum -y install libjpeg-devel
yum install gd php-gd


2、安装重要的解码库essential



下载地址: http://www1.mplayerhq.hu/MPlayer/releases/codecs/

32位系统请用:
http://www1.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2
64位系统请用:
http://www1.mplayerhq.hu/MPlayer/releases/codecs/essential-amd64-20071007.tar.bz2
wget http://www.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2 tar xjf essential-20071007.tar.bz2
mkdir -p /usr/local/lib/codecs
cp essential-20071007/* /usr/local/lib/codecs/
chmod -R 755 /usr/local/lib/codecs/
ln -sf /usr/local/lib/codecs /usr/lib/codecs


3、mp3解码支持lamp,需要编译安装

wget http://nchc.dl.sourceforge.net/sourceforge/lame/lame-398-2.tar.gz tar xzvf lame-398-2.tar.gz
cd lame-398-2
./configure --enable-shared -prefix=/usr
make
make install


4、安装ffmpeg

yum install ffmpeg ffmpeg-devel


对php增加ffmpeg-php 扩展,使php能够生成视频截图

wget http://sourceforge.net/projects/ffmpeg-php/files/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2/download tar -xjvf ffmpeg-php-0.6.0.tbz2 
cd ffmpeg-php-0.6.0
phpize
./configure -with-php-config=/usr/bin/php-config
make
make install




如果以上编译过程出现错误,请测试一下你的系统有没有phpize命令,如果没有,请安装php-devel。如果php-devel没有安装,php-config命令也不存在。

编译安装完成ffmpeg-php之后,我们查看一下/usr/lib/php/modules/是否生成的ffmpeg.so:

ls /usr/lib/php/modules/
dbase.so   gd.so        mcrypt.so  mysql.so      pdo.so         phpcups.so
ffmpeg.so  mbstring.so  mysqli.so  pdo_mysql.so  pdo_sqlite.so


我们把生成的ffmpeg.so加入到php扩展中来

vi /etc/php.ini


在文件最后加入

extension=ffmpeg.so


我们重新启动一下httpd服务器,在/var/www/html下面新建一个phpinfo.php测试一下mmpege是否加载

vi /var/www/html/phpinfo.php
phpinfo.php文件内容
<?php
phpinfo();
?>


访问http://localhost/phpinfo.php查看一下ffmpeg是否加载成功

5、我们使用yum 安装mplayer

yum install mplayer


查看一下mplayer的支持解码

mplayer -vo help




会列出mplayer支持类型,

Available video output drivers:

fbdev Framebuffer Device
fbdev2 Framebuffer Device
v4l2 V4L2 MPEG Video Decoder Output
cvidix console VIDIX
null Null video output
mpegpes Mpeg-PES to DVB card
yuv4mpeg yuv4mpeg output for mjpegtools
jpeg JPEG file
tga Targa output
pnm PPM/PGM/PGMYUV file
md5sum md5sum of each frame
6、安装mencoder转换工具

yum install mencoder




查看一下mencoder的支持解码,应该有:

MEncoder SVN-r29417-4.1.2 (C) 2000-2009 MPlayer Team

Available codecs:

copy - frame copy, without re-encoding (useful for AC3)
pcm - uncompressed PCM audio
mp3lame - cbr/abr/vbr MP3 using libmp3lame
lavc - FFmpeg audio encoder (MP2, AC3, ...)
twolame - Twolame MP2 audio encoder
faac - FAAC AAC audio encoder




7、安装flv修复工具,安装过程中会为解决依赖自动安装ruby

yum install flvtool2


四、设置一下php的上传限制,修改/etc/php.ini



根据要上传的视频大小修改以下几个值:

upload_max_filesize = 400M

post_max_size = 500M

PHP允許一次上傳文件的大小限制,若我一次要上传2个15MB的影片,那么这个数值就必须至少大於30M。

这个 post_max_size 必须大于 upload_max_filesize

memory_limit = 600M

执行每个scripts时使用的memory大小限制,这个 memory_limit 必须大于 post_max_size

这三个数值的大小,必须是 memory_limit > post_max_size > upload_max_filesize ,这不是我说的,是php manual上說的,所以要设多大,就看自己的決定了。

重启Apache,使配置生效

至此,我们的服务器大环境已经基本完成了,光荣进入第五大步



五、开始安装 osTube,别去官网下载ostube了,因为人家已经闭源了。

1、把下载的ostube源文件解压到httpd默认的根目录/var/www/html下面,并加777权限。如果你不想解压到根目录也是可以的(废话)。

2、把ostube源文件中的cgi-bin下面文件移动到/var/www/cgi-bin下面,加755权限

mv /var/www/html/cgi-bin/* /var/www/cgi-bin/
chmod 755 /var/www/cgi-bin/*


根据实际情况作一下修改uu_default_config.pm

vi /var/www/cgi-bin/uu_default_config.pm
temp_dir => '/tmp/' //这一行要与php.ini中upload_tmp_dir值相同
upload_dir  => $ENV{'DOCUMENT_ROOT'} . '/media/tmp/',
redirect_url => 'http://' . $ENV{'SERVER_NAME'} . '/upload.php',
path_to_upload  => 'http://'. $ENV{'SERVER_NAME'} . '/uploads/',




temp_dir => '/tmp/' //这一行要与php.ini中upload_tmp_dir值相同
upload_dir => $ENV{'DOCUMENT_ROOT'} . '/media/tmp/',
redirect_url => 'http://' . $ENV{'SERVER_NAME'} . '/upload.php',
path_to_upload => 'http://'. $ENV{'SERVER_NAME'} . '/uploads/',




打开地址http://localhost/进行安装,设置下数据库连接信息即可完成安装。

安装完成后,删除install文件夹,或者将文件夹改名。

安装的详细过程可以参考http://plog.hlps.tcc.edu.tw/plog/post/1/3296 ,非常详细

存在问题

上传无进度条:因为centos5下默认版本是php5.1,只有php5.2.6以上版本才支持php apc扩展







********************************************

* 作者:叶文涛

* 标题:Ostube2.6开源 flv流媒体服务器在系统Centos5.5的搭建

* 时间:2010-11-21

* 参考:

*在Fedora上安裝OsTube http://plog.hlps.tcc.edu.tw/plog/post/1/3296

*在CentOS5上的安装osTube2.5 http://www.187299.com/archives/947
******************转载请注明来源 ****************
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: