本地实现Rtsp视频流推送

简言:使用ffmpeg实现本地视频流推送

srs存储(延时推送)

准备工作

安装包:

ffmpeg:http://ffmpeg.org/download.html

EasyDarwin:EasyDarwin流媒体音视频资源汇总

srs安装教程地址:http://t.zoukankan.com/innershare-p-11045363.html

也可以使用我上传的资源,需要0积分,可以放心下载

https://download.csdn.net/download/m0_71817461/90622799

https://download.csdn.net/download/m0_71817461/90622802

https://download.csdn.net/download/m0_71817461/90622805

ffmpeg

安装ffmpeg:找一台带摄像头的电脑安装ffmpeg,windows环境,注意:配置环境变量

下载完成之后对电脑摄像头进行查询:(在doc命令窗口进行)查询出摄像头之后以备后用

java 复制代码
ffmpeg -list_devices true -f dshow -i dummy

EasyDarwin

在本机安装EasyDarwin-windows-8.1.0-1901141151,下载解压之后,直接双击EasyDarwin.exe进行运行

srs

srs使用的是docker镜像,所以需要先安装docker,安装docker可以参考:docker安装(手动和yum源方式)_docker yum源配置-CSDN博客

srs的具体安装操作可以参考地址:http://t.zoukankan.com/innershare-p-11045363.html

实现Rtsp推流

在有摄像头的电脑上打开doc命令窗口,执行以下命令

java 复制代码
ffmpeg -f dshow -i video="摄像头名称" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://本机IP地址/可修改的streamId

(注意,在执行这条命令之前,须在本机把EasyDarwin.exe运行,不然会推流失败)

执行完成之后,就可以在VLC上进行拉流操作,拉流地址为rtsp://本机IP地址:554/test

(其中554是EasyDarwin默认端口)

以上实现rtsp推流操作

使用java代码转码

java是实现视频流Rtsp转Rtmp-CSDN博客

非srs存储(实时推送)

准备工作

安装包

Pingos:https://github.com/pingostack/pingos

ffmpeg:http://ffmpeg.org/download.html

charm插件:https://chrome.google.com/webstore/detail/native-hls-playback/emnphkkblegpebimobpbekeedfgemhof/related?hl=zh-CN

注意:实时推送的程序都在虚拟机(Linux)上进行安装测试的

Pingos

说明:推流成功后,上面的图片播放地址都可以进行访问。

ffmpeg

解压后执行命令测试是否能够运行

找一个摄像头测试rtsp转换rtmp是否正常执行

java 复制代码
/ffmpeg -rtsp_transport tcp  -i  rtsp://admin:a12345678@10.30.46.95:554/h265/ch1/main/av_stream -c:v libx264   -s 1920x1080  -f flv  rtmp://10.30.30.239/live/test

该命令是把摄像头监控的rtsp转换为rtmp并推流给pingos流媒体服务器

使用charm查看视频

http://服务器ip/hls/test.m3u8

相关推荐
码匠许师傅2 分钟前
【C++三方组件】redis-plus-plus:现代 Redis C++ 客户端
java·c++·redis
ab1237684 分钟前
MQTT笔记
java·笔记·mqtt·学习
二宝哥8 分钟前
【问题】代理转发到后端使用request.getRequestURL()地址没有端口
java
霸道流氓气质13 分钟前
HashiCorp Vault 与云 KMS 入门实战:动态密钥、SecretLeaseContainer 与 Java 集成完整指南
java·开发语言
wuminyu16 分钟前
stackChunkOop内部结构与GC屏障的配合工作原理剖析
java·linux·c语言·jvm·c++
青衫客3616 分钟前
从网卡到 Socket:再探 Linux 网络协议栈与 iptables 数据包处理流程
linux·网络·网络协议
xuxigifxfh21 分钟前
牛客:HJ21 简单密码
java·开发语言·算法
承渊政道21 分钟前
Linux网络学习【TCP Socket编程实战:connect的断线重连与客户端访问Linux验证】
linux·网络·学习·ubuntu·tcp·socket编程
小π军22 分钟前
C 和 C++ 是否都支持函数的重载?
java·c语言·c++
sunoo-22924 分钟前
嵌入式Linux驱动学习笔记(第3-6天):从misc封装、platform总线到设备树、中断与单总线外设实战
linux·arm开发·驱动开发·笔记·单片机·学习