首页 > 在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务

在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务

说明如下:

(1)所有操作最好使用root操作,以尽可能避免权限问题

(2)crtmpserver和web服务器apache(Ngnix亦可)被装在同一台服务器上,客户端使用其他PC的桌面浏览器和android手机,下面是测试环境示意图:



(3)测试环境位于局域网内,由一台路由器接入联通运营商提供的10M包年网络服务

(4)目前测试所用的crtmpserver是trunk 811版本,可能与早期稳定版有些许差别,比如媒体文件存放路径

(5)这里之所以使用jwplayer作为浏览器的flash播放插件,而没有采用通常的adobe flash player,最主要的原因是考虑到开源和全平台兼容性,特别是android和ios上的播放问题。

(6)这里我没有安装到服务器中,主要是因为我只想作为一个调试和阅读代码的环境,并没有去深入地测试它在生产环境上的使用.





1.下载源码包并解压

svn co --username anonymous https://svn.rtmpd.com/crtmpserver/trunk crtmpserver

When it asks for password, hit Enter key



若是zip文件,使用如下命令解压

unzip trunk.zip

cd trunk/

ll



2.安装准备

安装必要的工具包

sudo apt-get install cmake libssl-dev libcrypto++-dev libdl-ruby



3.生成Makefile并Make生成

cd builders/cmake

cmake .

make



4.启动crtmpserver

./crtmpserver/crtmpserver crtmpserver/crtmpserver.lua

下面是启动后的命令行界面



从中可以看出crtmpserver支持很多主流的流媒体协议,rtmp和rtsp,当然这里没有rtmfp和hls,貌似两年前的版本是支持的.



5.查看crtmpserver进程信息

 ps aux | grep crtmpserver

root     11729  0.0  0.4  10264  4712 pts/0    S+   16:57   0:00 ./crtmpserver/crtmpserver crtmpserver/crtmpserver.lua

root     11792  0.0  0.0   4012   756 pts/1    S+   17:03   0:00 grep --color=auto crtmpserver



6.制作测试样本并复制到crtmpserever中指定目录

从下面的网站下载http://www.dvdvideosoft.com/cn/products/dvd/Free-Video-to-Flash-Converter.htm

得到一个windows平台的软件Free Video to Flash Converter,可将视频文件转换为flash (SWF或者FLV格式) 并将其发布在你的网页上或博客中。目前得到的最新版本是: 5.0.32.1230



我们将要测试的样片《星月神话》高清MV有avi格式转码为flv格式,记为test.flv,按理本应当复制到media目录下面,但是由于当前版本的原因,我发现它已经更改为在如下结构,



事先需要创建如下目录

/Volumes/Storage/media/flv

/Volumes/Storage/media/mp4

/Volumes/Storage/media/mp3

同时需要在/tmp中事先创建

/tmp/metadata目录来存放播放每部视频时的.seek和.meta文件,这些文件是便于拖到检索和存放视频元数据的信息。





7.安装配置web服务器

7.1安装Apache Weserver步骤如下:

root@taoyx-desktop:/home/taoyx# ps aux | grep apache

root      1832  0.0  0.0   4012   760 pts/0    S+   10:40   0:00 grep --color=auto apache

root@taoyx-desktop:/home/taoyx# sudo apt-get install apache2



root@taoyx-desktop:/home/taoyx# ps aux | grep apache

root      2245  0.0  0.2   5464  2576 ?        Ss   10:44   0:00 /usr/sbin/apache2 -k start

www-data  2248  0.0  0.1   5236  1756 ?        S    10:44   0:00 /usr/sbin/apache2 -k start

www-data  2250  0.0  0.1 226868  2020 ?        Sl   10:44   0:00 /usr/sbin/apache2 -k start

www-data  2251  0.0  0.1 226868  2020 ?        Sl   10:44   0:00 /usr/sbin/apache2 -k start

root      2316  0.0  0.0   4012   756 pts/0    S+   10:44   0:00 grep --color=auto apache



配置网站目录,默认的网站根目录是/var/www





7.2或者安装nginx的二进制包,步骤如下:

直接从命令行安装:

sudo apt-get install nginx

根目录在

/usr/share/nginx/html

测试页面放在这个目录下面就可以了

启动方法:

/etc/init.d/nignx

其他方法:

/etc/init.d/nignx -s stop/quit/reopen/reload

其他查询选项

/etc/init.d/nginx -v/V





8.安装JWPlayer网页内嵌播放器

首先下载JWPlayer安装包,解压,提取出里面的player.swf,jwplayer.js,swfobject.js,

复制到apache的网站目录根目录(/var/www)下新建的子目录jwplayer下面。

我这里使用的是一个早期的jwplayer版本,链接见

http://download.csdn.net/detail/tao_627/6895995

大家如果对最新版的jwplayer感兴趣,可以去jwplayer的官网去下载最新版来倒腾。

新建一个名为test_jwplayer.html的html,内容如下





Crtmpserver Video Demo


Loading the JWPlayer...


注意:指定媒体文件时,最好给出绝对路径比较可靠,若是flv文件,.flv必须省略

此处的媒体文件是test.flv



