公共rtsp_Rtsp流媒体服务器小结

Darwin Streaming Server(DSS)是QuickTime Streaming Server的开源版本,支持多种操作系统。它实现了RTSP、RTP、RTCP和SDP等标准,通过主线程、空闲任务线程、事件线程和任务线程处理流媒体服务。
摘要由CSDN通过智能技术生成

Darwin Streaming Server

流媒体服务器小结

Darwin Streaming Server

(简称

DSS

)是

QuickTime Streaming Server

开放式源代

码的版本,同时支持

FreeBSD

Linux

Solaris

Windows

NT

Windows

2000

等多个操作系统,是当前所有同类产品中支持平台最多的一个。

DSS

源代码完全采用标准

C++

语言写成,每个

C++

类都对应着一对和类同名

.h/.cpp

文件。

整个服务器包括多个子系统,

分别存放在独立的工程内,

其中,

最为重要的是基

础功能类库(

CommonUtilitiesLib

)和流化服务器(

StreamingServer

)两个工程,

前者是整个系统的通用代码工具箱,

包括了线程管理、

数据结构、

网络和文本分

析等多个功能模块。后者包含了

DSS

对多个国际标准的实现,是整个服务器的

主工程。

DSS

实现了四种

IETF

制定的国际标准,

分别是:

实时流传输协议

RTSP

(

Real-time

Streaming

Protocol,

RFC

2326

)、实时传输协议(

RTP

Real-time

Transfer

Protocol

RFC

1889

)、实时传输控制协议

RTCP

(

Real-time

Transport

Control Protocol

RFC 1889

)

会话描述协议

SDP

(

Session Description Protocol

RFC 2327

)。

核心服务器通过创建四种类型的线程来完成自己的工作,具体如下:

1.

主线程

(main

thread):

这个线程负责检查服务器是否需要关闭,

记录状态信息,

或者打印统计信息。

2.

空闲任务线程

(Idle

Task

thread):

空闲任务线程管理一个周期性的任务队列,

该任务队列有两种类型:超时任务和套接口任务。

3.

事件线程

(Event

thread):

事件线程负责侦听套接口事件,

比如收到

RTSP

请求

RTP

数据包,然后把事件传递给任务线程。

4.

一个或多个任务线程

(Task

threads):

任务线程从事件线程中接收

RTSP

RTP

请求,然后把请求传递到恰当的服务器模块进行处理,把数据包发送给客户端。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值