2012年6月11日 星期一
live555 程式碼分析 -- RTSP Server on demand
分析 testOnDemandRTSPServer.cpp 運作流程
1. 建立一個新的 RTSPServer 實體,向 taskScheduler 註冊 incomingConnectionHandlerRTSP()。當收到 RTSP Request 時,便會建立 RTSPClientSession。
2. 對於此伺服器可以接收的各種媒體,都先建立對應的 session以及subsession,等待 client 建立連線。
2012年6月8日 星期五
live555 程式碼分析 -- RTSP Client
Live555 是一套以 C++ 實作的Multimedia Streaming library,這套函數庫實做了RTP/RTCP/RTSP/SIP 等標準協議,支援MPEG, H.264, H.263+, DV, JPEG 等格式。
Live555 為GNU Lesser General Public License(LGPL)自由軟體,因此只要不更改其原始碼,
我們可以使用其函數庫進行商業產品開發,並且保留自己的程式碼。例如 VLC media player 就是使用 live555 來實作其 RTSP 協議。
使用方式可以參考 live555 的 testprogs 目錄,以下以 RTSP Client 為例說明其運作方式
2012年6月5日 星期二
live555原始程式碼簡介
live555原始程式碼簡介
liveMedia項目的原始程式碼包括四個基本的庫,各種測試代碼以及IVE555 Media Server。
四個基本的庫分別是UsageEnvironment&TaskScheduler,groupsock,liveMedia,BasicUsageEnvironment。
liveMedia項目的原始程式碼包括四個基本的庫,各種測試代碼以及IVE555 Media Server。
四個基本的庫分別是UsageEnvironment&TaskScheduler,groupsock,liveMedia,BasicUsageEnvironment。
2012年6月4日 星期一
串流軟體封包分析 -- RealPlayer
串流軟體封包分析 -- youtube
分析 Youtube 串流封包,是否與 RTSP 有關。
一、使用 Flash Player
1. 下載 flash player
GET /strat/components/YTPlayer/1.0/YTPlayer.swf HTTP/1.1\r\n
串流軟體封包分析 -- Hifree
使用 hifree 應用程式,觀察其播放媒體的方式,分別使用哪種協議。
一、選擇"頻道"撥放
其作法是直接下載整首歌曲後播放,並非使用RTSP協議。
1. hifree 先向伺服器取得歌曲清單
[truncated] GET /get_channel_song.php?enc=u&oenc=kkt&hw_vendor=kkbox&hw_model=fttx&sid=V0000a.739500000000000000000000000000AbED05335PoQDS001Fn6Jjc9e1&ksid=V0000a.739500000000000000000000000000AbED05335PoQDS001Fn6Jjc9e1&kkid=KKBOX-VZQSCFAG
User-Agent: KKBOX air(Get Song List)\r\n
Host: api.kkbox.com.tw\r\n
Cookie: PPHPSESSID=267759049478910113475\r\n
MMS(Microsoft Media Server)
此處所描述的MMS,並非多媒體簡訊(Multimedia Message Service),而是微軟之前發展的一個串流機制,稱為Microsoft Media Server (MMS),2003年時微軟決定由 RTSP 取代此機制,並且於2008年正式廢除此機制。
所以現在使用 "mms://" 與 "rtsp://" 基本上都是使用 RTSP 協議。
所以現在使用 "mms://" 與 "rtsp://" 基本上都是使用 RTSP 協議。
訂閱:
文章 (Atom)
