上一篇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:好像代码有点不太好看,毕竟是东拼西凑的。难道就没有一体化程度高一点的解决方案吗?等我再研究研究,凑个好看点的

前言:上一篇java实现rtsp网页直播介绍了一种实现方法,这种方法用在生产上其实还是有点缺陷的,花屏太严重了,还有就是要安装FFmpeg感觉太麻烦。经过一段业余时间的摸索(其实只是收集github上的各种代码),终于东拼西凑出一个便捷式的解决方案。本人技术水平一般,也没详细研究过rtmp和rtsp协议的内容,有些也看不太懂,凑合着看吧。项目包含的技术:netty,javaCV,spring,bilibili的前端直播组件flv.js,码云地址:https://gitee.com/lllyl20
我将带领大家使用Java、FFmpeg、Nginx亲手搭建“直播网站”。主要内容包括:1、亲手搭建Java+nginx直播网站,用源码方式编译nginx和rtmp模块。2、亲手搭建FFmpeg环境,并使用命令行进行直播推流。3、亲手搭建Videojs环境,实现网页直播拉流功能。梅老师从事音视频与流媒体行业18年;曾在永新视博、中科大洋、百度、美国Harris广播事业部等公司就职,经验丰富;曾亲手主导广电直播全套项目,精通h.264/h.265/aac,曾亲自参与百度app上的网页播放器等实战产品。目前全身心自主创业,主要聚焦音视频+流媒体行业,精通音视频加密、流媒体在线转码快编等热门产品。
那么rtsp我们怎么处理呢?我们使用javartsp流拿到之后,进行rtsp解码,因为要考虑到延时性,所以我们要尽量拿到一秒的数据之后再进行推流处理。代码如下: public void decodeWave(String token, String url) throws Ex..
由于是局域网直播系统,那么最简单的情况应该也有两部分构成:录制直播和播放直播。这里我会给大家简单介绍一下我在局域网直播系统中使用到的关键技术,让大家对该系统有一个初步的认识。这个不必多说,主要用于构建开发环境,因为JavaCV的包比较大,单独下载jar包很容易漏。这个播放器是我从github上down下来的,既简洁又好看,下载地址在下文中会有。 前面简单介绍了一下核心技术,这里我会介绍整个局域网直播系统的环境如何搭建。解压nginx压缩包,将nginx-rtmp-module放到Nginx文件夹中。