rtsp 指令學習

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章