首页 > Ubuntu 14.04 64bit上编译安装simple-rtmp-server(srs)服务器

Ubuntu 14.04 64bit上编译安装simple-rtmp-server(srs)服务器

下面的操作完全按照参考文献[1]进行,请采用root用户登陆,我这里只是记录了一下我在Ubuntu 14.04上面编译安装的过程.以作今后参考.该篇文章显示了srs提供的一个demo实例,包括实时流的rtmp播放, hls播放,视频会议, ffmpeg视频变换, jwplayer播放, OSMF播放,vlc播放等等功能.

srs起初在Ubuntu 14.04上configure失败, 是openssl-1.0.1f安装失败的问题,导致ssl这个功能无法使用; 再遇到的一个的问题是文字水印涉及的freetype库包含头文件有问题.这两个问题, 经向winlin反映,已经很快修复了.目前的版本在Ubuntu 14.04上配置安装一切正常.

下面是具体的安装过程.

1.下载或更新源码

git clone https://github.com/winlinvip/simple-rtmp-server

cd simple-rtmp-server/trunk

或者使用git更新已有代码:

git pull



2.编译srs

bash scripts/build.sh

编译结果如下:



3.启动SRS的DEMO,启动ffmpeg/api-server/srs等

bash scripts/run.sh

这是成功启动后的显示信息,可以看到的启动进程信息



4.配置host文件以使用demo.srs.com这个域名进行演示

设置客户端hosts,注意是客户端(需要将demo.srs.com这个域名/vhost解析到服务器),这里假设我所在的Ubuntu主机的ip是192.168.0.107

直接以下面的命令修改并加入下面的行

vim /etc/hosts

# edit the folowing file:

# linux: /etc/hosts

# windows: C:WindowsSystem32driversetchosts

# where server ip is 192.168.1.170

192.168.0.107 demo.srs.com



5.打开浏览器观看DEMO效果

在浏览器地址栏中访问SRS的DEMO:http://demo.srs.com:8085

在显示的如下页面中, 逐个点击标签项就可以了.



默认的12路流演示:

    http://demo.srs.com:8085/players

默认的播放器流演示:

    http://demo.srs.com:8085/players/srs_player.html?vhost=players

推流(主播)应用演示:

    http://demo.srs.com:8085/players/srs_publisher.html?vhost=players

视频会议(聊天室)应用演示:

    http://demo.srs.com:8085/players/srs_chat.html?vhost=players

默认的测速应用演示:

    http://demo.srs.com:8085/players/srs_bwt.html?key=35c9b402c12a7246868752e2878f7e0e&vhost=bandcheck.srs.com

从如下演示地址开始点击:

    http://demo.srs.com:8085

下面给出几个效果图















 

下面的vlc那项需要用户手动下载安装vlc, 再使用vlc播放

  

6.停止SRS的DEMO,停止ffmpeg/api-server/srs等

演示完毕,使用下面的命令关闭SRS相关进程.

bash scripts/stop.sh



备注:DEMO的所有链接都是可以点的,所有功能都是可用的。

备注:请将所有实例的IP地址192.168.1.170都换成部署的服务器IP地址。

备注:DEMO不依赖nginx,使用cherrypy做演示网站以及分发HLS,依赖FFMPEG需要演示转码。

    

参考文献

[1].https://github.com/winlinvip/simple-rtmp-server/wiki/SampleDemo

更多相关:

  • SRS是探测参考信号的缩写,所谓参考信号,那么是为谁提供参考?参考的指标是什么?答案是为eNodeB的调度提供参考,参考的内容是为上行信道质量做参考。    那么为什么需要SRS呢?众所周知,在LTE网络中,eNodeB通常是分配系统带宽的一部分区域给特定的UE,也就是在一个特定时间、给UE分配特定的频率区域资源,此时若eNodeB...