windows下區域網路即時視頻傳輸軟體結構

來源:互聯網
上載者:User

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

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.