首页 > 编程语言 > 详细

MyLive--使用JAVA实现的直播RTMP服务器

时间:2020-01-18 18:22:54      阅读:156      评论:0      收藏:0      [点我收藏+]

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

架构

技术分享图片

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

MyLive--使用JAVA实现的直播RTMP服务器

原文:https://www.cnblogs.com/ctgulong/p/12209500.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!