种豆资源网

当前位置:首页 > 百科 > 百科综合 / 正文

实时串流协定

(2019-12-02 22:37:21) 百科综合

实时串流协定

实时串流协定(Real Time Streaming Protocol,RTSP)是一种网路套用协定,专为娱乐和通信系统的使用,以控制流媒体 伺服器。该协定用于创建和控制终端之间的媒体会话。媒体伺服器的客户端发布VCR命令,例如播放,录製和暂停,以便于实时控制从伺服器到客户端(视频点播)或从客户端到伺服器(语音录音)的媒体流。

流数据本身的传输不是RTSP的任务。大多数RTSP伺服器使用实时传输协定(RTP)和实时控制协定(RTCP)结合媒体流传输。然而,一些供应商实现专有传输协定。例如,RealNetworks公司的RTSP伺服器软体也使用RealNetworks的专有实时数据传输(RDT)。

基本介绍

  • 中文名:实时串流协定
  • 外文名:Real Time Streaming Protocol
  • 简称:RTSP
  • 学科:计算机
  • 领域:计算机

协定使用传送

虽然在某些方面与HTTP类似,RTSP定义了控制多媒体播放控制顺序。虽然HTTP是无状态的,但RTSP具有状态; 当需要跟蹤并发会话时使用标识符。像HTTP一样,RTSP使用TCP来维护端到端连线,而大多数RTSP控制讯息由客户端传送到伺服器,一些命令沿着另一个方向(即从伺服器到客户端)传播。
这里提供了基本的RTSP请求。一些典型的HTTP请求,如OPTIONS请求也可用。对于TCP和UDP,默认传输层连线埠号为554,后者很少用于控制请求。
  • OPTIONS 请求
  • OPTIONS请求返回伺服器将接受的请求类型。 (C 代表客户端S 代表服务端)
  • DESCRIBE 请求
  • DESCRIBE请求包括RTSPURL(rtsp:// ...)以及可以处理的回覆数据类型。该回复包括呈现描述,通常以会话描述协定(SDP)格式。其中,演示文稿描述列出了使用汇总网址控制的媒体流。在典型的情况下,每个音频和视频都有一个媒体流。
  • SETUP 请求
  • SETUP请求指定如何传输单个媒体流。这必须在传送PLAY请求之前完成。请求包含媒体流URL和传输说明符。该说明符通常包括用于接收RTP数据(音频或视频)的本地连线埠,另一个用于RTCP数据(元信息))。伺服器回复通常会确认所选参数,并填写缺少的部分,例如伺服器选择的连线埠。必须在传送聚合播放请求之前,使用SETUP配置每个媒体流。
  • Play 播放请求
  • Play 播放请求 将导致播放一个或所有媒体流。可以通过传送多个播放请求来堆叠播放请求。URL可以是聚合URL(播放所有媒体流)或单个媒体流URL(仅播放该流)。可以指定範围。如果没有指定範围,流将从头开始播放,并播放到最后,或者如果流暂停,则在暂停点恢复播放。
  • PAUSE 暂停请求
  • PAUSE 暂停请求 暂时停止一个或所有媒体流,因此稍后可以通过播放请求恢复。请求包含聚合或媒体流URL。PAUSE请求中的範围参数指定何时暂停。当省略範围参数时,暂停会立即无限期地发生。
  • RECORD 记录请求
  • RECORD 该方法根据呈现描述开始记录一系列媒体数据。时间戳反映开始和结束时间(UTC)。如果没有给定时间範围,请使用演示文稿描述中提供的开始或结束时间。如果会话已经开始,请立即开始录製。伺服器决定是否将记录的数据存储在请求URI或其他URI下。如果伺服器不使用请求URI,则回响应为201,并包含描述请求状态并引用新资源的实体以及Location头。
  • ANNOUNCE 发布请求
  • ANNOUNCE 发布方法有两个目的:
