开发者社区> split_two> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

搭建流媒体服务器

简介: 需求:现在需要搭建一台流媒体服务器,为了将主讲人的电脑桌面屏幕和声音直播给远端的人接收实时观看,要求延迟在5秒左右。理论上RTSP、RTMP、HTTP都可以做直播和点播,但是一般做直播都是用RTSP和RTMP,做点播用HTTP。
+关注继续查看

需求:现在需要搭建一台流媒体服务器,为了将主讲人的电脑桌面屏幕和声音直播给远端的人接收实时观看,要求延迟在5秒左右。理论上RTSPRTMPHTTP都可以做直播和点播,但是一般做直播都是用RTSPRTMP,做点播用HTTP。做视频会议的时候原来使用的是SIP协议,现在基本上被RTMP协议取代了。

两种方案如下:

1)rtsp目前用的比较流行的是live555vlcDarwinStreamingSrvr5.5.5等开源软件。

2)rtmp只能用nginx加载rtmp模块来搭建服务端。

首先值得我们需要思考的几个问题:

1、直播端的数据流是拉取还是推送?

2、是服务端主动拉取?还是直播端安装推流软件基于工具来推流?

3、服务端能接收推流吗?如何测试推流成功?

4、接收端用什么接收测试?工具还是浏览器?

需要的环境及工具:

1、笔记本一台(这里作为服务端也是直播端,最好能上公网且是ubuntu系统)

2、Flv视频文件一个(测试点播文件)

3、vlc客户端一个(接收端使用)或者能上网的电脑一台

