LIVE555再學習 -- OpenRTSP 原始碼分析
阿新 • • 發佈:2019-01-08
-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”和