經常使用應用層協議HTTP、RTSP、RTMP比較

HTTP(超文本傳輸協議)、RTSP( Real Time Streaming Protocol實時流傳輸協議)、RTMP( Routing Table Maintenance Protocol路由選擇表維護協議)是應用層協議,理論上均可以作直播、點播,實際上直播多采用RTMP和RTSP、點播則多用RTSP和HTTP。
1、經常使用領域:
HTTP(HTTPS)全部數據都做爲文本處理,普遍應用於網絡訪問,是公有協議,有專門機構維護。
RTSP流媒體協議,多用在監控領域視頻直播點播; 是公有協議,有專門機構維護。
RTMP流媒體協議,多用在互聯網直播領域(RTMP+CDN)、視頻會議(取代原來SIP), 是Adobe的私有協議,未徹底公開。
RTSP傳輸通常須要2-3個通道,命令和數據通道分離,HTTP和RTMP通常在TCP一個通道上傳輸命令和數據。 RTMP協議通常傳輸的是flv,f4v格式流,RTSP協議通常傳輸的是ts,mp4格式的流。HTTP沒有特定的流。
2、協議實現
RTSP的開源實現
* live.com   C/S   C++   http://www.live555.com
* darwin     S     C++   http://www.opensource.apple.com/darwinsource/
* VLC        C     C     http://www.videolan.org
* mplayer    C     C     http://www.mplayerhq.hu
 * omsp       C/S   C     http://streaming.polito.it/
  * spook      S     C     http://www.litech.org/spook/

RTMP的實現,不源開的FMS,開源的RMTP服務器有:
C++實現的crtmpserver,支持Flash(RTMP,RTMPE,RTMPS,RTMPS,RTMPT,RTMPTE),Linux平臺;
Java實現的Red5,支持Flash(RTMP協議),全平臺Linux,Windows。
C#實現的FluorineFx,支持Flash(RTMP協議),Windows平臺。




相關文章
相關標籤/搜索