EasyMedia
介绍
Springboot、netty实现的http-flv、websocket-flv流媒体服务(可用于直播点播),支持rtsp、h264、h265等、rtmp等多种源,h5纯js播放(不依赖flash),不需要依赖nginx等第三方,自身提供推流服务,测试延迟在2-3秒左右,由于转码原因大部分可在3-5秒波动。
更新说明 2021-03-14
新增简单的web页面管理
优化自动断开
新增服务端自动重连
支持本地文件点播
支持启动服务自动推流
支持音频转码
启动服务前初始化资源(防止第一次启动慢)
新增保存数据到同级本地camera.json
更新说明 2021-02-20
移除原有spring websocket,采用高性能的netty作为http、ws服务。
完善关闭流逻辑,没人看时会自动断开。
由于替换netty,考虑到视频文件需要上传到服务器,所以暂时移除本地文件支持。
疑难问题解答
在vlc、ffplay等播放器测试存在延迟较高是正常的,是因为他们默认的嗅探关键帧的时间比较长,测延迟建议还是用flv.js播放器测试。
是否需要ffmpeg推流,不需要,就是为了简化使用,只需运行一个服务即可。
很多人想用文件点播,可以参考截图。
软件架构
通过javacv推拉流存到内存里,直接输出到前端播放
后端:springboot、netty,集成websocket
前端:html5(后面打算做简单