4、obs客户端一个(直播端

方案一、

先尝试第一种解决方案rtsp,网上搜索的方案大多数只有三种:

1、live555作为服务端(网上一堆方法,部署也很简单)

结果:只实现了点播的效果,用obs推流报不知道的协议,网上查询实现直播需要修改源码,弃之。

2、vlc作为服务端(网上一堆方法,部署也很简单)

结果:实施过程相当简单,但是只能实现mp3音频文件的串流,试过桌面串流好像不行。而且高并发的也不确定有没有性能上的问题。也弃之。

3、DarwinStreamingSrvr5.5.5作为服务端(网上一堆方法,部署也很简单)

结果:点播都不行,更别说是直播了,当然这里我不否定是不是部署有问题,最后果断弃之。

实验后的结论:

RTSP果断放弃吧!虽然说是延迟很低、实时性高,但是部署都失败了。所以我这里准备采用RTMP作为服务端。

关于vlcobs两个工具的使用感受:

vlc只能作为服务端和接收端,不能作为直播端推送数据流到服务端。

obs只能作为直播端推送数据流到服务端,不能作为服务端和接收端。

综上所述解答上面提出的几个问题:

1、直播端的数据流是拉取还是推送?

答:推送

2、是服务端主动拉取?还是直播端安装推流软件基于工具来推流?

答:是直播端用obs软件推流

3、服务端能接收推流吗?如何测试推流成功?

答:服务端可以接受推流,服务端可以用盘古直播服务器,在盘古直播注册一个账号,然后记住流媒体服务器的url和流密钥,在obs软件设置里面填上这个参数就可以测试推流成功了。

4、接收端用什么接收测试?工具还是浏览器?

答:接收端用vlc可以接收测试,但是我个人建议还是使用浏览器里面带的播放器测试,延迟更低,但是必须要能上公网,地址如下:

http://www.ossrs.net/players/srs_player.html,在URL里面输入你流媒体服务器的地址即可!

截图如下:


方案二、

一、服务端操作:

1、笔记本安装ubuntu系统(步骤略)

2、安装obs软件,注意obs官网linux版本只支持ubuntu安装,所以现在知道为什么上面说明需要ubuntu系统了吧!当然windows也可以,因为我这里还 需要一些php环境运行一些其它的服务。

点击(此处)折叠或打开

  1. sudo add-apt-repository ppa:obsproject/obs-studio
  2. sudo apt-get update && sudo apt-get install obs-studio

3、安装nginxrtmp模块

点击(此处)折叠或打开

  1. wget http://nginx.org/nginx-1.11.8.tar.gz
  2. unzip nginx-rtmp-module-master.zip(这个模块去网上搜索下载)
  3. tar zxvf nginx-1.11.8.tar.gz
  4. cd nginx-1.11.8
  5. ./configure --prefix=/usr/local/nginx --add-module=/root/nginx-rtmp-module-master
  6. make
  7. make install

修改nginx.conf文件,在server段上面添加如下内容:

点击(此处)折叠或打开

  1. rtmp {
  2.     server {
  3.         listen 1935;
  4.         application live {
  5.         live on;
  6.         record off;
  7.     }
  8. }
  9. }

注意里面的application可以加多个,live相当于频道的含义。只不过直播端推流的时候要设置为和接收端一样的地址就行。

启动nginx服务,如果正常应该监听了801935端口。保证直播端和接收端能访问服务端的这两个端口。

以下红色字体可以完全忽略

简单测试点播(注意下面是在centos7.2系统操作的):

先找一个flv文件吧!这,需要安装一个ffmpeg软件来模拟推流操作

点击(此处)折叠或打开

  1. rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
  2. yum –y install ffmpeg
  3. ffmpeg -re -i test.flv -f flv rtmp://192.168.1.1/live
正常输出如下:

找一台能上网的window作为接收端,输入下面的url,然后输入rtmp://192.168.1.1/live,最后点击播放按钮,出现如下画面说明点播正常。其实这个测试点播的步骤完全可以省略,我这里是方便记录一下ffmpeg推流。


服务端接着操作:

1、打开终端直接输入obs命令,然后会弹出obs的界面,然后点击串流选择自定义流媒体服务器---URL填写rtmp://服务器IP/live—点击确定按钮


2、鼠标指针放到来源空白处,然后点击添加屏幕捕获

3、鼠标指针放到来源空白处,然后点击添加音频输入捕获

4、点击OK,在来源处应该会出现屏幕捕获和音频输入捕获了。

然后点击开始串流,最后点击是就OK了!如果下面有个时间开始计时走动了就说明数据流能正常推送到服务端了。

三、接收端操作

浏览器输入下面的url,然后输入rtmp://192.168.1.1/live/,最后点击播放按钮,出现ubuntu的桌面说明直播正常。经过测试一般延迟2秒左右,但是用vlc测试延迟4秒左右。所以如果你的接收端能上公网就用浏览器,如果不能上就用vlc。使用方法如下:

打开vlc,点击媒体打开网络串流,输入你的服务端的地址,点击播放按钮就可以实时接收直播的数据流了。






版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
搭建服务器初体验
服务器安装mysql、tomcat
60 0
搭建代理服务器
搭建代理服务器
4741 0
阿里云搭建流媒体服务器
介绍如何在阿里云ECS上快速搭建大并发的流媒体服务器系统,实现视频直播、视频点播和微信直播等类型的视频服务,是在线视频培训、会议、视频网站搭建的基础工作。
9317 0
NFS 服务器搭建
!/bin/bash nfs+rpc rpc 111 rpc.nfsd rpc.mounted yum -y install nfs-utils rpc; /etc/exports /var/lib/nfs/*tab 日志文件 vi /etc/exports /home/public 192.
965 0
搭建CAS单点登录服务器
  最近公司的一个项目需要用到单点登录的功能,之前对单点登录了解得不多。于是网上找了下单点登录的解决方案,发现CAS是个不错的解决方案。于是搭个环境测试了一下。这里记录下测试的详细步骤。   官网:http://jasig.
1756 0
主流流媒体服务器
1 Flash流媒体服务器 Red52 Darwin Streaming Server3 流媒体服务器 Open Streaming Server4 MPEG4IP5 开源流媒体平台 FreeCast6 流媒体服务器 Yass7 开源流媒体平台 Stream-2-Stream8 Flumotion ...
2334 0
+关注
split_two
忠于开源,热爱开源。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
无需从0开发 1天上手只能语音离在线方案
立即下载
无需从0开发-1天上手智能语音离在线方案
立即下载
如何高效的制作主机次时代游戏
立即下载