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