rtsp 標準文檔規範https://tools.ietf.org/html/rfc7826#page-94
1)OPTIONS
Public: OPTIONS, DESCRIBE, PLAY, PAUSE, SETUP, TEARDOWN, SET_PARAMETER, GET_PARAMETER
返回rtsp服務器支持的請求方法
2)GET_PARAMETER rtsp://192.168.58.173:554/channel=1/trackID=video RTSP/1.0
根據規範,GET_PARAMETER服務器和客戶端可以選擇實現。
目前有的VLC採用TCP進行rtsp播放視頻流,如果不響應GET_PARAMETER會產生斷流的情況
在暫停流媒體播放,定期發送GET_PARAMETER作爲心跳包維持連接
LIVE555針對該指令請求的回覆代碼如下,簡單回覆下當前的版本號
void RTSPServer::RTSPClientSession
::handleCmd_GET_PARAMETER(RTSPServer::RTSPClientConnection* ourClientConnection,
ServerMediaSubsession* /*subsession*/, char const* /*fullRequestStr*/) {
// By default, we implement "GET_PARAMETER" just as a 'keep alive', and send back a dummy response.
// (If you want to handle "GET_PARAMETER" properly, you can do so by defining a subclass of "RTSPServer"
// and "RTSPServer::RTSPClientSession", and then reimplement this virtual function in your subclass.)
setRTSPResponse(ourClientConnection, "200 OK", fOurSessionId, LIVEMEDIA_LIBRARY_VERSION_STRING);
}
問題1)VLC 10秒鐘後,主動發送關閉請求斷流,繼續排查
TEARDOWN rtsp://192.168.58.173:554/channel=1/trackID=video RTSP/1.0
CSeq: 8
User-Agent: LibVLC/2.2.4 (LIVE555 Streaming Media v2016.02.22)
Session: 1588731270