从客户端传送到伺服器时,ANNOUNCE将请求URL标识的演示文稿或媒体对象的描述发布到伺服器。当从伺服器传送到客户端时,ANNOUNCE会实时更新会话描述。如果新的媒体流被添加到演示文稿中(例如,在实时演示中),则应该再次传送整个演示文稿描述,而不仅仅是附加的组件,以便可以删除组件。(下面信箱'#'号替换成'@')
  • TEARDOWN 停止发布流请求
  • TEARDOWN 请求用于终止会话。它停止所有媒体流,并释放所有与会话相关的数据在伺服器上。
  • GET_PARAMETER 获取参数请求
  • GET_PARAMETER 请求检索在URI中指定的呈现或流的参数的值。答覆和回复的内容留给实施。没有实体的GET_PARAMETER可能用于测试客户端或伺服器活动(“ping”)。
  • SET_PARAMETER 设定参数请求
  • SET_PARAMETER 此方法请求设定由URI指定的演示文稿或流的参数值。
  • REDIRECT 重定向请求
  • REDIRECT 请求通知客户端它必须连线到另一个伺服器位置。它包含强制性头档案位置,表示客户端应发出该URL的请求。它可能包含参数Range,它指示重定向何时生效。如果客户端希望继续传送或接收此URI的媒体,则客户端必须向指定的主机发出针对当前会话的TEARDOWN请求和新会话的SETUP。
  • 嵌入式(交错式)二进制数据
  • 某些防火墙设计和其他情况可能会强制伺服器交叉RTSP方法和流数据。通常应避免这种交错,除非有必要,因为它会使客户端和伺服器操作複杂化,并增加额外的开销。交叉二进制数据只能在RTSP通过TCP传输时使用。诸如RTP数据包之类的流数据由ASCII码符号(24个十六进制)封装,后跟一个位元组的信道标识符,后面是封装二进制数据的长度,以二进制位元组为单位,以网路位元组顺序排列。流数据紧随其后,没有CRLF,但包括上层协定头。每个$块只包含一个上层协定数据单元,例如一个RTP包。

速率适配

使用RTP和RTCP的RTSP允许实现速率适配。

已经成功实现的

服务端

  • Darwin Streaming Server: Open-sourced version of QuickTime Streaming Server maintained by Apple.
  • Erlyvideohas RTSP client and can restream video to other protocols.
  • Feng: Lean and mean streaming server with focus on rfc compliance.
  • FFmpeg: includes ffserver aGPLorLGPLRTSP streaming server.
  • GStreamerbased RTSP Server and client.
  • Helix DNA Server:RealNetworks' streaming server. Comes in both open-source and proprietary flavors.
  • Helix Universal Server:RealNetworkscommercial streaming server for RTSP, RTMP, iOS, Silverlight and HTTP streaming media clients
  • LEADTOOLS Media Streaming Server SDK fromLEAD Technologiessupports RTSP/RTP, RTSP/RTP (MPEG-2 Transport), RTSP/RTP over HTTP.
  • LIVE555 liveMedia / openRTSP: Open sourceC++server and client libraries used in well-known clients likeVLCandmplayer.
  • Managed Media Aggregation:.NETC#RFC compliant implementation of RTSP written in completely managed code.
  • Nimble Streamersupports RTSP pull and announce input with TCP interleaved playback output.
  • pvServer: Formerly called PacketVideo Streaming Server, this is Alcatel-Lucent's streaming server product.
  • QuickTime Streaming Server: Apple's closed-source streaming server that ships with Mac OS X Server.
  • SharpRTSP: Open sourceC#RTSP streaming server.
  • ViaMotion: Integrated RTSP server for Video On Demand byAnevia
  • VideoLAN: Open source media player and streaming server.
  • VX30: Streaming video server and embedded Java client from Maui X-Stream.
  • Windows Media Services: Microsoft streaming server previously included withWindows Serverthat uses RTSP modified withWindows Media extensions
  • Wowza Streaming Engine: Multi-format streaming server for RTSP/RTP,RTMP,MPEG-TS, ICY, HTTP (HTTP Live Streaming,HTTP Dynamic Streaming,Smooth Streaming,MPEG-DASH),WebRTC
  • Xenon Streaming Server: 来自Vidiator Technology(US)Inc.的移动流伺服器
  • YouTube: 在桌面上通过移动HTTPS版本查看网站时,可以使用流媒体选项。

客户端

  • Astra
  • cURL(从7.20.0版本2010年2月9日)
  • FFmpeg
  • GStreamer
  • JetAudio
  • LIVE555 liveMedia / openRTSP:开源,C++伺服器和客户端库,如VLC和mplayer等知名客户端使用。
  • Media Player Classic
  • MPlayer
  • MythTVvia Freebox
  • Managed Media Aggregation:.NETC#RFC compliant implementation of RTSP written in completely managed code.
  • omxplayer
  • QuickTime
  • RealPlayer
  • SharpRTSP: 开源,C# 编写的RTSP流客户端。
  • Skype
  • Spotify
  • VLC media player
  • Winamp
  • Windows Media Player
  • xine

标 签

搜索
随机推荐

Powered By 种豆资源网||