本地实现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

相关推荐
mldong43 分钟前
引擎从不发一条消息:jeeflow 的两类扩展点与消息模块的分工
java·架构
君顾11 小时前
智慧零售实战指南:从技术架构到落地方案全解析
java·开发语言·零售
zhanghe6872 小时前
es的密码带有特殊字符,导出
java
pnoker2 小时前
IoT DC3 概念解读:把设备抽象成一套语义模板——位号、指令、事件与面向智能体的设备建模
java·人工智能·物联网·iot·dc3
my_realmy2 小时前
Java SE 基础学习笔记(一):面向对象、继承多态、抽象接口与异常(JDK 8)
java·多线程·并发··生产者消费者模式
tangwangbi3 小时前
Linux 系统配置文件:/etc/profile、~/.bashrc 和 ~/.bash_profile 三者之间的区别与作用
linux·运维·bash
天远数科3 小时前
风险治理实战:基于天远车信盟出险构建自动化理赔核保流水线
java·网络·人工智能·自动化
步行cgn3 小时前
YAML 的语法规则
spring boot·后端
蜀道山老天师3 小时前
Shell Bash变量与运算符(含条件测试与流程控制)
linux·运维·bash
Mr.朱鹏3 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库