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

截图

安装教程

  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

java流媒体服务EasyMedia相关推荐

  1. 【开源技术分享】无需流媒体服务,让浏览器直接播放rtsp/rtmp的神器:EasyMedia

    不同于市面上其他需要各种转发到流媒体服务的中间件来说,EasyMedia不需要依赖任何nginx-rtmp,srs,zlmediakit等等第三方流媒体服务,只需要你有rtsp或者rtmp等等协议的视 ...

  2. java摄像头推流,流媒体服务 javaCV-2 推流

    推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.javaCV-openCV) 功能:实现边播放边录制/推流,停止预览即停止录制/推流 代码实现 本 ...

  3. java 获取nvr视频流,【功能开发】RTSP协议视频智能流媒体服务平台EasyNVR录像计划如何实现?...

    之前的博文中我们和大家讲过EasyNVR的录像计划的实现方式,大家可以简单了解一下操作方式:EasyNVR边缘计算网关录像计划功能操作介绍.关于EasyNVR录像计划的实现,TSINGSEE青犀视频的 ...

  4. java做flv直播服务器,EasyDSS流媒体服务器软件(支持RTMP/HLS/HTTP-FLV/视频点播/视频直播)-正式环境安装部署攻略...

    EasyDSS流媒体服务器软件,提供一站式的转码.点播.直播.时移回放服务,极大地简化了开发和集成的工作. 其中,点播功能主要包含:上传.转码.分发.直播功能,主要包含:直播.录像, 直播支持RTMP ...

  5. JAVA音视频解决方案----视频基础知识

    序言 公司现在在做汽车终端的平台,需要了解交通部808,1078的终端协议.  尤其是1078是关于音视频的协议.故此开始入坑java的音视频解决方案.本系列文章涉及一个完整的音视频服务搭建.大概整理 ...

  6. java 流媒体点播_7个最佳的直播和点播健身流媒体平台

    java 流媒体点播 The Demand for Fitness Live Streaming Platform is driven by recent upheavals disrupting t ...

  7. Java对接海康摄像头坑点总结

    一.背景 有一批AI摄像头需要部署到客户方,需要实现的功能:1.摄像头实时预览,摄像头安装在不同地点的内网环境,因此需要通过frpc服务器做内网摄像头的代理:2.摄像头smart事件,进入区域.离开区 ...

  8. java接口方式调用海康大华摄像机预览。

    客户有海康和大华的监控设备,没有买各类安防平台,国标方式需要预留给其他需要接入的系统,得兼容高版本chrome,询问了大华的客服人员,最后选择了该方案进行解决,记录下曲折的过程.延迟大约10秒的样子, ...

  9. JAVA网站视频播放不了_java视频播放网站小结

    java视频播放网站小结 一.流媒体播放器安装. 二.前台播放器flash插件. 三.视频转码,加水印. 一首先流媒体播放器安装. 这里使用的是nginx作为流媒体服务器. 配置nginx\conf\ ...

最新文章

  1. 实例教程八:采用ListView实现数据列表显示
  2. flyway命令行使用示例:指定conf配置文件
  3. Python笔记 【无序】 【一】
  4. 二维数组作为函数参数
  5. ubuntu异常关机,断电重启后进入紧急模式,挂载磁盘SSD失败了怎么办?(Failed mount on XXX)
  6. FSF 称 DRM 被用于锁定、控制和监视用户
  7. html css模仿实例,HTML+CSS模仿大学网站主页
  8. Visual studio 2013安装及单元测试
  9. 有答案了!一张图告诉你到底学Python还是Java?你怎么选?
  10. 在Python中使用try-except-else是否是一种好习惯?
  11. python小白从哪来开始-Python爬虫小白入门(一)写在前面
  12. Android网卡(Wifi/Lan)带宽测试
  13. 影视源码更新MKCMS影视系统6.3完整版源码
  14. Qt 5.7 亮瞎眼的更新
  15. 程序员必备的七个电脑软件
  16. 运维干到35岁,还能干多久?
  17. 操作系统装完之后,安装几个特别有用的经典软件,都是电脑必备,包含pdf编辑、图片编辑、wiki、压缩、影音等等
  18. SQL server in 用法
  19. vue table表格自定义
  20. VIO-SLAM运行报错:OpenCV Error: Bad argument (Invalid pointer to file storage) in cvGetFileNodeByName

热门文章

  1. 病狗问题 -- 假设法求解
  2. 嵌入式linux系统移植的四大步骤_嵌入式linux系统移植基本知识
  3. 森林救火模型matlab,数学建模1-森林救火模型
  4. Saiku的编译与CAS集成
  5. 做一个有想法的AI | 用LaserTagger做NLP的文本复述任务
  6. 信号与系统仿真实验——实验二 傅立叶变换MATLAB的实现及傅里叶变换性质的分析
  7. Tame Your Software Dependencies for More Flexible Apps
  8. 【PMP】规划风险应对的工具
  9. 生活中的数学问题(二)
  10. elementUI组件库el-switch开关控件的样式设置,精细至开关内的文字、圆点、背景设置