RTSP协议转换RTMP直播协议
- 格式:docx
- 大小:602.37 KB
- 文档页数:7
使⽤LiveNVR实现将RTSP转RTMP、FLV、HLS,实现监控摄像头⽆插件直播背景需求对于摄像机直播,客户反馈的最多就是实现web直播、摆脱插件,可以⾃定义集成等问题,对于熟悉LiveNVR已经完美的解决了这些问题。
然⽽对于web播放也存在⼀些问题,通常我们web播放RTMP流使⽤的是flash,在这个过程中就会出现⼀个问题,随着web⼀直播放直播时间的增加,视频直播的延时也会累积起来,延时也就越⼤。
问题分析通过⾃我调研和客户反馈得出在ckplayer、videojs、aliplayer等播放器都会有类似问题,出现该问题的原因在于我们播放rtmp视频流的时候启⽤了flash,咱们的LiveNVR调⽤的videojs播放rtmp视频流依然会有这个问题的存在。
解决参考videojs是⼀款开源的播放器,对于播放器⾃⾝定位不⼀定是实时的直播。
我们对他进⾏了重新的编译,将缓存设置更⼩,同时videojs也有对应的参数是⽤来对应播放实时流的。
经过我们实时的测试发现,编译出的低延时,追帧版本的播放器在实测过程中对⽹络有⼀定的要求,因为播放器在播放时为了保证实时性就会⼀直追帧,这样就不会存在累计延时的情况了,但是,当⽹络环境差的时候,我们的⽹络⽆法完全满⾜直播视频数据时就会在直播会⾯中出现类似掉帧的情况。
LiveNVR的处理⽅式LiveNVR是实时的进⾏直播视频流,因此在视频的web直播中我们也有遇到延时累计的问题。
我们采⽤的⽅式是将两个播放形式都集成到我们的播放系统中,并且可以通过播放页⾯来进⾏播放模式的选择我们将直播分为了实时直播和流畅直播,顾名思义,实时就是保证直播的实时性,保证播放器的低延时直播;流畅直播则为可以在⽹络环境不是特别理想的情况下依然可以进⾏流畅的视频直播。
经过播放⼀段时间的对⽐就可以看出两者这件的差别。
注意为了⽅便⽤户的集成,我们将videojs的功能通封装成播放器 liveplayer关于LiveNVRLiveNVR能够通过简单的⽹络摄像机通道配置,将传统监控⾏业⾥⾯的⾼清⽹络摄像机IP Camera、NVR等具有RTSP协议输出的设备接⼊到LiveNVR,LiveNVR能够将这些视频源的⾳视频数据进⾏拉取,转换为HTTP-FLV/RTMP/HLS,进⾏全平台终端H5直播(Web、Android、iOS),并且LiveNVR能够将视频源的直播数据对接到第三⽅CDN⽹络,实现互联⽹级别的直播分发;。
RTSP协议RTMP协议篇一:rtsp rtmpStreaming media protocolsStreaming media protocols: HTTP, RTMP, PNM, RTSP, MMS, RTSPU,RTSPT, MMSU, MMSTRTSP protocol is the default protocol for streaming Windows Media. RTSP protocol is also used for streaming RealMedia/RealVideo/RealAudio, streaming QuickTime video (.mov, .mp4, .sdp streams).MMS protocol is used for streaming Windows Media only.1. RTSP using UDP is called RTSPU2. RTSP using TCP is called RTSPT3. MMS using UDP is called MMSU4. MMS using TCP is called MMSTPNM protocol is used for RealMedia/RealVideo/RealAudio streaming only. RTMP protocol is used for Flash audio and video streams only. Media files can also be streamed through HTTP or other protocols.The majority of streams are streamed through HTTP, RTSP, MMS and RTMP. PNM protocol is usually not usedon the newest servers, but such streams are not very rare.HTTP StreamingHTTP streaming is a mechanism for sending data from a Web server to a Web browser in response to an event. HTTP Streaming is achieved through several mon mechanisms.In one such mechanism the web server does not terminate the response to the client after data has been served. This differs from the typical HTTP cycle in which the response is closed immediately following data transmission.The web server leaves the response open such that if an event is received, it can immediately be sent to the client. Otherwise the data would have to be queued until the client's next request is made to the web server. The act of repeatedly queing and re-requesting information is known as a Polling mechanism.Typical uses for HTTP Streaming include market data distribution (stock tickers), live chat/messaging systems, online betting and gaming, sport results, monitoring consoles and Sensor network monitoring.HTTP protocol usually uses port 80 or 8080.MMS - Microsoft Media ServicesMicrosoft's streaming server uses the Microsoft Media Services (MMS) protocol (also called NetShow Services)to transfer unicast data. MMS can be transported via UDP or TCP (MMSU and MMST protocols). If the Windows Media Player client cannot negotiate a good connection using MMS over UDP, it will resort to MMS over TCP. If that fails, the connection can be made using a modified version of HTTP (always over TCP). This is not as ideal for streaming as MMS over UDP, but ensures connectivity nonetheless.The default protocol for streaming Windows Media is not MMS, but RTSP.The default port for MMS is 1755.RTSP - Real Time Streaming Protocol The Real Time Streaming Protocol (RTSP), developed by the IETF and published in 1998 as RFC 2326, is a protocol for use in streaming media systems which allows a client to remotely control a streaming media server, issuing VCR-like mands such as "play" and "pause", and allowing time-based access to files on a server.Some RTSP servers use RTP as the transport protocolfor the actual audio/video data. Many RTSP servers use RealNetworks's proprietary RDT as the transport protocol.RTSP can be transported via UDP or TCP (RTSPU and RTSPT protocols).The default port for RTSP is 554.PNM/PNAThe first version of RealAudio used a proprietary protocol called PNA or PNM to send streaming audio data. RealNetworks later switched to the IETF standardized Real Time Streaming Protocol (RTSP), but they use RTSP only to manage the connection.The default port for PNM is 7070.RTMP - Real Time Messaging Protocol Real Time Messaging Protocol (RTMP) Is a proprietary protocol developed by Adobe Systems (formerly developed by Macromedia) that is primarily used with Macromedia Flash Media Server to stream audio and video over the internet to the Adobe Flash Player client.The default connection port for RTMP is 1935.RTMPE - secure RTMP protocol. Uses encryption.HTTP streaming和 RTSP streaming 的比较收藏如果文件格式合适,一些文件也是可以用传输方式流起来的,大家最熟悉的就是FLV文件了。
RTSP协议转换RTMP直播协议协议名称:RTSP协议转换RTMP直播协议一、背景和目的RTSP(Real-Time Streaming Protocol)是一种用于实时数据传输的网络协议,常用于流媒体服务。
RTMP(Real-Time Messaging Protocol)是一种用于实时数据传输的协议,常用于视频直播。
本协议的目的是将RTSP协议转换为RTMP直播协议,以实现流媒体服务的直播功能。
二、定义和缩写1. RTSP:Real-Time Streaming Protocol,实时流媒体传输协议。
2. RTMP:Real-Time Messaging Protocol,实时消息传输协议。
三、协议内容1. 协议概述本协议定义了将RTSP协议转换为RTMP直播协议的过程和规则。
2. 协议流程2.1 客户端发送RTSP请求客户端向服务器发送RTSP请求,请求指定的流媒体资源。
2.2 服务器响应RTSP请求服务器接收到RTSP请求后,根据请求内容进行处理,并向客户端发送RTSP 响应。
2.3 客户端发送RTMP连接请求客户端通过RTMP连接请求向服务器发起连接请求,包括连接参数和握手过程。
2.4 服务器响应RTMP连接请求服务器接收到RTMP连接请求后,进行握手过程,并向客户端发送握手响应。
2.5 客户端发送RTMP发布请求客户端通过RTMP发布请求向服务器发送发布请求,包括发布参数和发布流媒体数据。
2.6 服务器响应RTMP发布请求服务器接收到RTMP发布请求后,根据请求内容进行处理,并向客户端发送发布响应。
2.7 客户端发送流媒体数据客户端通过RTMP协议向服务器发送流媒体数据,包括音频、视频等。
2.8 服务器转发流媒体数据服务器接收到客户端发送的流媒体数据后,进行相应的处理,并将数据转发给其他客户端。
3. 协议规则3.1 RTSP请求规则- 请求方法:支持常见的RTSP请求方法,如OPTIONS、DESCRIBE、SETUP、PLAY、PAUSE、TEARDOWN等。
RTSP协议转换RTMP直播协议协议名称:RTSP协议转换RTMP直播协议一、引言本协议旨在规范将RTSP(Real-Time Streaming Protocol)协议转换为RTMP (Real-Time Messaging Protocol)直播协议的过程和要求。
通过该协议,可以实现将RTSP协议传输的音视频数据转换为RTMP协议进行实时直播。
二、背景RTSP协议是一种用于实时传输音视频数据的应用层协议,常用于流媒体服务器和客户端之间的通信。
而RTMP协议是一种专门用于实时传输音视频数据的协议,广泛应用于流媒体直播领域。
为了满足用户对实时直播的需求,需要将RTSP 协议转换为RTMP协议,以实现更高效、稳定的直播服务。
三、协议内容1. 协议转换流程a. 客户端向服务器发送RTSP协议请求。
b. 服务器接收到RTSP请求后,解析请求内容,并根据转换规则将RTSP请求转换为RTMP请求。
c. 服务器向客户端返回转换后的RTMP请求。
d. 客户端接收到RTMP请求后,解析请求内容,并根据转换规则将RTMP请求发送给RTMP服务器。
e. RTMP服务器接收到RTMP请求后,进行相应的处理,并将处理结果返回给客户端。
2. 协议转换规则a. 请求消息的转换规则:- RTSP请求中的方法(Method)转换为RTMP请求中的方法。
- RTSP请求中的URL转换为RTMP请求中的应用名称。
- RTSP请求中的头部信息转换为RTMP请求中的参数。
b. 响应消息的转换规则:- RTMP响应中的状态码转换为RTSP响应中的状态码。
- RTMP响应中的头部信息转换为RTSP响应中的头部信息。
- RTMP响应中的数据体转换为RTSP响应中的数据体。
3. 数据传输格式a. RTSP协议传输的音视频数据格式可以是常见的音视频编码格式,如H.264、AAC等。
b. RTMP协议传输的音视频数据格式可以是常见的音视频编码格式,如H.264、AAC等。
iptv传输协议:IPTV即交互式网络电视,是一种利用宽带网,集互联网、多媒体、通讯等技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。
iptv传输协议能够很好地适应当今网络飞速发展的趋势,充分有效地利用网络资源。
(1)RTP:(Real-time Transport Protocol) 实时传输协议RTP协议是针对多媒体数据流的一种传输层协议,RTP是建立在UDP协议上的,常与RTCP 协议(Real-time Transport Control Protocol,实时传输控制协议)一起使用。
RTP协议不保证传送或防止无序传送,也不确定底层网络的可靠性,也就是说它只管发送,不管数据是否丢包或者对方有没有收到,只能用于直播。
(2)RTSP:(Real Time Streaming Protocol) 实时流协议RTSP是TCP/IP协议体系中的一个应用层协议,定义了一对多应用程序如何有效地通过IP 网络传送多媒体数据。
RTSP与RTP一样也是建立在UDP协议上的,它们之间最大的区别在于:RTSP 是一种双向实时数据传输协议,它允许客户端向服务器端发送请求,如回放、快进、倒退等操作,RTSP 既可以基于RTP 来传送数据,还可以选择TCP、UDP、组播UDP 等通道来发送数据,具有很好的扩展性,RTSP一般用于直播。
(3)RTMP:(Real Time Messaging Protocol) 实时消息传送协议RTMP协议是一个基于TCP的高层协议族,属于应用层协议,RTMP协议是为了和flash 之间交换信令以及媒体数据,是Adobe的私有协议。
(4)HTTP:(HyperText Transfer Protocol) 超文本传输协议这个应该都了解吧,HTTP是互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准,设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法,它也是基于TCP/IP协议体系中的一个应用层协议。
RTSP协议转换RTMP直播协议协议名称:RTSP协议转换RTMP直播协议协议描述:本协议旨在定义一种将RTSP(Real Time Streaming Protocol)协议转换为RTMP(Real-Time Messaging Protocol)直播协议的方法。
通过此转换,实现将RTSP流媒体数据转换为RTMP直播流的功能。
1. 引言RTSP协议是一种用于实时流媒体传输的应用层协议,它定义了客户端和服务器之间的交互方式。
RTSP协议通常用于流媒体播放器与流媒体服务器之间的通信。
然而,由于RTSP协议在一些网络环境下的兼容性和稳定性问题,需要将其转换为RTMP协议以实现更稳定的直播流传输。
2. 协议转换流程2.1 建立连接在RTSP协议转换为RTMP协议之前,需要建立客户端与服务器之间的连接。
客户端通过发送连接请求到服务器的方式,建立与服务器的连接。
2.2 RTSP协议转换为RTMP协议一旦连接建立成功,客户端将发送RTSP协议请求到服务器。
服务器接收到RTSP请求后,将其转换为RTMP协议请求,并将其发送给RTMP服务器。
2.3 RTMP协议响应RTMP服务器接收到RTMP协议请求后,将根据请求内容进行处理,并生成相应的RTMP协议响应。
服务器将响应发送回客户端,客户端接收到响应后进行相应的处理。
2.4 数据传输一旦RTMP协议连接建立成功,数据传输即可开始。
客户端将通过RTMP协议向服务器发送流媒体数据,服务器接收到数据后进行处理,并将其转发给RTMP 客户端。
3. 协议规范3.1 RTSP协议转换为RTMP协议的请求格式RTSP协议转换为RTMP协议的请求格式如下:RTMP_METHOD RTMP_URL RTMP_VERSION\r\nRTMP_HEADER1: value1\r\nRTMP_HEADER2: value2\r\n...\r\n其中,RTMP_METHOD表示RTMP请求方法,RTMP_URL表示RTMP请求的URL,RTMP_VERSION表示RTMP协议版本号。
RTSP与RTMP协议RTSP 与 RTMP 协议RTSP(Real Time Streaming Protocol)RTSP协议,这应该是实时性最好的了,如果要想实时性要求很⾼,⽐如0.5s以内,这个是不错的选择。
前阵⼦模仿spydroid写了个建议的rtsp服务器,其实就是options,describe,setup,play,pause,teardown这⼏步了,这个协议⽤的最⼴泛,⽹上介绍也⽐较多。
要想真正深⼊了解rtsp协议,c++语⾔功底好的可以查看live555 。
Real Time Streaming Protocol或者RTSP(实时流媒体协议),是由Real network 和 Netscape共同提出的如何有效地在IP⽹络上传输流媒体数据的应⽤层协议。
RTSP提供⼀种可扩展的框架,使能够提供可控制的,按需传输实时数据,⽐如⾳频和视频⽂件。
源数据可以包括现场数据的反馈和存贮的⽂件。
rtsp对流媒体提供了诸如暂停,快进等控制,⽽它本⾝并不传输数据,rtsp作⽤相当于流媒体服务器的远程控制。
传输数据可以通过传输层的tcp,udp协议,rtsp也提供了基于rtp传输机制的⼀些有效的⽅法。
RTSP消息格式RTSP的消息有两⼤类,⼀是请求消息(request),⼀是回应消息(response),两种消息的格式不同.请求消息:⽅法 URI RTSP版本 CR LF消息头 CR LF CR LF消息体 CR LF其中⽅法包括OPTION回应中所有的命令,URI是接受⽅的地址,例如rtsp://192.168.20.136RTSP版本⼀般都是 RTSP/1.0.每⾏后⾯的CR LF表⽰回车换⾏,需要接受端有相应的解析,最后⼀个消息头需要有两个CR LF回应消息:RTSP版本状态码解释 CR LF消息头 CR LF CR LF消息体 CR LF其中RTSP版本⼀般都是RTSP/1.0,状态码是⼀个数值,200表⽰成功,解释是与状态码对应的⽂本解释。
Rtsp转RTMP之有客户观看才启动模式由于网络摄像头大都是仅支持rtsp协议,若实现低延时无需下载插件就能看摄像头,目前最流行,最成熟的方案就是把rtsp转换成rtmp,用FlashPlayer观看,采用该方式可以基本上实现实时观看的效果。
把rtsp协议转换成rtmp有不少方法和工具,比如流媒体工具软件Aokulive,FFMPEG等,采用这些工具我们不难把rtsp协议转换成rtmp推到诸如FMS,RED5,NGINX,AMS等支持rtmp协议的流媒体服务系统软件中。
但这样做有个局限,就是当有几百路rtsp流需要转发时,不能实现根据客户端观看的需求再自主启动转协议,只能就启动转发软件,把rtsp协议转换到rtmp协议,这样就会造成带宽的浪费和系统负载过大,我们更需要有人开始观看直播时才开始转协议,这样就大大降低了对带宽的占用,特别适合那些需要同时转发数百路网络摄像头,或者其他rtsp源的情况。
我们介绍一下通过Aoku Media Server来实现这一功能,百度搜索奥酷流媒体服务系统,或者到北极星通官方网站下载免费版来做测试,免费版支持1个直播频道,可以供用户测试。
下载后解压到硬盘中,执行AokuMediaServer.exe,软件就成功运行了,如下图:【注】若没有出现这个界面,请首先查看本机的防火墙是否把AokuMediaServer给屏蔽了,或者是否有程序占用了端口1935,1935,9001,6666,5554,可以通过修改conf目录下的startup.xml来更换端口,以防端口占用。
AMS运行的计算机的IP地址是192.168.2.10正常启动后,通过http://192.168.2.10:9001/login.html,输入用户名admin,密码123456,登陆后台,创建一个拉流的直播频道,其它选项都保持默认,如下图:【注】流方式要选择“拉方式”,启动拉流模式选择成“客户端接入时启动”拉流自动关闭选择“开启”,输入要拉流的地址,这样就可以实现有客户端接入时候开启拉流,所有的客户端都退出了,没人观看时候,拉流就会自动关闭。
RTSP协议转换RTMP直播协议协议名称:RTSP协议转换RTMP直播协议一、背景和目的RTSP(Real-Time Streaming Protocol)是一种用于实时数据传输的网络协议,而RTMP(Real-Time Messaging Protocol)是一种用于实时音视频流传输的协议。
本协议旨在描述将RTSP协议转换为RTMP直播协议的详细步骤和规范,以实现实时音视频流的传输和播放。
二、定义和术语1. RTSP协议:指Real-Time Streaming Protocol,用于实时数据传输的网络协议。
2. RTMP协议:指Real-Time Messaging Protocol,用于实时音视频流传输的协议。
3. 直播协议:指将实时音视频流传输到接收端并进行播放的协议。
三、协议转换流程1. 建立连接1.1 客户端向服务器发送RTSP协议的连接请求。
1.2 服务器接收到连接请求后,返回RTSP协议的连接确认。
1.3 客户端接收到连接确认后,建立RTSP协议的连接。
2. 发送请求2.1 客户端向服务器发送RTSP协议的请求,包括播放、暂停、停止等操作。
2.2 服务器接收到请求后,根据请求类型进行相应的处理。
2.3 服务器将RTSP协议的请求转换为RTMP协议的请求。
3. 响应处理3.1 服务器根据RTMP协议的请求进行相应的处理,如验证、转码等。
3.2 服务器生成RTMP协议的响应,并返回给客户端。
3.3 客户端接收到RTMP协议的响应后,进行相应的处理。
4. 实时音视频流传输4.1 服务器将实时音视频流转换为RTMP协议的数据包。
4.2 服务器通过RTMP协议将数据包传输到客户端。
4.3 客户端接收到RTMP协议的数据包后,进行解码和播放。
五、协议规范1. RTSP协议转换为RTMP协议时,需要保留原始音视频流的质量。
2. 协议转换过程中,应保证实时性和稳定性,避免数据丢失和延迟。
3. 服务器应支持多个客户端同时进行RTSP协议转换为RTMP协议的操作。
RTSP协议转换RTMP直播协议协议名称:RTSP协议转换RTMP直播协议一、引言本协议旨在定义将实时流传输协议(RTSP)转换为实时消息传输协议(RTMP)的标准格式。
RTSP协议用于控制媒体服务器上的媒体流,而RTMP协议用于在互联网上实现低延迟的音视频直播。
二、背景随着互联网的快速发展,音视频直播成为了一种广泛应用的媒体传输方式。
RTSP协议作为一种流媒体传输协议,能够提供高质量的音视频传输,但其在跨平台兼容性和延迟方面存在一些限制。
为了解决这些问题,将RTSP协议转换为RTMP协议成为了一种常见的解决方案。
三、协议规范1. 协议交互a. 客户端向服务器发送RTSP请求,请求建立连接并获取媒体流的相关信息。
b. 服务器接收到请求后,返回RTSP响应,包含连接建立状态和媒体流信息。
c. 客户端根据服务器响应的媒体流信息,通过RTMP协议向服务器发送连接请求。
d. 服务器接收到RTMP连接请求后,返回RTMP连接响应,建立RTMP连接。
e. 客户端通过RTMP协议向服务器发送音视频数据,并实时播放。
2. 协议转换a. RTSP请求转换为RTMP连接请求:客户端发送的RTSP请求中的URL格式为rtsp://server-ip:port/path,将其转换为rtmp://server-ip:port/path。
b. RTSP响应转换为RTMP连接响应:服务器返回的RTSP响应中的连接状态和媒体流信息需要转换为RTMP连接响应的格式。
c. RTSP传输的音视频数据转换为RTMP传输的音视频数据:RTSP传输的音视频数据需要经过格式转换,转换为RTMP支持的音视频格式,并通过RTMP协议传输到服务器。
3. 协议兼容性a. 支持RTSP协议的客户端可以通过转换后的RTMP协议与服务器进行连接和传输。
b. 支持RTMP协议的服务器需要支持接收RTSP请求和响应,并进行转换处理。
4. 协议安全性a. 在RTSP转换为RTMP的过程中,需要对传输的音视频数据进行加密,确保数据的安全性。
RTSP协议转换RTMP直播协议
RTSP协议也是广泛使用的直播/点播流媒体协议,最近实现了一个RTSP协议转换RTMP直播协议的程序,为的是可以接收远端设备或服务器的多路RTSP直播数据,实时转换为RTMP直播协议,推送到FMS、Red5、wowza server等RTMP 服务器,以实现flash观看RTSP直播源的需求。
程序同时也具备从FLV文件获取输入数据并转换RTMP直播。
实现的思路分享如下。
要点分析
首先,程序的主要目的,是从多路RTSP输入源中提取AAC编码的音频和H.264编码视频数据,并生成RTMP数据包,然后组装RTMP推送协议,并发往RTMP 服务器。
在发送的过程中,要求可以从RTSP数据源切换到具有相同h.264和aac 编码的FLV文件中,并不影响RTMP直播。
因此,本程序的关键点有以下部分:
1.RTSP直播流的读取
2.H.264和AAC编码数据的分析、处理
3.FLV文件数据的提取及与RTSP直接的切换和衔接
4.RTMP数据包封装
5.RTMP推送协议
有了关键点,就可以一项一项的去分析。
设计思路
根据上面分析的要点,首先要选择RTSP直播协议的读取。
我们不需要从零做起,网络上有很多和RTSP相关的开源项目可以使用或借鉴,我选择了Live555。
Live555是一个跨平台的流媒体解决方案,主要支持RTSP协议,好像也支持SIP(这个也是我马上研究的重点,之后会写文章研究SIP相关的技术实现)。
Live555实现了RTSP包括服务器-客户端的整套结构,是很知名的一个开源项目。
网上有很多关于Live555学习和使用的文章,我就不具体介绍了。
H.264和AAC数据的分析处理,这个对于从没做过相关项目开发的人来说,应该是一个难点,主要是相关概念的理解。
好在我一直在做这块,也比较好弄。
第4和第5点,可以参照文章“RTMP协议发送H.264编码及AAC编码的音视频(/haibindev/archive/2011/12/29/2305712.html),实现摄像头直播”的技术方法,来加以实现。
因此,主要需要处理的就是RTSP直播流数据的获取,以及对其中H.264和AAC编码数据的处理。
于是可以画出大体结构如下:
RtmpThread的主要工作就是发送音频数据流的解码信息头和视频数据流的解码信息头,并不断从DataBufferQueue中取出数据,封装为RTMP Packet,发送出去。
流程如下列代码所示:(process_buf_queue_,即是上图中的DataBufferQueue)
逻辑与实现
1. 程序框架和模块说明
2. 主要接口
RtspCapture是我的程序里管理RTSP直播数据流和分析处理的类,接口很重要,基本上这个设计就可以。
他所使用的live555变量,这里ourRTSPClient实际就是RTSPClient的简单继承
3.RtspCapture调用live555的主要流程
A. 首先,在RtspCapture构造函数初始化
B. 在StartRtsp函数中,创建RtspClient,并发送"describe"命令,开始获取sdp。
回调函数就是continueAfterDESCRIBE。
在这里创建MediaSession,之后再发送"setup"命令,等,这些都可以在live555的例子以及网上的说明中看到。
C. 还有一个关键点,就是要在自己的线程循环中,调用live555 environment的事件循环,就像这样
4. 对rtsp回调h264数据的分析处理
这里演示了,如何从rtsp回调的h264数据中,提取sps和pps信息。
里面的parse 函数,是live555自带的。
调用方式。