一步一步搭建自己的视频直播框架(Darwin Streaming Server+Android)

时间:2024-03-03 20:44:39

 

服务器:Centos7.5安装Darwin Streaming Server搭建流媒体服务器

视频采集:Android端用spydroid做视频采集

推  送:通过RTSP协议进行推送和拉取

 

开始之前我们要搞明白几个问题:

1、什么是Darwin Streaming Server

Darwin Streaming Server简称DSS。DSS是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做到程序高效,可扩充性好。并且DSS是一个开放源代码的,基于标准的流媒体服务器,可以运行在Windows NT和Windows 2000,以及几个UNIX实现上,包括Mac OS X,Linux,FreeBSD,和Solaris操作系统上的。

详细的介绍大家可以去百度中查找

 

2、什么是RTSP协议?

RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。HTTP与RTSP相比,HTTP请求由客户机发出,服务器作 出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。RTSP是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需 求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。而前面提到的允许同时多个串流需求控制(Multicast),除了可以降低服务器端的网络用量,更进而支持多方视讯会议(Video Conference)。因为与HTTP1.1的运作方式相似,所以代理服务器〈Proxy〉的快取功能〈Cache〉也同样适用于RTSP,并因RTSP具有重新导向功能,可视实际负载情况来转换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。

3、Android怎么把采集的视频推送给服务器?

  采用 spydroid 进行视频音频推送

  spydroid是一个开源的集视频,音频采集编码并可以通过RTSP协议推送到DDS服务器实现视频直播功能

 

大致就是这样的思路,用着个框架搭建的直播大概有十几秒的延迟,效果不是太好,不过可以拿来练练手。

下一篇主要说怎么在Centos7.5上面搭建Darwin Streaming Server服务器