Darwin介紹
Darwin流媒體服務器開源技術基地,介紹Darwin概念、Darwin任務、Darwin模塊和Darwin分析心得,銳英源軟件是Darwin調試和二次開發專家。
Darwin流媒體開源軟件是由Apple公司推出和維護的,它實現了RTSP協議常用部分、RTP協議和RTCP協議,我們對於Darwin修改的主要部分有:驗證模塊加入支持信息;固定碼流改為動態碼流支持客戶端緩衝;音頻和視頻分離發送模式改為統一方式降低複雜度。
Darwin Streaming Server使用標準的實時傳輸協議/實時流媒體協議 (RTP/RTSP),通過互聯網實時傳送媒體。Darwin Streaming Server 也能提供對傳送 H.264、MPEG-4 和 3GPP 文件的固有支持——因此,你可以在 Mac 和 Linux、Windows 上的任何與標準兼容的媒體播放器上執行你的內容,當然還包括手機和接收盒等各種兼容標準的設備。不僅如此,它還允許你使用 Icecast 兼容協議,通過 HTTP 傳送標準的 MP3 文件到 MP3 客戶端。
這裡共享出關於反射模塊的分析文檔,Drawin里的反射是指服務器A可以是其它服務器的直播源,這樣可以用反射機制形成一個直播級聯繫統。
銳英源Darwin研究精華
- BUG修改
- 點播功能升級
- 時移功能
- 配置
- 運行維護
這裡列出時移功能的總結(部分),以資借鑒:
原理描述
通過RTSP協議的Play請求里的Range內的信息,區分正常反射流和時移流,對於時移流,以時移數據源為數據來源;對於正常反射流,用達爾文的默認緩衝數據源為數據來源。
時移數據源管理要做到添加、刪除、定位、加載、保存、過渡和時移數據與達爾文默認緩衝機制結合功能。
添加指的是把達爾文默認緩衝里刪除的數據包加入到時移數據源內。
刪除指的是把超過時移時限的時移數據從管理範圍內刪除。
定位指的是把適合range信息時間的管理單元確定。
加載指的是,由於內存不可能緩衝過大數據,時移數據不可能全部保存到內存中,只能實現小部分在內存,大部分在硬盤,在這種情況下,如果需要的時移數據不在內存中,而是在硬盤上,對數據有一個從硬盤加載到內存管理單元內的一種情況。
保存指的是把累積夠一個時移單元的時移數據寫入到硬盤的過程。
過渡指的是在進行時移時,前一個時移單元已經發送完了,需要發送下一個時移單元時的處理過程。
時移數據與達爾文默認緩衝機制結合指的是把時移數據放到達爾文默認緩衝機制里,還會使這個機制正常工作,使時移的數據包能夠發給客戶端。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/250144.html