在多媒体领域,安全性和性能是至关重要的。构建一个能够同时向数百个客户端安全地传输高质量音视频数据的RTSP服务器是一项极具挑战性的工程任务,可能需要多年的研究和开发。LEADTOOLS,作为全球领先的多媒体光栅、文档和医学成像SDK提供商,推出了其新的RTSP服务器技术。除了提供高级开发库以加速服务器端开发外,LEAD的顶级播放、捕获、转换和DVR功能也可以用于开发高端RTSP客户端应用程序。支持h.264、MPEG-4、MPEG-2、JPEG、AAC、AMR等编码器、复用器和解复用器,确保视频以市场上最好的质量、压缩和速度进行编码和解码,使LEADTOOLS成为满足所有多媒体开发需求的完整解决方案。
开发一个功能齐全且安全的RTSP服务器,只需最少的编码工作。可以播放、暂停和停止任何RTSP源,使用UDP或HTTP协议连接到任何RTSP源,使用HTTP隧道从另一个网络上的RTSP摄像机流式传输数据。支持许多流行的音视频压缩格式,包括H.264、MPEG-4、JPEG、AAC、AMR、G.711等,可以捕获和转换流以进行归档、刻录到DVD或与DVR集成。提供高级.NET、COM和C/C++接口,用于DirectShow和Media Foundation应用程序开发。
在任何RTSP服务器应用程序中,基础特性是与客户端进行流式传输和通信。有许多协议指令,包括DESCRIBE、SETUP、PLAY、PAUSE等。LEADTOOLS的RTSPServer对象为处理这些,只需几行基本代码。
public class RTSPServerClass {
RTSPServer _server = null;
public void StartServer() {
_server = new RTSPServer();
// 创建服务器实例
_server.SetSourceFolder(0, @"c:\MyFiles");
// 指定c:\MyFiles作为源文件夹
_server.TargetAddress = "127.0.0.1";
// 将在127.0.0.1上监听
_server.StartServer(554);
// 在554端口上开始监听
}
public void StopServer() {
_server.StopServer(554);
_server.Dispose();
}
}
现在拥有一个完全功能且符合标准的RTSP服务器,任何支持RTSP的媒体播放器都可以连接到它。安全性通常是任何基于网络的应用程序中最困难且最重要的方面,尤其是当传输敏感或私密信息时。LEADTOOLS为封装了所有必要的安全握手和通信。只需设置RTSPSecurity对象并将其传递给RTSPServer,服务器现在就可以通过基本或摘要认证进行安全保护。以下示例将安全设置为全局,但也可以按文件夹设置,以便不同的用户可以访问不同的材料。
using (RTSPSecurity security = new RTSPSecurity()) {
security.RealmName = "LEAD RTSP Server Demo";
// 设置安全类型
security.AuthenticationRequired = RTSPAuthenticationType.Basic;
// security.AuthenticationRequired = RTSPAuthenticationType.Digest;
// 只添加一个用户
security.AddUser("User", "Password");
// 将此设置为所有文件夹的安全信息
_server.SetSecurity(-1, security);
}