windows下區域網實時影片傳輸軟體結構 (轉)
我去年做了一段時間上的實時影片傳輸,如果是對多進行實時的影片傳輸,以我的:
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 企業內應用區域網傳輸架構架構
- Qt - TCP網路傳輸如何傳送結構體型別QTTCP結構體型別
- C++ - tcp網路傳輸如何傳送結構體型別C++TCP結構體型別
- 區域網管理軟體分類
- Oracle記憶體結構(一)----SGA的區域資訊(轉)Oracle記憶體
- DSSA特定領域軟體體系結構
- 基於Service Worker實現WebRTC區域網大檔案傳輸能力Web
- win10系統區域網傳輸檔案操作方法 win10怎麼通過區域網傳輸檔案Win10
- win10系統區域網傳輸檔案操作方法 win10怎麼透過區域網傳輸檔案Win10
- Windows7系統下區域網實現發現共享Windows
- 實現Linux下的區域網遠端接入(轉)Linux
- 區域網內基於WEB的檔案傳輸解決方案詳解 (轉)Web
- 聲網Agora 孫雨潤:下一代實時傳輸體系結構的升級與應用Go
- 區域網上傳工具
- Windows區域網通過NTP設定時間同步Windows
- RTN實時音視訊傳輸網路
- oracle記憶體結構:SGA的區域資訊Oracle記憶體
- 區域網實現VLAN例項(轉)
- Software Architecture(軟體體系結構) (轉)
- win10區域網內傳檔案很慢怎麼辦 win10區域網內檔案傳輸很慢如何處理Win10
- UDP實現音訊影片流傳輸UDP音訊
- 自己寫遠端控制軟體之網路傳輸
- 『網際網路架構』軟體架構-mybatis體系結構(14)架構MyBatis
- JVM結構-記憶體結構(執行時資料區)JVM記憶體
- Oracle記憶體結構(一)----SGA的區域資訊Oracle記憶體
- win10系統區域網怎麼傳送檔案 win10電腦設定區域網傳輸檔案的方法Win10
- 類似trello的區域網開源的軟體
- Windows2000區域網的組策略管理(轉)Windows
- TransData for Mac - 網路資料傳輸速率監測軟體Mac
- 網路資料傳輸速率監測軟體:TransData for MacMac
- 如何輸出結構體結構體
- 醫院區域網影片加密解決方案加密
- 淺析JVM記憶體結構和6大區域JVM記憶體
- 用Delphi在區域網中實現網上影院 (轉)
- QT遊戲時刻影片去水印提取軟體,如何下載高畫質原影片QT遊戲
- 獨闢蹊徑實現Linux下的區域網遠端接入(轉)Linux
- 【多區域截圖拼接!】優愛酷定時多區截圖屏自動傳送工具 原創軟體
- laravel 區域性排除中介軟體Laravel