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