65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 LEADTOOLS 轻松实现 RTSP 服务器

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2013 年 3 月 1 日

CPOL

2分钟阅读

viewsIcon

48372

使用 LEADTOOLS 轻松实现 RTSP 服务器

引言

实时流协议 (RTSP) 是一种流行的视频点播、安全等实现方法,但可能是一项极其苛刻的端到端工程任务。 创建一个能够安全地、并发地向数百个客户端流式传输高质量音频和视频数据的 RTSP 服务器并非易事,可能需要数年的研究和开发。

LEADTOOLS 是世界领先的用于多媒体栅格、文档和医学影像的屡获殊荣的 SDK 提供商,已在其新的 RTSP 服务器技术 中发布。 除了用于加快服务器端开发的高级开发库之外,LEAD 的一流播放、捕获、转换和 DVR 可用于开发高端 RTSP 客户端应用程序。 h.264、MPEG-4、MPEG-2、JPEG、AAC、AMR 等的编解码器、复用器和解复用器确保您的视频以市场上最好的质量、压缩和速度进行编码和解码,使 LEADTOOLS 成为满足您所有多媒体开发需求的完整包。

LEADTOOLS 多媒体 SDK 中的关键 RTSP 服务器和客户端功能

  • 以最少的代码开发功能齐全且安全的 RTSP 服务器
  • 播放、暂停和停止任何 RTSP 源
  • 通过 UDP 或 HTTP 协议连接到任何 RTSP 源
  • 使用 HTTP 隧道传输来自另一个网络上 RTSP 摄像头的数据
  • 支持多种流行的音频和视频压缩格式,包括
    • H.264
    • MPEG-4
    • JPEG
    • AAC
    • AMR
    • G.711
  • 捕获和转换流以进行存档、刻录到 DVD 或与 DVR 集成
  • 用于 DirectShow 和 Media Foundation 应用程序开发的高级 .NET、COM 和 C/C++ 接口

RTSP 代码

在任何 RTSP 服务器应用程序中,基本功能是流式传输到客户端和与客户端通信。 有许多协议指令,包括 DESCRIBE、SETUP、PLAY、PAUSE 等。 LEADTOOLS RTSPServer 对象只需几行基本代码即可为您处理它们。

class RTSPServerClass
{
   RTSPServer _server = null;
   public void StartServer()
   {
      _server = new RTSPServer(); // create the server instance
      _server.SetSourceFolder(0, @"c:\MyFiles"); // specify c:\MyFiles as the source folder
      _server.TargetAddress = "127.0.0.1"; // will listen on 127.0.0.1
      _server.StartServer(554); // start listening on port 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";
  
   // Set the security type
   security.AuthenticationRequired = RTSPAuthenticationType.Basic;
   //security.AuthenticationRequired = RTSPAuthenticationType.Digest;
 
   // add only one user
   security.AddUser("User", "Password");
 
   // set this as the security information for all the folders
   _server.SetSecurity(-1, security);
}

下载完整的 RTSP 示例

您可以下载一个功能齐全的演示程序,其中包含上述功能。要运行这些示例,您需要以下内容

支持

需要帮助来启动和运行此示例吗? 联系我们的支持团队 以获得免费技术支持! 对于定价或许可问题,您可以联系我们的销售团队 (sales@leadtools.com) 或致电 704-332-5532。

© . All rights reserved.