RTSP 監視器

「即時串流通訊協定(RTSP)」監視器會測試在串流伺服器上的音訊及視訊串流播放。它會收集媒體檔案的相關資訊,並起始串流播放、暫停及串流階段作業的結束。

下表列出 RTSP 監視器檔案。

表 1. RTSP 監視器檔案

監視器檔案

名稱或位置

監視器執行檔

nco_m_rtsp

內容檔

$ISHOME/etc/props/rtsp.props

規則檔案

$ISHOME/etc/rules/rtsp.rules

日誌檔

$ISHOME/log/rtsp.log

RTSP 監視器的配置準則
RTSP 監視器會在 DESCRIBEPLAY 模式下連接至串流伺服器。監視器會下載由真實 RTSP 伺服器(例如 Darwin)遞送的資訊或統計資料。

RTSP 監視器作業

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)

代表 setupResponseTimemediaResponseTime 之和的時間。

$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