開源一個基于js的RTMP服務端
其實是2個,一個基于fibjs,一個基于nodejs
兩個版本大部分是一樣的,只是在數據處理方面有差異。
fibjs版本:https://github.com/illuspas/NodeMediaServer
fibjs沒有回調一說,同步的流程寫起來相當舒服。
nodejs版:https://github.com/illuspas/Node-Media-Server
nodejs的數據是on(‘data’)回調回來的,解析rtmp包很費勁,需要根據包頭一步一步分析出需要的包大小。為此寫了個QueueBuffer類,請求的數據大小足夠即返回,不夠就回壓再等待數據下次繼續解析。
目前只支持了H264+AAC,支持多路發布和播放。
fibjs版目前在大并發的時候會阻塞發布端,寫得有點問題,空了再改改。
沒有緩沖關鍵幀,播放的啟動時間可能會等下一個關鍵幀來了才開始
此項目僅為空閑時寫著玩的,參照了很多別人的代碼,并不會長期維護。如果你感興趣,歡迎fork。
轉載自貝殼博客
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!