java流媒体服务EasyMedia

EasyMedia

介绍

Springboot实现的http-flv、websocket-flv直播点播,支持rtsp、h264、h265等、rtmp等多种源,h5纯js播放(不依赖flash)

更新说明 2021-02-20

移除原有spring websocket,采用高性能的netty作为http、ws服务,新增关闭逻辑,由于替换netty,本地文件暂不支持。
流媒体服务不需要依赖nginx等第三方,自身提供推流服务。
测试延迟在2-3秒左右

成品下载
链接:https://pan.baidu.com/s/1mIy0rfjhorr98p3Oa_3X-A
提取码:0nli
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享

软件架构
  • 通过javacv推拉流存到内存里,直接输出到前端播放
  • 后端:springboot、netty,集成websocket
  • 前端:html5(后面更新管理页面)
  • 播放器:西瓜播放器 http://h5player.bytedance.com/ (字节跳动家的,不介绍了,抖音视频、西瓜视频都杠杠的,当然只要支持flv的播放器都可以)
  • 媒体框架:javacv
截图

Image text

安装教程
  1. 环境:java8+
  2. 标准的maven项目,sts、eclipse或者idea导入,直接运行main方法,或者直接命令打包运行
使用说明
  1. 运行后访问:http://localhost:8888/ #自行修改rtsp地址
  2. 流媒体端口为 8866,8888是web端口(后面需要做管理页面)
  3. 您只需要将您的rtsp替换下面的

    http://localhost:8866/live?url={rtsp}

    ws://localhost:8866/live?url={rtsp}

    例如:

    http://localhost:8866/live?url=rtsp://admin:VZCDOY@192.168.2.84:554/Streaming/Channels/102

    ws://localhost:8866/live?url=rtsp://admin:VZCDOY@192.168.2.84:554/Streaming/Channels/102
为什么要写个这个

现在flash已经被抛弃,h5播放的时代,网上实现大多不是特别完整的(比如拿到一个rtsp或者rtmp,也不知道怎么在h5页面直接播放),当然现在直播点播有很多方式,可以通过nginx带flv模块的当rtmp服务、还有srs等流媒体服务,而这里我们通过javacv来处理,事实上javacv在性能上会好很多,底层ffmpeg也是通过c实现,跟使用c++去调用差不了多少毫秒延迟

后续计划
  • 原本还写了个通过ffmpeg子进程推流,然后用socket服务接收的方案,等javacv版搞完善了再弄。
  • 由于m3u8是兼容性最强,水果、安卓和PC通吃,所以后续会加入m3u8切片方式
  • 完善web端,方便管理点播文件和播放列表等

源码地址 https://gitee.com/52jian/EasyMedia

  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
easymedia是一个前端页面开发工具,它提供了一种简单易用的方式来创建各种各样的前端页面。使用easymedia,开发人员可以快速地创建和定制网站的前端页面,无需编写繁琐的HTML、CSS和JavaScript代码。 easymedia具有直观的用户界面和丰富的可视化编辑功能,使得用户能够轻松地添加和编辑各种元素,如文字、图片、视频、表单等等。开发人员可以通过简单的拖放操作来设计页面布局,并实时预览页面效果,从而快速地将想法转化为实际的页面。 此外,easymedia还提供了丰富的模板库和组件库,用户可以根据自己的需求选择合适的模板和组件进行使用。这些模板和组件已经经过优化和测试,确保在不同的浏览器和设备上都能够正常展示和运行。 easymedia还支持响应式设计,开发人员可以根据不同的设备和屏幕尺寸自动调整页面布局和样式,使得页面在不同的设备上都能够良好地展示和交互。这一特性使得easymedia成为一个适用于多平台和多设备的前端页面开发工具。 总而言之,easymedia是一个简单易用且功能强大的前端页面开发工具,它提供了丰富的可视化编辑功能、模板库和组件库,支持响应式设计,帮助开发人员快速地创建美观且高效的前端页面。无论是新手还是有经验的开发人员,都可以轻松地利用easymedia开发出令人满意的前端页面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值