前言:

上一篇java实现rtsp网页直播介绍了一种实现方法,这种方法用在生产上其实还是有点缺陷的,花屏太严重了,还有就是要安装FFmpeg感觉太麻烦。

经过一段业余时间的摸索(其实只是收集github上的各种代码),终于东拼西凑出一个便捷式的解决方案。本人技术水平一般,也没详细研究过rtmp和rtsp协议的内容,有些也看不太懂,凑合着看吧。

项目包含的技术:netty,javaCV,spring,bilibili的前端直播组件flv.js,

码云地址:https://gitee.com/lllyl2012/rtsp2rtmp

使用步骤:

1、修改application.yml下的url.stream-url为自己的rtsp地址(强烈建议先用vlc监测一下rtsp地址能不能用,视频要求H264,音频acc)

  2、DemoApplication启动项目

  3、(启动起来以后,等rtsp连上再操作这步)直接双击目录下的http-flv-example.html,打开谷歌火狐360浏览器就看到了

大致的原理和过程:

1、javaCV把rtsp装封装成rtmp推送给netty实现的rtmp服务器

 2、前端页面请求netty中的视频数据展示

PS:好像代码有点不太好看,毕竟是东拼西凑的。难道就没有一体化程度高一点的解决方案吗?等我再研究研究,凑个好看点的