Java实现RTSP流实时转RTMP流(一):基础环境搭建

最近遇到一个有趣的问题:市面上通用的摄像机比如海康、大华等的视频流都是RTSP格式的,要想在移动端或者Web端进行播放时,还比较麻烦,于是就想到能不能将RTSP格式的视频流实时转成RTMP的流,这样不就都能解决了吗。

实现原理

其实不局限什么编程语言,笔者这里就以Java为例展开教程。

使用比较成熟的FFmpeg进行转码,借助Java的便捷性进行FFmpeg操作管理,流程如下:

指令封装
运行
读取
实时转码
推送
Java
Cmd
FFmpeg
RTSP流
RTMP流
Nginx

基础环境搭建

1 安装Java,建议使用Jdk1.8

2 安装Nginx以及配置nginx-rtmp-module模块

参考RTSP转RTMP,Nginx和nginx-rtmp-module配置直播推流服务器

安装依赖库

sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev openssl libssl-dev

配置&编译Nginx,使用默认配置,并添加nginx-rtmp模块。

./configure --add-module=../nginx-rtmp-module
make
sudo make install

nginx配置,详细配置参考RTSP转RTMP,Nginx和nginx-rtmp-module配置直播推流服务器

 application rtmp {
            # enable live streaming
            live on;
            record all;
            record_path /tmp/av;
            record_max_size 4K;
            # append current timestamp to each flv
            record_unique on;
            allow publish all;
        }

3 安装FFmpeg

Windows10上安装只需要下载安装文件即可,下载地址:Download FFmpeg

总结

以上配置完成之后,就可以进行后序使用Java自动化转码了,请阅读第二篇教程。


项目推荐



DC3是基于Spring Cloud的开源可分布式物联网(IOT)平台,用于快速开发、部署物联设备接入项目,是一整套物联系统解决方案。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页