root@taoyx-desktop:/var/www# mkdir jwplayer

root@taoyx-desktop:/var/www# ll

总计 16

drwxr-xr-x  3 root root 4096 2011-07-24 11:21 ./

drwxr-xr-x 16 root root 4096 2011-07-24 10:44 ../

-rw-r--r--  1 root root  177 2011-07-24 10:44 index.html

drwxr-xr-x  2 root root 4096 2011-07-24 11:21 jwplayer/

root@taoyx-desktop:/var/www# cd jwplayer/

root@taoyx-desktop:/var/www/jwplayer# ll

总计 256

drwxr-xr-x 2 root root   4096 2011-07-24 11:31 ./

drwxr-xr-x 3 root root   4096 2011-07-24 11:21 ../

-rw-r--r-- 1 root root 133009 2011-07-06 13:08 jwplayer.js

-rw-r--r-- 1 root root 106417 2011-07-06 13:08 player.swf

-rw-r--r-- 1 root root   6887 2011-04-12 15:47 swfobject.js

-rw-r--r-- 1 root root    493 2011-07-24 11:37 test_jwplayer.html





9.点击观看,以验证crtmpserver是否安装成功

打开一个网页浏览器,比如maxthon,在地址栏输入

http://192.168.0.106/jwplayer/test_jwplayer.html

其中192.168.1.106是rtmp服务器crtmpserver所在的IP地址,后面的jwplayer/test_jwplayer.html是针对apache webserver的网站目录根目录(/var/www)的相对路径

稍等片刻,就会弹出一个内嵌网页的JWPlayer播放窗口

下面是在三星盖世四上的播放效果截图



在ipad 4的safari和chrome上测试时,发现加载jwplayer插件时通不过,初步猜测是ios的沙盒安全机制导致的。

10.开机重启注意

(1)每次开机进入linux Ubuntu 12.04后, apache webserver相关进程会自动运行,但是crtmpserver需要进入到trunk/builders/cmake目录下面,使用

./crtmpserver/crtmpserver crtmpserver/crtmpserver.lua

来启动,不能进入下一级目录crtmpserver再启动该命令./crtmpserver crtmpserver.lua,会报错。

(2)每次关机后,在/tmp下的metadata文件夹会被销毁,所以,每次启动crtmpserver之前,需要手动使用root用户来创建该文件

mkdir -p /tmp/metadata

更多相关:

  • 1. free 2. top 3. vmstat 4. slabtop; 5. pmap 6. dmesg 7. /proc/meminfo 8. /proc/sys/vm 目录下的文件 9. sync 10./proc/zoneinfo  11./proc/pagetypeinfo 查看内存工具:1.free free - Dis...

  • 文章目录前言创建二叉树先序遍历中序遍历后序遍历获取叶子节点个数获取树的高度测试代码 前言 现有如下二叉树: 关于二叉树的相关操作,我们能够发现二叉树从根节点到子节点,以及每个中间节点基本都能够拆分为若干个子节点的操作,且每个子节点的操作都和其头节点操作一致。 所以我们针对二叉树的操作都可以使用分治算+回溯/归并算法进行...

  • 今天需要部署一个ceph L 版本12.2.12的环境,无奈最近公司网络无法访问到ceph官网,只能使用之前下载好的ceph-deploy-1.5.39版本,安装上之后一口老血喷了出来,没有mgr的部署选项。 无奈之下只能自己制作一个1.5.38版本的ceph-deploy包,借用从ceph-deploy-1.5.39-0.src....

  • root 权限进入MySQL: mysql –uroot 查看当前MySQL用户: select user,host from mysql.user;     此处以User为root,Host为localhost的账户为例,将密码改为password的命令:   SET PASSWORD FOR 'root'@'localhost...

  • 这里用散装版本的AutoScssStruct4Vue为例 先去https://github.com/accforgit/AutoScssStruct4Vue下载 然后把解压后的包放入C:UsersAdministrator.vscodeextensions(地址根据你自己的安装目录而定)    点开目录在资源管理器...

  • 网上搜到的结果大都不令人满意,这里综合了网上的结构,做了小许改动.希望对大家有帮助. 在Linux下的目录结构操作基本上使用opendir,readdir,closedir就够了. #include #include #include #include

  • 文章目录git 最小配置作用域git 创建本地仓库git log 查看版本演进.git 目录refs目录objectsgit 三种对象类型详解 (commit ,tree,blob)...

  • 一 . 进入目录权限 如果我在普通用户下创建了一个目录f1,然后使用chomd u-rwx,g-rwx,o-rwx之后,我在普通用户下想进入f1目录,权限不允许。 然后我切换到超级用户下,再次尝试进入到f1目录,这个时候允许进入。 然后回到普通用户下,只给f1的所有者读的权限,然后在普通用户下尝试进入,此时权限还是...

  • windows下rpc框架thrift的环境配置 引用链接: https://www.cnblogs.com/49er/p/7193829.html 最近在弄windows下 的Facebook的rpc 框架 thrift , 网上东西看了很多, 但是大都不能一篇到位, 这里总结了一下, 也记一下自己遇到的问题和解决的方法 这里...