3月 21, 2011

多媒體網路 (Multimedia Networking)

[ 關於多媒體網路 ]

網路中的多媒體有以下幾個特徵:

1.對於延遲(delay)較敏感
2.可以容忍資料遺失(loss tolerant)
3.資料具有連續性(continuous data)

(補充) QoS 考量因素:Reliability, Delay, Jitter, Bandwidth
對多媒體資料來說,可靠度(Reliability)並非主要訴求,因為影音
在播放時可以忍受部份片段的遺失。

[ 多媒體應用程式的分類 ]

1.串流儲存式(streaming stored)的audio和video
先從網路下載多媒體檔案再播放。
由使用者端去要求播放,事先儲存在伺服器端的多媒體檔案並透過網路傳送。
使用者可控制多媒體檔案的播放(play, pause, backward, forward)

2.串流即時式(streaming live)的audio和video
直接透過網路播放多媒體檔案

3.即時交談式(real-time interactive)video
- Unidirectional real-time
因為是即時播放,使用者不能控制多媒體播放,只能聽和看,像是TV、收音機。
- Interactive real-time
交談式所以所造成的延遲會增加

[ 如何應用現在的網路傳送多媒體 ]

Jitter:在同一個多媒體串流中的封包的延遲變化程度
現在所使用的Internet是使用best effort,沒有辦法對於 delay 提供保證
使用UDP來傳送
封包加上時間標籤以利播放
協定必須要可以保留頻寬
改變router上scheduling policies

[ Streaming stored media ]
Audio和vedio檔案儲存在伺服器裡
檔案會在使用者請求後10秒後送出
允許多媒體檔的播放,依照控制暫停、倒轉、前進
Media Player 的角色:移除 jitter、解壓縮多媒體檔案、錯誤更正

[ RTSP ] Real Time Streaming Protocol

1. 負責的是 streams的控制,控制一到數個 audio 或 video
2. 傳輸時所用的 protocol 或 mechanism 不在它定義的範圍內
3. 網路當中我們大多使用RTSP來當作傳送控制訊號
4. 每一個RTSP都有一個session的識別號 (在 SETUP 時取得識別號)
5. RTSP 的語法與 HTTP 相類似
6. RTSP 支援 multicast 可用來作 video conference
7. RTSP 有一個 redirect 的指令,可以拿來達到 load balance
8. RTSP 要記錄每個連線的 state 但是 HTTP 是 stateless 的

[ RTSP 的運作 ]

Presentation description: 用來描述與 sessioin 有關的資訊,
例如檔案位置、格式及使用的編碼,這些資訊是用一個叫做
SDP (Session Description Protocol) 來表示,這是一個純文字

1. client 與 web server 用 HTTP 溝通,server 會告知 RTSP 資訊
2. client 從 web server 收到 RTSP 的位址後,準備向 RTSP server 進行連線
3. client 向 rtsp server 要求該 stream 的資訊(DESCRIBE)
4. rtsp server 會回答 stream 相關訊息
(以 SDP 格式呈現→這就是 Presentation description )
5. 在收到這些訊息後 client 就會進行 SETUP PLAY 等 stream 的操作。

SDP 為單純文字內容的協定,使用者必需先將 *.sdp 的 MIME type 設定好,
如此一來,就能透過外部程式,對 SDP file 中指定的 session 做處理。

格式例如:
v=0 ... protocol version
u=http://www.cs.mit.edu/Handy/sdp.03.ps ... URI of description
m=audio 3456 RTP/AVP 0 ... 資料中有 audio data ; port 是 3456

[ Real-time interactive applications ]
1. 例子:Web cams、視訊、網路電話
2. 要考慮到的問題:Packet loss、Delay jitter
Packet loss : 使用 UDP 封包不宜用 TCP 封包。
Jitter: 移除 jitter 的方法,使用 timestamp 與 delay playout
每個送出的 pkt 加上 timestamp(t) 並使用一個固定 delay(d)
接收端在收到 pkt 時會在 time= t+d 時播放,如果超出時間則直接 drop

[ RTP ] Real-time Transport Protocol

1. RTP為了封包攜帶audio和video有定義封包的結構
2. 格式:封包攜帶的資料格式識別、封包序號編號、時間標記
3. RTP 封裝在 UDP 內
4. RTP並沒有提供適時的資料傳送和任何麼品質服務保證
必須使用類似RSVP這樣可以預先保留頻寬的機制

[ RTCP ] Real-Time Control Protocol

RTCP 協議的主要功能是:服務品質的監視與回饋、媒體間的同步,以及多播組中
成員的標識。RTCP 分組週期性地在網上傳送,它帶有發送端和接收端對服務品質
的統計資訊報告。

1. 與 RTP 一同使用:
RTP Port number = 偶數
RTCP Port number = RTP port +1

2. RTCP 封裝發送端和/或者接收端的統計報表

2. RTP 中的 session 會用 RTCP 溝通,
傳遞有多少個封包被傳送、多少封包遺失、jitter變化

4. RTCP可以用來同步在同一個RTP session裡的多媒體串流
例如:視訊會議裡包含影像和聲音

[ H.323 ]
1. 為了在傳送多媒體資料所設計的協定,應用實例:Microsoft Net meeting
2. 定義了:
(a) 端點的機器如何撥接一個呼叫
(b) Audio和video如何同步
(c) Audio和video如何封裝以透過網路傳送
(d) 網路電話和一般PSTN/ISDN的電話如何溝通

沒有留言:

張貼留言