2010-12-01 160 views
13

所以我正在尝试创建一个流媒体音乐的RTSP服务器。
我不明白服务器如何播放音乐,不同的请求会得到当时播放的内容。
所以,要组织我的问题:
1),服务器如何播放音乐文件?
2)对服务器的请求怎么看起来像获取当前正在播放的内容?
3)响应是什么让音乐在请求音乐的客户端播放?如何创建一个RTSP流媒体服务器

回答

21

第一:READ THIS(RTSP),并THEN READ THIS(SDP),然后READ THIS(RTP)。那么你可以问更多明智的问题。

1)它没有,服务器流式传输的音频数据的小部分到客户端,告诉它当每个部分将被播放。

2)没有这样的要求。如果你愿意,你可以有实时流式传输的URL,并且在RTSP DESCRIBE请求中,告诉客户当前正在进行的操作。

3)读头(RTSP)的文件,一切都在那里!回答你的问题是这样的:

RTSP/1.0 200 OK 
CSeq: 3 
Session: 123456 
Range: npt=now- 
RTP-Info: url=trackID=1;seq=987654 

但要获得音乐播放,你将不得不做更多的事情来启动流会话。

+3

您还可以阅读:http://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtp 它概括我的RTSP实现是怎么做的。它也与VLC兼容。 – Jay 2012-12-12 15:22:18

2

您首先应明确什么是RTSP和RTP。实时流协议(RTSP)是一种网络控制协议,设计用于通信系统来控制流媒体服务器。大多数RTSP服务器使用实时传输协议(RTP)进行媒体流传输。 RTP使用UDP来传送数据包流。尝试理解这些概念。

然后看看这个项目。 http://sourceforge.net/projects/unvedu/

这是一个由我们大学开发的开源项目,用于通过UDP流式传输视频(MKV)和音频文件。

0

您还可以找到RTP和RTSP的.NET实现这里@https://net7mma.codeplex.com/其中包括RTSP客户端和服务器实施和如许多其他有用的工具许多流行的数字媒体容器格式的实现。

该解决方案具有模块化设计,比当前时间的ffmpeg或libav更好的性能。