S1、生成makefile
live555源码里提供了genMakefiles脚本来快速生成makefile文件,比如./genMakefiles armlinux 即生成arm linux平台的makefile脚本。
config.armlinux即为armlinux平台的配置文件。可以修改该文件中的具体编译器配置来配合自己的编译环境。
2、客服端发送一次播放请求,服务器会打开文件两次的原因是第一次是为了从视频文件中获取SDP参数,第二次才是正式开始流媒体传输。
流程是:
客户端发送OPTION请求,服务器返回可用的方法,如SETUP、PLAY等
客户端发送DESCRIBE请求获取会话描述信息(SDP),服务器返回会话描述信息,会调用sdpLines()函数生成SDP信息
客户端发送SETUP请求提醒服务器建立会话,并确定传输模式,服务器返回会话标示符
客户端发送PLAY请求RTSP直播,开始直播流程
客户端发送TERDOWN请求终止RTSP直播。
3、void RTSPServer::RTSPClientConnection::handleRequestBytes(int newBytesRead)
该函数用于处理客户端的RTSP请求,包括DESCRIBE、SETUP、PLAY、TERDOWN等
4、void RTSPServer::RTSPClientConnection::handleCmd_DESCRIBE(char const* urlPreSuffix, char const* urlSuffix, char const* fullRequestStr)
该函数用于处理客户端的DESCRIBE请求。并且通过读取视频文件获取视频信息来生成SDP信息(默认),返回给客户端。对于定制开发,
可修改SDP为固定内容,从而越过读取视频信息这一步。
5、char const* OnDemandServerMediaSubsession::sdpLines() 为生成SDP信息的函数。对于定制开发, 可修改SDP为固定内容,从而越过读取视频信息这一步。 在这儿修改。