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

本篇博客继续在上篇《在Ubuntu 12.04 64bit上搭建Crtmpserver视频点播服务

http://blog.csdn.net/tao_627/article/details/18909075

的基础上,搭建基于开源框架的视频直播服务,仍然使用root用户操作。基本框架图示如下:


下面分为几个步骤说明如下:

1.实时转码服务器构建

这里为了充分挖掘开源项目的优势,我使用ffmpeg来进行实时转码。为此,在Ubuntu 12.04上安装最新的ffmpeg静态生成包。参见下面的链接

http://ffmpeg.gusari.org/static/64bit/


下载下来最新的源码包后,解压到系统目录中

cd /usr/local/src

wget http://ffmpeg.gusari.org/static/64bit/ffmpeg.static.64bit.2014-02-05.tar.gz

tar zxvf  ffmpeg.static.64bit.2014-02-05.tar.gz -C /usr/local/bin

这样将解压出的两个可执行文件ffmpeg和ffprobe复制到系统的/usr/local/bin下面,以后我们可以直接在系统的任何路径使用ffmpeg命令就可以了,我们先看看


将要提供直播服务的视频文件《星月神话》xinyueshenhua.flv存放到Crtmpserver服务器的指定目录/home/taoyx/视频/下面,我们这里为了简单,只使用flv格式的视频文件来进行实时流化,提供直播服务,使用下面的命令实时转码

ffmpeg -re -i "/home/taoyx/视频/xinyueshenghua.flv" -vcodec copy -acodec copy -f flv rtmp://192.168.0.106/live/cuoai


相关说明:

上面的命令将一个本地文件流化为一个名为cuoai.flv(.flv可以省略)的实时流,通过rtmp协议播放。

这里采用ffmpeg而非Flash Media Live Encoder等其它工具,是希望尽可能采用开源解决方案,同时不受其它商业因素制约.另外一点是,ffmpeg本身功能非常强大,它值得我们去投入精力去挖掘它的自身强大功能.

这里采用静态库安装的方式,是为了获取最新版的ffmpeg代码,同时不想从源码编译,因为各种库的依赖关系比较复杂,而且ffmpeg目前不是我们研究的重点.为了尽快达到我们的目的,我选择最快的方式,就是采用静态库的方式.目前ffmpeg在Ubuntu上的ppa提供的版本比较旧,只是ffmpeg1.0,不是最新的ffmpeg2.1,不符合我的要求.

2.使用新版的JWPlayer(官网http://www.jwplayer.com/)来提供网页端的flash播放器

我们从如下网址

https://account.jwplayer.com/#/account

下载最新版的JWPlayer源码,注意初次下载时,你需要先注册一个账号。然后下载self-hosted player版本,同时,你会得到一个Self-Hosted Player License Key,对免费版来说,它不是必须的,但是它可以给你的账户定期反馈使用JWPlayer的统计信息。

将下载得到的压缩包加压后,放到Apache服务器的根目录/var/www,参见如下目录结构


我将它上传到下面的网址

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

下面是live_jwplayer.html 的代码

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Crtmpserver Video Demo</title>
<script type="text/javascript" src="jwplayer.js"></script>
<script type="text/javascript">jwplayer.key="hB1eSAlsWoG5Q0Hg8BN4lkJn+6gNwfm5KFodug==";</script>
</head>
<body>
<div id='mediaspace'>Loading the JWPlayer...</div>

<script type="text/javascript">
    jwplayer("mediaspace").setup({
		flashplayer: "jwplayer.flash.swf",
        file: "rtmp://192.168.0.106/live/cuoai",
		image: "poster.jpg",
		height: 720,
		width: 1680
    });
</script>

</body>
</html>


3.开启直播流和crtmpserver服务器

ffmpeg -re -i "/home/taoyx/视频/xinyueshenghua.flv" -vcodec copy -acodec copy -f flv rtmp://192.168.0.106/live/cuoai

./crtmpserver/crtmpserver crtmpserver/crtmpserver.lua

4.从网页端观看直播流,

http://192.168.0.106/jwplayer6/live_jwplayer.html

下面是使用截图


当然,也可以同时观看点播节目,比如输入如下网址

http://192.168.0.106/jwplayer6/test_jwplayer.html

下面是使用截图


这样的话,我们通过本地文件来模拟产生实时直播流来搭建Crtmpserver的直播基本完成,剩下的工作就是结合该demo去深入研究它内部的代码.请继续参见后面的博文描述.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值