windows下區域網實時影片傳輸軟體結構 (轉)

gugu99發表於2008-07-25
windows下區域網實時影片傳輸軟體結構 (轉)[@more@]

我去年做了一段時間上的實時影片傳輸,如果是對多進行實時的影片傳輸,以我的:
  1.伺服器用多執行緒:
  (1)主執行緒:讀出(看你的圖象具體怎麼上PC機了)一幀影片資料,送給拆分執行緒。
  (2)拆分執行緒:接到一幀影片,開始拆包、做幀標記、打序列號,送給傳送執行緒。
  (3)傳送執行緒:用RTP socket把封裝好的資料包發給客戶端。此socket是點對多點、單向
  有根方式的組播套接字,實際上是基於UDP派生的,但他用到了RTP和RTCP(實時傳輸
  和實時傳輸控制協議),如果你傳輸的不是實時資料,直接用UDP就行了。

  2.客戶端軟體結構一般用多執行緒,執行緒間用事件進行同步,而共享資料區用臨界區物件進
行同步。
  (1)主執行緒:接收資料包的執行緒,優先順序最高,可以儘量保證不丟資料,也採用RTP協
  議,用網路事件來觸發。主執行緒接收到影片資料包後,將資料放入一個連結串列中,然後
  用事件物件觸發組裝執行緒。
  (2)組裝執行緒:從連結串列中讀出資料包,要進行幀確認、排序等工作,當把一幀圖象的所有
  包都取到時,再組裝模組(可以是一個),將這些資料包組裝成完整的一個
  幀,然後送到解壓執行緒。
  (3)若干解壓執行緒。主要考慮到如果你客戶端軟體想同時播放多畫面,比如說4畫面圖
  象,就要用4個解壓播放執行緒。
  (4)至於圖象,要看你的客戶需要怎麼存了,如果是手工存當然不需要單開執行緒,如果
  是規定定時存或在某個事件發生時自動存檔,就需要單開一個執行緒,由定時器到時訊息
  或此事件發生來觸發。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1007833/,如需轉載,請註明出處,否則將追究法律責任。

相關文章