搭建的原因

最近工作需要与异地工作的同事讨论问题,需求是能看到同事的画面和电脑桌面屏幕和还有声音。所以需要搭建一台流媒体服务器,现在很火的直播一般都是用RTSP和RTMP,做点播用HTTP。做视频会议的时候原来使用的是SIP协议,现在基本上被RTMP协议取代了。大体实现的思路是通过网络摄像头拍摄视频,然后将视频推给服务器,服务器接收监控摄像头的数据,然后转发给用户观看。

常用的两个协议

RTMP是流媒体协议。 它是Adobe的私有协议,未完全公开。 一般传输的是flv,f4v格式流。在TCP1个通道上传输命令和数据。

rtsp 是流媒体协议 ,它是共有协议,并有专门机构做维护。它的传输的是ts、mp4格式的流。它的传输一般需要 2-3 个通道,命令和数据通道分离。

实现方案

先说一下目前主流开源流媒体服务器:Live555,EasyDarwin,DarwinStreamingSrvr,jrtplib,ffmpeg,Libav,Red5,Open Streaming Server,FMS,Wowza,FreeCast,Ngix RTMP模块等。如果使用rtsp协议目前用的比较流行的是live555、VLC、DarwinStreamingSrvr等开源软件。

如果使用rtmp协议可以使用Ngix RTMP插件模块来搭建服务端。这次我们选用DSS(Darwin Streaming Server),DSS是Apple公司提供的开源实时流媒体播放服务器程序。采用C 编写, 并且DSS是一个开放源代码的,基于标准的流媒体服务器,可以运行在Windows NT和Windows 2000,以及几个UNIX实现上,包括Mac OS X,Linux,FreeBSD,和Solaris操作系统上的。 采用OBS做推流,

下载完成后解包DarwinStreamingSrvr.tar.gz文件,进入dss目录启动shell中输入

sudo /usr/local/sbin/DarwinStreamingServer

sudo /usr/local/sbin/streamingadminserver.pl

确认dss服务启动,服务运行可以通过RTSP访问流媒体了,打开浏览器http://127.0.0.1:1220/,访问Darwin Streaming Server WEB界面默认端口1220.看到如下界面:

流媒体服务器点播直播(搭建流媒体服务器)(1)

OBS 推送

obs (OBS Studio)是 windows 系统端开源的推流软件,编码使用H264(X264)和AAC ,它一款非常好用的开源直播推流软件,为用户提供了视频、文本、图像等的捕获录制功能。基于GPU的高性能游戏流媒体游戏捕获。支持DirectShow的捕获设备(摄像头,采集卡,等),双线性或lanczos3重采样。当然选择它主要是开源,免费。也比较好用。

流媒体服务器点播直播(搭建流媒体服务器)(2)

流媒体服务器点播直播(搭建流媒体服务器)(3)

VLC拉流观看直播

首先打开VLC media player,然后点左上角"媒体"——"打开网络串流",然后输入网络URL输入rtsp://ip/xxx, 就可以播放了

流媒体服务器点播直播(搭建流媒体服务器)(4)

Ok~~

,