音视频开发(16)---海康IPC+NVR+EasyDarwin+EasyPusher+VLC实现Web实时播放RTSP视频
海康IPC+NVR+EasyDarwin+EasyPusher+VLC实现Web实时播放RTSP视频
用ffmpeg+nginx实现web播放rtsp视频,原理是将rtsp转码成rtmp格式,再用flash插件播放
由于项目硬件条件有限,转码基本就不考虑了,因此只能直接播放获取到的rtsp流,并且整个网络环境只能有一个外网IP,因此思路就是能否通过NVR去找同一网段内的IPC,如何搭建NVR和IPC的环境这里就不作介绍,必须保证NVR可以看到网段内各摄像头,以及关闭平台接入功能(这个是重点,我就一直卡在这里很久,具体原因未知,希望有懂的大神能指教)
通过NVR查找IPC地址如下:
rtsp://admin:12345@192.168.1.101/h264/ch33/main/av_stream
这个IP地址是NVR的(我的NVR是旧版的,所以访问地址也只能有旧的地址),格式和直接访问IPC没什么不同,需要注意的是在旧版NVR中,ch33是IP通道的第一个通道,我们在NVR的通道设置中是可以设置IPC的通道编号的
一、准备
1.EasyDarwin
下载地址:http://pan.baidu.com/s/1sluDEPn(下载里面的.rar文件包即可,另一个是linux的)
2.EasyPusher
下载地址:https://codeload.github.com/EasyDarwin/EasyPusher/zip/master
3.VLC
下载地址:http://sw.bos.baidu.com/sw-search-sp/software/c2904cc7121e0/vlc_2.2.4.0.exe
二、启动EasyDarwin服务
EasyDarwin服务是一个转发服务,可接受RTSP源并将其转发到指定地址
将下载到的rar文件解压,进入文件夹后进入EasyDarwin文件夹
1)配置EasyDarwin
进入解压后的文件夹-->EasyDarwin文件夹-->打开easydarwin.xml文件,这是EasyDarwin的配置文件,我们主要进来配置EasyDarwin的端口:
ctrl+f找到如图所示节点,并配置两个端口(确保两个端口未被占用,查看方法cmd:netstat -a)
修改后保存文件即可
2)双击EasyDarwin文件夹中的start.bat,出现如下界面,说明EasyDarwin服务启动成功
这时,EasyDarwin就可接受RTSP源,并转发出去,那么下一步就是将源推送到EasyDarwin服务了
二、使用EasyPusher推送RTSP源
搭建好EasyDarwin,这一步就将RTSP源推送到EasyDarwin,我们使用EasyPusher进行推送
下载EasyPusher源码后,使用vs2010打开其中的EasyPusher_RTSP,编译后,找到EasyPusher_RTSP\Debug\EasyPusher_RTSP.exe这个文件
这个文件就是一个推送RTSP源的工具,我们要做的就是在自己的项目中用代码打开这个文件并传入参数,实现RTSP源的推送(我只是个会C#的小白)
使用c#打开.exe文件很容易,使用ProcessStartInfo类,在System.Diagnostics命名空间下,我们需要注意的是arguments参数的填写:
-d:接受推送的服务IP地址,即我们在上一步中启动EasyDarwin服务的电脑的IP地址
-p:接受推送的服务端口,即我们在上一步中配置的EasyDarwin的rtsp_port的端口号
-n:流名称,我们可为每一个rtsp流起一个唯一的名称,这个随意取
-u:rtsp流源,即我们通过NVR访问IPC的rtsp协议地址 rtsp://admin:12345@192.168.1.101/h264/ch33/main/av_stream
执行以上代码,我们可看到如下界面启动
到这一步,说明我们推送的流已经成功到达EasyDarwin,我们可以通过访问EasyDarwin访问到IPC的rtsp流,访问地址就是rtsp://easydarwin服务IP:easydarwin服务端口/流名称,如rtsp://192.168.15.28:554/ipc1,将此地址放到vlc中播放,测试是否成功
到此,使用EasyDarwin系列工具搭建rtsp视频直播完成
注意:如果同时有多个rtsp源需要转发,可打开多次EasyPusher,也可自行修改EasyPusher_RTSP的源码实现,由于我不会c++,因此只能用前一种方式了,希望有c++大神能帮助修改源码,实现多源转发
音视频开发(16)---海康IPC+NVR+EasyDarwin+EasyPusher+VLC实现Web实时播放RTSP视频相关推荐
- 音视频开发(15)---IPC+NVR+路由器+ffmpeg+nginx实现网页/Android/IOS的HLS直播
海康IPC+NVR+路由器+ffmpeg+nginx实现网页/Android/IOS的HLS直播 研究摄像头直播有一个月了,最终领导决定使用HLS协议进行摄像头实时预览,原因是HLS对移动端和Web端 ...
- 大华海康摄像头人家自己是怎么在web上播放视频的
最近处理安防视频,怎么把摄像头视频在web上展示费了很大功夫,当然这一篇不是讲解我是怎么显示的,而是回答当时领导问我的一个问题,人家大华自己是怎么显示的? 我们知道大华海康大部分摄像头只对外提供rts ...
- 大华、海康SDK对接,使用javacv+流媒体服务实现实时播放和回放
最近需要对接大华和海康摄像头,用SDK的方式,实现登录.OSD设置.预览.回放等功能,其他的功能都还好,实时预览和回放,里面涉及的东西太多了,对于刚接触摄像头开发相关的小伙伴来说,简直要崩溃,而且这方 ...
- html页面上使用vlc,【JSJQuery】使用VLC在html中播放rtsp视频
本文系统: windows10 64位 本文浏览器: IE11 本文 VLC 版本: 使用 vlc-2.2.8-win32.exe 版本 下载 使用说明: 使用 vlc-2.2.8-win64.exe ...
- 海康设备NVR、IPC取rtsp流格式
★目前海康录像机.网络摄像机,网络球机的RTSP单播取流格式如下(车载录像机不支持RTSP取流): rtsp://用户名:密码@IP:554/Streaming/Channels/101 →录像机示例 ...
- Python Gstreamer播放rtsp视频(含音频)(海康IPCAM)
Python Gstreamer播放rtsp视频(海康IPCAM) 播放思路详见博客:Python Gstreamer播放rtsp视频流(海康IPCAM) 元件连接图解: 这里开始想使用tee分流 ...
- 基于ffmpeg+SDL 实时播放摄像头视频
基于ffmpeg+SDL 实时播放摄像头视频 基本流程 udp接收rtp数据流接收一帧数据后,转换为NAL单元送去解码 (这里特别说明一下,我本次用的接口是支持从连续数据流中自动分割出一个个NAL的, ...
- 浏览器播放rtsp视频,基于nodeJs
浏览器播放rtsp视频,基于nodeJs 1:安装ffmpeg,并且配置环境变量. 下载地址:http://ffmpeg.zeranoe.com/builds/ 或者: 百度云链接:https://p ...
- VLC插件在浏览器下(IE11)实现播放rtsp视频直播流
VLC插件 最近项目用到需要在浏览器上播放视频流,尝试了很多种方式去解决,包括使用ffmpeg转码成rtmp播放,websocket结合webrtc等方式,但是效果都不是很好,而且存在一定的丢包和搭设 ...
最新文章
- 面试官:关于Spring就问这13个
- python 客户端应用程序_创建python Web服务和C#客户端应用程序的最佳方法 - c#
- gitlab服务器邮箱配置
- ajax(jquery)前后台传数组(Springmvc后台)
- 笔记本电脑没有鼠标怎么拖动_适合办公鼠标要如何选择?除了便携更需要这些...
- python基础应用_【复习】mysql+python基础应用(20190815)
- python 发起HTTP请求
- .NET6之MiniAPI(七):中间件
- python3基础3--数据类型--数据运算--表达式if -else-while-for
- IDEA的常用配置一键导入及优化内存
- 关于技术问题的请教和解决步骤
- pythonlog数组_Numpy掩码式数组详解
- 考研倒计时一幕刷屏!网友:这一定是最接近梦想的人!
- eclipse的代码突然变成红色块或绿色块
- 湿敏电阻CM-R / HR202应用 原理图 IO输出交流 AD采样
- 基于Linux通用GPIO接口的操作函数
- win10打开计算机代码,win10打开应用提示0xe06d7363错误代码
- 美眉都是可爱的…… (美图)
- .Bear勒索病毒如何删除它 .Bear后缀文件如何恢复(Dharma家族)
- 用遗传算法求解TSP问题