RTSP 監視器
「即時串流通訊協定(RTSP)」監視器會測試在串流伺服器上的音訊及視訊串流播放。它會收集媒體檔案的相關資訊,並起始串流播放、暫停及串流階段作業的結束。
下表列出 RTSP 監視器檔案。
監視器檔案 |
名稱或位置 |
---|---|
監視器執行檔 |
nco_m_rtsp |
內容檔 |
$ISHOME/etc/props/rtsp.props |
規則檔案 |
$ISHOME/etc/rules/rtsp.rules |
日誌檔 |
$ISHOME/log/rtsp.log |
- RTSP 監視器的配置準則
- RTSP 監視器會在 DESCRIBE 或 PLAY 模式下連接至串流伺服器。監視器會下載由真實 RTSP 伺服器(例如 Darwin)遞送的資訊或統計資料。
- DESCRIBE 模式
-
在 DESCRIBE 模式中,RTSP 監視器會連接至串流伺服器,並要求音訊及視訊檔案和串流的相關資訊。
伺服器會傳回狀態碼,其中值 200 指出可以下載檔案,其他值指出為何無法播放所要求檔案的位置。
不過,在此模式中不會報告與播放相關的統計資料,可以測試支援 RTSP 的伺服器基本功能。
- PLAY 模式
-
在 PLAY 模式中, RTSP 監視器會以與 DESCRIBE 模式相同的方式連接至串流伺服器,然後將檔案串流以提供所要求下載的統計資料。
- 內容
- 下表說明了特定於 RTSP 監視器的內容選項。
表 2. RTSP 監視器內容選項 內容名稱
內容參數
說明
StreamingSocket BufferSize integer
串流 Socket 緩衝區的大小,範圍為 8 到 64 KB。
預設值:8
- 配置 RTSP 監視器服務測試
- 使用 RTSP 監視器配置參數來定義服務測試。
下表列出了 RTSP 監視器配置:
表 3. RTSP 監視器配置 欄位 說明 server
執行串流伺服器的目標系統。例如,rtsp.mymusic.com。
remotefile
下載的檔案。例如,singalong.mp3。
description
文字欄位,用來提供元素的敘述性資訊。例如,RTSP monitor。
port
目標系統上監視器連接到的埠。
預設值:554
action
伺服器針對串流執行的動作:
- DESCRIBE
- PLAY
預設值:
DESCRIBE
duration
伺服器播放的串流部分(以秒為單位)。
預設值:5
maxbandwidth
用於串流的頻寬上限(以每秒 n 位元數為單位)。
預設值:1500000
timeout
等待 RTSP 伺服器回應的時間(以秒為單位)。
預設值:10
poll
輪詢的間隔時間 (以秒為單位)。
預設值:300
failureretests
在指出失敗前要重新測試的次數。
預設值:0
retestinterval
發生失敗而要重新測試時要等待的間隔時間(秒)。
預設值:10
- 服務水準分類
- 服務水準分類定義規則,用於確定透過 RTSP 提供的服務水準。
RTSP 監視器的可用服務水準分類選項有:
totalTime lookupTime connectTime responseTime sdpDownloadTime playbackTime status percentPacketsLost message
在服務水準分類中:
- 透過手動輸入監視器元素的名稱來指定更多服務水準分類。名稱必須符合在「監視元素」區段中針對元素所顯示的名稱。
- message 可以是在 $message 元素中轉遞到 IBM® Application Performance Management 伺服器(如果在任何小組件中使用)的任何訊息。如需可能的值清單,請參閱狀態訊息。
- 運算元是字串或正數。
- 狀態碼 200 表示成功。請參閱 RTSP 通訊協定,以瞭解作業所傳回的其他狀態碼。
- 監視器元素
- 除了所有元素共用的測試結果以外,RTSP 監視器還會產生一組測試結果,其中包含特定於 RTSP 服務測試的資料。
下表說明 RTSP 監視器的其他元素。
表 4. RTSP 監視器元素 元素
說明
$action
監視器執行的動作。
$averageBandwidth
平均頻寬總計(以位元數為單位)。
$bytesReceived
接收到的位元組總數。
$connectTime*
(
ConnectTime
)建立與目標伺服器的連線花費的時間。
$describeStageStatus
RTSP 交談階段的狀態碼。
$filename
媒體檔案的名稱。
$lookupTime*
(
LookupTime
)取得主機伺服器 IP 位址所花的時間。
$maxBandwidth
使用配置介面的頻寬上限。
$mediaResponseTime
伺服器開始串流所要求檔案所花的時間。
$numberOfStreams
內嵌在媒體中的串流數。
$percentPacketsLost
丟失的封包百分比。
$playbackTime*
(
PlaybackTime
)代表
setupResponseTime
與mediaResponseTime
之和的時間。$playStageStatus
RTSP 交談階段的狀態碼。
$port
用來存取監視器的伺服器的埠。
$responseTime*
(ResponseTime)
從建立連線到收到第一個位元組的資料之間的時間。
$sdpDownloadTime*
(SdpDownloadTimed)
下載媒體檔案所花的時間。
$setupResponseTime
代表部分
playbackTime
的時間。註: 僅當 RTSP 監視器以 PLAY 模式操作時,才會產生該元素。$setupStageStatus
RTSP 交談階段的狀態碼。
$status
RTSP 伺服器所傳回的狀態碼。
$streamingTime
伺服器完成串流所要求檔案所花的時間。
$streamLength
媒體檔案中最長串流的長度。
$teardownStageStatus
RTSP 交談階段的狀態碼。
$totalBandwidthRequired
總頻寬(以每秒千位元數為單位)。
$totalPacketsLost
丟失的封包總數。
$totalPacketsReceived
接收到的封包總數。
- 狀態訊息
- 當使用 IBM Application Performance Management 時,RTSP 監視器會在 ResultMessage 屬性中提供狀態訊息。這些訊息指出測試結果。
表 5. RTSP 監視器狀態訊息 訊息
說明
OK
要求成功。
Connection failed
監視器無法連接至伺服器。如需相關資訊,請參閱日誌檔。
Connection closed by foreign host
與 RTSP 伺服器的連線已岔斷。
Timed out waiting to read/write
已建立與 RTSP 伺服器的資料連線,但是發生問題。
Play failed - no streams
監視器接收到回應,但沒有音訊或視訊可播放。
select() failed on RTSP socket (PLAY stage)
Socket 已從遠端伺服器關閉,或等待回應時逾時。
RTSP Server response not in expected format
來自伺服器的回應採用監視器不支援的格式。
Redirection requested by server not supported by client
用戶端不支援來自伺服器的回應。
Server cannot fulfill client request
要求失敗,且未提供進一步的資訊。
Server Error
伺服器發生問題,要求失敗。
伺服器傳回了代碼
500
或更大的代碼。如需相關資訊,請參閱 RTSP 通訊協定 (RFC 2326)。
RTSP response header CSeq doesn't match request CSeq
RTSP 伺服器配置錯誤,且無法正常運作。
Corrupted RTSP server response
Corrupted session description
RTSP SETUP response CSeq doesn't match request CSeq
RTSP SETUP response, incomplete Session string
RTSP SETUP response, Session ID has changed within the same session
RTSP SETUP response does not contain server ports to connect to
RTSP SETUP response does not contain server port pair to connect to
RTSP PLAY response CSeq doesn't match request CSeq
RTSP PLAY response, incomplete Session string
RTSP PLAY response, Session ID has changed within the same session
RTSP PLAY response, incomplete RTP-Info string
RTSP PLAY response does not valid RTP seqnum in RTP-Info response
RTSP PLAY response does not valid RTP time in RTP-Info response