1. 程式人生 > >LIVE555再學習 -- OpenRTSP 原始碼分析

LIVE555再學習 -- OpenRTSP 原始碼分析

-4  輸出'.mp4'格式的檔案(到'stdout',除非也給出了“-P <interval-in-seconds>”選項)
-a  只播放音訊流(到“stdout”,除非還給出了“-P <interval-in-seconds>”選項)
-A <codec-number>  指定要從伺服器請求的音訊編解碼器的靜態RTP有效載荷格式編號(僅限“playSIP”)
-b <buffer-size>  更改輸出檔案緩衝區大小
-B <buffer-size>  更改輸入網路套接字緩衝區大小
-c  連續播放
-C  即使伺服器的“DESCRIBE”響應沒有指定多播地址,也明確要求組播流。 (請注意,並不是所有的伺服器都支援這一點。)(僅限“openRTSP”)
-d <duration>  指定顯式持續時間
-D <maximum-inter-packet-gap>  指定退出之前等待的最長不活動週期
-E <absolute-seek-end-time>  請求伺服器以指定的絕對時間結束流式傳輸(格式為“YYYYMMDDTHHMMSSZ”或“YYYYMMDDTHHMMSS。<frac> Z”)(僅用於-U <initial-absolute-seek - 時間>
-f <frame-rate>  指定視訊幀速率(僅與“-q”,“-4”或“-i”一起使用)
-F <fileName-prefix>  為每個輸出檔名指定一個字首
-g <user-agent-name>  指定要在傳出請求中使用的使用者代理名稱
-h <height>  指定視訊影象高度(僅與“-q”,“-4”或“-i”一起使用)
-H  為每個音訊/視訊軌道輸出一個QuickTime“提示軌跡”(僅與“-q”或“-4”一起使用)
-i  輸出'.avi'格式的檔案(“stdout”),除非也給出了“-P <interval-in-seconds>”選項)
-I <interface-name-or-address>  指定要在其上接收資料的特定網路介面
-k <username> <password>  指定用於驗證傳入“REGISTER”命令所需的使用者名稱和密碼(僅與“-R”一起使用)
-K  定期傳送RTSP“OPTIONS”命令,以保持連線的有效性。 (這對於不聽我們的定期RTCP“RR”資料包的錯誤的伺服器是有用的。)
-l  嘗試補償資料包丟失(僅與“-q”,“-4”或“-i”一起使用)
-m  將每個傳入幀輸出到一個單獨的檔案中
-M <MIME-subtype>  指定音訊編解碼器從伺服器請求的動態RTP有效載荷格式的MIME子型別(僅限“playSIP”)
-n  RTP  資料包開始到達時不會通知
-o  請求伺服器的命令選項,而不傳送“DESCRIBE”(僅限“openRTSP”)
-O  不要求伺服器的命令選項;只需傳送“DESCRIBE”(“openRTSP”)
-p <starting-port-number>  指定客戶埠號
-P <interval-in-seconds>  寫入新的輸出檔案,每隔<interval-in-seconds>秒
-q  輸出一個QuickTime'.mov'格式的檔案(“stdout”,除非也給出了“-P <間隔時間>”選項)
-Q  輸出關於資料流的“QOS”統計資訊(程式退出時)
-r  播放RTP流,但不要接收它們
-R(或-R <port-number>)  等待輸入的“REGISTER”命令,指定要播放的“rtsp://”URL。使用此選項而不是命令列上的“rtsp://”URL。 (僅限“openRTSP”)
-s <initial-seek-time>  請求伺服器在流媒體之前尋找到指定的時間(以秒為單位)
-S <byte-offset>  假定一個簡單的RTP有效載荷格式(跳過指定大小的特殊標題)
-t  通過TCP流RTP / RTCP資料,而不是通常的UDP。 (僅限“openRTSP”)
-T <http-port-number>  喜歡“-t”,除了使用RTSP over HTTP隧道。 (僅限“openRTSP”)
-u <username> <password>  指定摘要驗證的使用者名稱和密碼
-U <initial-absolute-seek-time>  請求伺服器在流前尋求指定的絕對時間(格式為“YYYYMMDDTHHMMSSZ”或“YYYYMMDDTHHMMSS。<frac> Z”)
-v  只播放視訊流(到“stdout”),除非也給出了“-P <間隔時間>”選項)
-V  列印較少詳細的診斷輸出
-w <width>  指定視訊影象寬度(僅與“-q”,“-4”或“-i”一起使用)
-y  嘗試同步音訊和視訊軌道(僅與“-q”或“-4”一起使用)
-z <scale>  請求伺服器縮放流(快進,慢或反向播放)

(2)原始碼

該程式使用“LiveMedia”庫中的“RTSPClient”,“MediaSession”,“FileSink”,“QuickTimeFileSink”和幾個“* RTPSource”模組,作為“LIVE555 Streaming Media”原始碼包的一部分。
程式本身的原始碼也與該軟體包捆綁在一起,作為“testProgs”目錄中的檔案
“openRTSP.cpp”