流媒体协议之RTSP客户端的实现20171014

时间:2022-06-13 14:31:31

RtspClient是基于jrtplib实现的,目前仅支持h264格式,后续将不断迭代优化,加入对其他格式的支持,并且将实现RTSP的服务端。

RtspClient的功能是接收服务端过来流,然后写入到当前目录的MediaReceived.h264文件中,可直接用播放器播放。用户参考main.cpp,就可以把RtspClient当作库来使用。

全部的源码可访问:https://github.com/fengweiyu/RTSP/tree/master/RtspClient   ,目前的版本是V1.0.0 debug ,

下载完源码后,先查看ReadMe.txt,然后执行make,再运行程序即可。

关于源码的介绍,只有四个类,

类的说明:

RtspClient:对RTSP相关命令的实现,以及对服务端应答的处理

TcpSocket:RtspClient的父类,主要是用于与服务端命令通信的TCP链路的相关操作

MediaSession:对RTP会话的操作,内部主要是对jrtplib的相关操作

RtpPacketType:对接收到的RTP包进行再次解包处理,以便生成原始的媒体格式数据。

类的关系是:

RtspClient继承TcpSocket,RtspClient调用MediaSession,RtspClient调用完MediaSession再使用RtpPacketType获得原始媒体数据,最后写入文件

关于jrtplib的介绍可以参考我的博客:http://www.cnblogs.com/yuweifeng/p/7550737.html

关于RTSP协议的介绍可以参考我的博客:http://www.cnblogs.com/yuweifeng/p/7567846.html