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

来源:互联网 发布:mac 用什么办公软件 编辑:程序博客网 时间:2024/06/10 00:41

文章来源:http://hi.baidu.com/lue_liu/item/5d4cc47725da5c205c178912

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源码在网上资源极少,如果大家需要源码,请联系我email。

另附临时下载地址:http://u.115.com/file/f3f8b49cf1

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

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

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

一、前提配置

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

view plaincopy to clipboardprint?

Wget ftp://ftp.univie.ac.at/systems/linux/fedora/epel/5/i386/lighttpd-1.4.26-2.el5.i386.rpm   

rpm -ivh rpmforge-release-0.5.1-1.el5.rf.i386.rpm  

 

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

view plaincopy to clipboardprint?

yum install gcc   

 

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

view plaincopy to clipboardprint?

yum install httpd  

yum install mysql mysql-server  

yum install php php-devel  

 

再安装phpmyadmin

view plaincopy to clipboardprint?

yum install phpmyadmin   

 

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

view plaincopy to clipboardprint?

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

 

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

view plaincopy to clipboardprint?

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

 

设置mysql的root密码

view plaincopy to clipboardprint?

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

 

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

view plaincopy to clipboardprint?

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能够处理图片以及生成略缩图

view plaincopy to clipboardprint?

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

view plaincopy to clipboardprint?

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,需要编译安装

view plaincopy to clipboardprint?

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 

view plaincopy to clipboardprint?

yum install ffmpeg ffmpeg-devel  

 

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

view plaincopy to clipboardprint?

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:

view plaincopy to clipboardprint?

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扩展中来

view plaincopy to clipboardprint?

vi /etc/php.ini  

 

在文件最后加入

view plaincopy to clipboardprint?

extension=ffmpeg.so  

 

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

view plaincopy to clipboardprint?

vi /var/www/html/phpinfo.php  

phpinfo.php文件内容  

<?php  

phpinfo();  

?>  

 

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

5、我们使用yum 安装mplayer

view plaincopy to clipboardprint?

yum install mplayer  

 

查看一下mplayer的支持解码

view plaincopy to clipboardprint?

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转换工具

view plaincopy to clipboardprint?

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

view plaincopy to clipboardprint?

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权限

view plaincopy to clipboardprint?

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

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

 

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

view plaincopy to clipboardprint?

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

原创粉丝点击