热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

音视频开发(16)海康IPC+NVR+EasyDarwin+EasyPusher+VLC实现Web实时播放RTSP视频

海康IPC+NVR+EasyDarwin+EasyPusher+VLC实现Web实时播放RTSP视频 用ffmpeg+nginx实现web播放rtsp视频,原理是将rtsp转码成r

海康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:[email protected]/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)

音视频开发(16)---海康IPC+NVR+EasyDarwin+EasyPusher+VLC实现Web实时播放RTSP视频

修改后保存文件即可

2)双击EasyDarwin文件夹中的start.bat,出现如下界面,说明EasyDarwin服务启动成功

音视频开发(16)---海康IPC+NVR+EasyDarwin+EasyPusher+VLC实现Web实时播放RTSP视频

这时,EasyDarwin就可接受RTSP源,并转发出去,那么下一步就是将源推送到EasyDarwin服务了

 

二、使用EasyPusher推送RTSP源

搭建好EasyDarwin,这一步就将RTSP源推送到EasyDarwin,我们使用EasyPusher进行推送

下载EasyPusher源码后,使用vs2010打开其中的EasyPusher_RTSP,编译后,找到EasyPusher_RTSP\Debug\EasyPusher_RTSP.exe这个文件

这个文件就是一个推送RTSP源的工具,我们要做的就是在自己的项目中用代码打开这个文件并传入参数,实现RTSP源的推送(我只是个会C#的小白)

音视频开发(16)---海康IPC+NVR+EasyDarwin+EasyPusher+VLC实现Web实时播放RTSP视频

使用c#打开.exe文件很容易,使用ProcessStartInfo类,在System.Diagnostics命名空间下,我们需要注意的是arguments参数的填写:

-d:接受推送的服务IP地址,即我们在上一步中启动EasyDarwin服务的电脑的IP地址

-p:接受推送的服务端口,即我们在上一步中配置的EasyDarwin的rtsp_port的端口号

-n:流名称,我们可为每一个rtsp流起一个唯一的名称,这个随意取

-u:rtsp流源,即我们通过NVR访问IPC的rtsp协议地址  rtsp://admin:[email protected]/h264/ch33/main/av_stream

执行以上代码,我们可看到如下界面启动

音视频开发(16)---海康IPC+NVR+EasyDarwin+EasyPusher+VLC实现Web实时播放RTSP视频

到这一步,说明我们推送的流已经成功到达EasyDarwin,我们可以通过访问EasyDarwin访问到IPC的rtsp流,访问地址就是rtsp://easydarwin服务IP:easydarwin服务端口/流名称,如rtsp://192.168.15.28:554/ipc1,将此地址放到vlc中播放,测试是否成功

 

到此,使用EasyDarwin系列工具搭建rtsp视频直播完成

注意:如果同时有多个rtsp源需要转发,可打开多次EasyPusher,也可自行修改EasyPusher_RTSP的源码实现,由于我不会c++,因此只能用前一种方式了,希望有c++大神能帮助修改源码,实现多源转发


推荐阅读
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本指南详细介绍了如何在同一台计算机上配置多个GitHub账户,并使用不同的SSH密钥进行身份验证,确保每个账户的安全性和独立性。 ... [详细]
  • 本文详细探讨了Xshell6评估版到期后无法使用的常见问题,并提供了有效的解决方案,包括如何合法购买授权以继续使用。 ... [详细]
  • FFPlay 字幕与LRC歌词播放指南
    本文详细介绍了不同媒体容器支持的字幕格式,以及如何使用FFPlay和FFMPEG进行字幕和LRC歌词的播放与转换。涵盖的内容包括字幕显示方法、字体配置、字幕流选择等。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 树莓派摄像头配置与应用指南
    本文详细介绍了如何在树莓派上配置和使用摄像头,包括启用摄像头接口、简单的图片和视频捕捉方法以及如何通过网络实时传输视频流。 ... [详细]
  • Windows 环境下安装 Git 并连接 GitHub 的详细步骤
    本文详细介绍了如何在 Windows 系统中安装 Git 工具,并通过配置 SSH 密钥实现与 GitHub 的安全连接。包括下载、安装、环境配置及验证连接等关键步骤。 ... [详细]
  • 本文探讨了如何在Node.js环境中,通过Tor网络使用的SOCKS5代理执行HTTP请求。文中不仅提供了基础的实现方法,还介绍了几种常用的库和工具,帮助开发者解决遇到的问题。 ... [详细]
  • Django xAdmin 使用指南(第一部分)
    本文介绍如何在Django项目中集成和使用xAdmin,这是一个增强版的管理界面,提供了比Django默认admin更多的功能。文中详细描述了集成步骤及配置方法。 ... [详细]
  • 本文详细介绍如何在 macOS 上编译 FFmpeg 3.1.1,并将其集成到 iOS 项目中,包括必要的环境配置和代码示例。 ... [详细]
author-avatar
手机用户2602886747
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有