MyLive--使用JAVA實現的直播RTMP服務器


MyLive 使用JAVA實現的直播RTMP服務器

介紹

MyLive 是一個我用業余時間使用Java實現的RTMP直播服務器,它並不是一個全功能的RTMP實現,也就是說不支持seek和play2命令,支持AMF0編碼。

MyLive實現了RTMP的協議的基礎功能,RTMP實時轉FLV。

為什么我要用Java做一個RTMP服務器呢?一是我個人對直播相關的技術比較感興趣,想自己研究一下。二是我發現目前還沒有java實現的輕量rtmp服務器可以拿來學習參考(大部分都是C實現,或者是nginx的插件,現有java實現的rtmp服務器有red5,比較重量級)。
於是我自己根據rtmp標准自己寫了一個。

如果你覺得該項目還不錯,歡迎去github上給項目點一個星星。
項目GitHub地址:https://github.com/YuboLong/MyLive

功能

  1. Rtmp直播流推拉(publish/play)
  2. 將推到服務器的流保存為FLV格式文件
  3. 實時Http-FLV支持
  4. GopCache

架構

MyLive Architecture

Build & Run

mvn package

java -jar mylive.jar

MyLive會讀取和mylive.jar在同一個文件夾下的mylive.yaml配置文件。

然后就可以推流到rtmp://127.0.0.1/live/yourstream,
Http-flv流使用 http://127.0.0.1:8080/live/yourstream 訪問

FFMPEG 推Rtmp流和VLC player播放Rtmp流已經測試過,HTTP-FLV直播流已經使用bilibili的flv.js測試過

未來計划

  1. HLS的支持
  2. 配合FFMPEG支持更多直播形式 (HLS,DASH)和比特率

如果你對該項目有興趣,請加入QQ群1028728337


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM