摘要对于刚入门视频监控开发的工程师来说,如何正确获取网络摄像头(IPC)的 RTSP 地址,往往是项目落地时最先遇到的障碍之一。 海康威视作为国内和全球安防市场份额领先的厂商,其摄像头 RTSP URL 格式存在新旧两套体系。 本文将对海康 RTSP 地址规则进行系统梳理,并结合实际测试对比 VLC 与大牛直播SDK(SmartMediaKit)SmartPlayer 在播放延迟体验上的显著差异,帮助开发者完成从“能播放”到“ 一、海康威视 RTSP 地址格式详解很多工程师一开始会困惑:为什么同样是海康 IPC,不同项目文档里却出现不同形式的 RTSP 地址?原因其实很简单:老设备与新平台协议实现不同。 、断续自动恢复播放体验差异海康摄像头,2560*1440分辨率,25帧,8M码率播放效果,左边是VLC,右边是SmartPlayer大概延迟情况,可以看到,VLC延迟在1.5秒左右,SmartPlayer
一、历史背景 在遍地都是摄像头的今天,往往需要在各种B/S信息化系统中集成视频播放功能,海康、大华、华为等大厂摄像头遵循监控行业标准,一般只支持RTSP传输协议,而Chrome、Firefox、Edge 等现代浏览器的主流版本并不支持RTSP流的直接原生播放! 二、现有方案 在未来也没有计划支持的情况下,想要在网页中实现播放RTSP流,目前常用可选方案有以下3种: 1、先在服务器端把RTSP流转码到浏览器可直接播放的视频流后再提供给终端浏览器播放,这也是号称无插件播放的方法 控件实现在网页中低延迟直接播放海康、大华、华为等摄像头的标准RTSP流,由于实际调用的是VLC本地原生播放控件,因此可充分利用本机硬件加速能力实现高效硬解码播放多路或高清视频(H.265),最多可支持25 ,同时支持H.264和H.265无压力; 4、VLC网页播放小程序额外付费后可获得其源代码进行定制开发,自主可控; 5、支持海康、大华、华为等各厂家的摄像头,只要能提供标准的RTSP流,都可以播放; 6
主要原因在于rtsp协议的视频流(默认是需要插件才可以播放的)经由EasyNVR处理后可以满足无插件的全平台直播。 处理后会获取到RTMP、HLS视频流,这就完美解决了插件直播的问题,只要终端设备支持H5,就可以完美的播放EasyNVR分发出的视频流。 因此在web播放过程中需要启用flash来进行对视频流的解码播放。 ? HTML5直接支持这个流地址,因此只要是支持H5的设备都可以解码播放。 ? EasyNVR,可以通过手动配置,完成默认强制的HLS输出,完美的兼容全平台直播。 用户在调用的过程中,只需要传递对应的参数就可以获取到对应的视频流。 ? 在使用EasyNVR自身web端的用户可以自定义切换对应的视频流模式: FLV模式: ? RTMP模式: ? ?
RTSP视频流显示(海康威视) VLC 网页显示 VLC-Qt库 SDK(C++) 本文使用环境如下: SDK下载。 编写应用 ffmpeg+Nginx 直接使用ffmpeg解码视频 AppEmit WebComponentsKit插件 本文目的主要是想要实时显示海康威视的摄像头数据,笔者尝试了如下几种方式(部分未做完 ,下载下来安装并运行: 填的地址就是摄像头RTSP视频流地址,然后点串流: 左上角是这样的说明就已经在转换了: 网页显示 注意资源地址,同一局域网下的要访问就需要把localhost errorCode = NET_DVR_GetLastError(); QMessageBox::warning(NULL,"提示",QString("摄像头播放失败 视频流: 依次点击1、3即可看到画面,2位置的输入框需要按规则输入包含rtsp视频流地址信息的json格式描述,页面中列举了简单的测试案例: 主要代码提取出来: <!
GitHub – 131/h264-live-player: A live h264 player for the browser (ideal for raspberrypi / raspicam ) 网页播放 rtsp视频流 原文:网页播放rtsp视频流_江山夜雨的博客-CSDN博客_web播放rtsp RTSP协议 (1)是流媒体协议。 (2)RTSP协议是共有协议,并有专门机构做维护。 (3)RTSP协议一般传输的是 ts、mp4 格式的流。 (4)RTSP传输一般需要 2-3 个通道,命令和数据通道分离。 如果客户使用ie或者firefox的话,可以使用vlc player,vlc player 同样需要安装插件,需要电脑上安装vlc player的本地客户端(安装时勾选插件选项),然后通过 标签来引入播放 //www.apple.com/quicktime/"></embed> </object> 3、H5- streamedian 参考地址:Streamedian ,支持chrome无插件播放
本代码是使用GStreamer播放RTSP视频流,没有使用playbin,而是自己构建pipeline,经测试可以正常播放视频。 data.sink), "sync", FALSE, NULL); /* Set the URI to play */ g_object_set (data.source, "location", "rtsp pad */ gst_object_unref (sink_pad); } 编译命令: gcc rtspplay.c `pkg-config --cflags --libs gstreamer-1.0` RTSP 地址换成自己的即可,上述代码只是简单展示如何使用pipeline播放RTSP视频。
IPC视频流怎么实时在WEB浏览器播放,视频流格式是RTSP。 下面我整理了自己实现的方案以及网上看到的一些方案 一、FFmpeg + nginx 将转 hls 通过 video.js 在支持h5浏览器播放(我实现的) 参见:Nginx+FFmpeg实现rtsp流转 hls流,在WEB通过H5 video实现视频播放 不足:hls延迟较rtmp、http-flv大 二、FFmpeg + nginx-rtmp-module + h5 video,rtsp转rtmp播放 需要将代码放到服务器,本地windows电脑无法播放 不足:需要浏览器开启flash 三、FFmpeg + nginx-http-flv-module + flv.js,rtsp转rtmp,直接播放flv 浏览器播放rtsp视频流解决方案 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV) 版权声明:
最近项目中需要实时播放摄像头rtsp视频流,于是就专门做了些研究。而浏览器不能直接播放,只有通过插件或者转码来实现这个需求。 方案一: html5 + websocket_rtsp_proxy 实现视频流直播 实现原理 实现步骤 服务器安装streamedian服务器 客户端通过video标签播放 var errHandler flash允许 参考链接 方案三:ffmpeg + video,rtsp转hls播放 HLS (HTTP Live Streaming) 直播 是有苹果提出的一个基于http的协议。 参考链接 其他方案 WebRTC WebRTC 是支持网页浏览器进行实时音视频的一套API,例如:HTML5 通过 webRTC 直接调用摄像头,但是如果要实现远程视频流的显示,则需要将 RTSP 转换为 WebRTC 流,供 web 端显示。
随着H.265的普及,越来越多的开发者希望大牛直播SDK(Github)能支持低延迟的RTSP H.265播放,并分享相关经验: 实现思路: 对rtsp来说,要播放h265只要正确解析sdp和rtp包即可
RTSP视频流显示(海康威视) VLC 网页显示 VLC-Qt库 SDK(C++) 本文使用环境如下: SDK下载。 编写应用 ffmpeg+Nginx 直接使用ffmpeg解码视频 AppEmit WebComponentsKit插件 本文目的主要是想要实时显示海康威视的摄像头数据,笔者尝试了如下几种方式(部分未做完 ,下载下来安装并运行: 填的地址就是摄像头RTSP视频流地址,然后点串流: 左上角是这样的说明就已经在转换了: 网页显示 注意资源地址,同一局域网下的要访问就需要把localhost errorCode = NET_DVR_GetLastError(); QMessageBox::warning(NULL,"提示",QString("摄像头播放失败 视频流: 依次点击1、3即可看到画面,2位置的输入框需要按规则输入包含rtsp视频流地址信息的json格式描述,页面中列举了简单的测试案例: 主要代码提取出来: <!
EasyNVR核心在于摄像机的音视频流的获取、转换、转码与高性能分发,同时同步完成对实时直播流的录像存储,在客户端(PC浏览器、Android、iOS、微信)进行录像文件的检索、回放和下载。 ? 实现海康大华宇视摄像头内容网页播放的方法 提出问题 现在的所有应用越来越Web化、H5化、移动化,传统的那种NVR/DVR + 显示器的监控方式已经是过去式了,现在大家需要的都是非常直接的拿电脑打开网页 、拿手机打开APP、打开微信就能看到摄像头视频。 (那时候的Chrome还是支持npapi接口的,现在已经不支持了)浏览器的通用播放,这个阶段也很好地达到了目标,平台也大部分都做出来了; 总结这个阶段的特点:RTSP+插件; 第三阶段: 移动互联网的飞速发展改变了第二个阶段 同时带来推动的还有国内互联网直播的兴起,基本上这个阶段的体系架构变成了RTMP+HLS(m3u8),就算是传统安防也不例外; 总结这个阶段的特点:RTMP+HLS(m3u8); 解决问题 那么传统安防如何解决对于海康
市场上常见的海康、大华、宇视等网络摄像头只要支持RTSP协议,都可以接入到EasyNVR中,今天主要给大家分享海康摄像头如何通过SDK将视频在前端网页上播放。 海康摄像头如何通过SDK将视频在前端网页上播放 碰到这个问题的时候,很多开发者的初期思路是通过SDK接入海康摄像机IPCamera、硬盘录像机NVR的视频,并想办法在网页端显示。 分析问题 我们拿到这个需求的时候,需要拆分成几点: 1.如何从摄像机IPC、硬盘录像机NVR取流? 2.如何将流发给网页显示? 解决问题 采用EasyNVR这样的安防视频互联网化的服务,就达到了这种需求,EasyNVR一方面能够管理并接入各种RTSP、Onvif设备,不仅限于海康、大华、或者某一家摄像机厂商,而是所有的厂商都能支持 ;另一方面,EasyNVR提供同步输出的RTSP、RTMP、HLS(m3u8)、HTTP-FLV流,这样就能满足几乎所有的浏览器、所有的移动终端对于视频显示的需求;既能够不局限于某一个厂家的设备,有能够不局限于某一种类型的客户端终端
说到直播,我们一般比较容易想到的就是rtmp的直播,大家用的比较多,实际上使用rtsp也可以做直播,这一篇就讲一下如何基于rtsp构建直播场景。 推流 从海康摄像头到EasyDarwin Rtsp服务器 ffmpeg -i rtsp://admin:******@192.17.1.63 -vcodec copy -acodec copy -rtsp_transport tcp -f rtsp rtsp://192.17.1.92/test.sdp 声明:*****处是海康摄像头的密码,这里就不亮出来了。 播放: ffplay rtsp://192.17.1.92/test2.sdp ? 这个时候通过web页面可以看到推流拉流的状态 拉流列表:我们向EasyDarwin服务器请求流播放的记录 ? 使用FFmpeg直播: 使用本机的摄像头和音频,借助FFmpeg将视频流推送到EasyDarwin Rtsp服务器,进而进行直播。
实现了浏览器 MSE (Media Source Extensions) 播放相机 RTSP (Real Time Streaming Protocol) 流。 /nginx.conf -g 'error_log error.log warn;' # 设置相机发送 H264(该项目只支持 H264) 使用 发送 RTSP 流: sudo snap install ://:8554/test}' # 测试接收 RTSP 流 vlc rtsp://127.0.0.1:8554/test 启动程序: killall -9 nginx python3 ws_serve_new.py 更多 技术: WebSocket[2] MediaSource[3]: 构建媒体流,供 video/audio 元素播放 WebRTC[4]: 可直接捕获客户端视频流,并点对点传输、不依赖服务器中转 WebCodecs WebAssembly[6]: C/C++/Rust 等编译进前端使用 ffmpegwasm/ffmpeg.wasm[7] GoogleChromeLabs/webm-wasm[8] 项目: MSE: 需构建流,
最近有用户反馈发现自己的海康硬盘录像机无法通过rtsp连接到EasyNVR的Web页面上。下面分享下排查过程。 2、如上图所示,在进行了rtsp地址的替换之后,视频页面刷新也是不在线,所以我们接入正常的摄像头来查看是否为服务的问题: ? 3、通过上图得知,其他的通道可以正常的进行播放,但是海康硬盘录像机同样也是不在线的,而且最奇怪的一点是海康的rtsp任何规则都无法播放,放到VLC播放器里面同样无效,但是在硬盘录像机的预览页面却是可以进行正常播放的 5、在经过调试之后我们发现摄像头的配置复合流就无法传输rtsp流到NVR或者VLC上: ? 6、经过测试发现,当配置更改成视频流之后,并且调整帧率和码率,则rtsp流可以输出到EasyNVR或者VLC播放器。 ?
EasyNVR流媒体平台是一个强大的视频流媒体服务器,能够输出RTSP、RTMP、FLV等多种格式的视频流。 在给我们很多用户解决问题的过程中,我发现在一些特定的海康NVR里面按照我们的RTSP的标准去配置RTSP的流,在VLC中却可以播放,在EasyNVR中不能播放,并且显示离线: ? ? ? 问题分析 我到这位用户的硬盘录像机里面去看了下,他的通道是模拟通道(1-32通道),但是在通道配置里面却没有展示数字通道(海康的NVR规则是如果1-32通道,那么数字通道就是33-65)。 这里就要跟大家强调一下,我们的EasyNVR是只能够识别数字通道的,模拟通道在我们的EasyNVR中是不能够识别的,然而这个客户在他的海康NVR中并没有展示他的数字通道,所以不能够识别。 解决方案 最后的解决办法是要客户将模拟通道全部改为数字通道才可以接入我们的软件中进行播放。
1、背景说明需要将传统的安防监控摄像头的RTSP流,转换成GB28181级联到国标平台。需要将视频文件流,转换成GB28181级联到国标平台。 需要将无人机的RTMP推流,转换成GB28181级联到国标平台。需要将设备的RTSP推流,转换成GB28181级联到国标平台。类似这般,许多非国标流转国标流的需求的时候,我们该如何解决呢? ; 同时能实时云端存储、录像计划、检索、时移回放2、通道配置2.1、直播流地址配置直播流接入类型支持:RTSP、ONVIF、RTMP、FLV、HLS、海康SDK、大华SDK、视频文件图片2.2、RTSP 类型流地址配置示例RTSP配置规则说明 [详见:海康 大华 等设备 RTSP 配置规则]图片2.3、Onvif接入示例LiveNVR监控流媒体Onvif/RTSP功能-Onvif 发现以及探测通过ONVIF 添加摄像头监控直播及云台控制3、GB28181级联配置上面 LiveNVR 通道配置启用后,即可到视频广场查看播放相应视频,如何把这些视频GB28181方式级联出去呢?
针对此,我们的建议是最好直接网上买个海康或大华的摄像头,一般来说,海康大华的RTSP URL格式如下: 海康摄像头RTSP URL规则 主码流:rtsp://admin:daniulive12345@192.168.0.120 大华摄像头RTSP URL规则 主码流:rtsp://admin:admin123456@192.168.0.121:554/cam/realmonitor? subtype: 码流类型,主码流:0,子码流:1。 如何自己生成个本地RTSP测试URL 如果想采集PC摄像头或者屏幕,也可以本地用轻量级RTSP服务,本地生成个RTSP测试URL。 本文就以SmartPublisherDemo轻量级RTSP服务采集本地摄像头为例,说明下如何创建个本地测试的RTSP地址。 1. 启动播放端,输入生成的RTSP URL,测试即可。 qing3.png 5.服务器负载查看:再次点击“配置查看RTSP服务”,即可看到每个服务连接的会话数: 6.
问:在用猿大师播放器同时播放多路海康威视的RTSP视频流,2K和4K视频有卡顿情况,修改完缓存和网络配置后仍然卡顿怎么处理?图片答:情况一、检查下配置文件是否存在乱码导致配置文件失效。 图片情况二、可以通过降低RTSP流的分辨率或者降低同时播放的视频数量改善播放体验。弃用主码流,采用子码流,子码流一般分辨率比主码流要低一些。 海康威视主码流取流:rtsp://admin:12345@192.1.1.111:554/h264/ch1/main/av_stream海康威视子码流取流:rtsp://admin:12345@192.1.1.111 channel=1&subtype=0大华子码流取流:rtsp://admin:12345@192.1.1.111:554/cam/realmonitor? channel=1&subtype=12.摄像头后台更改分辨率:图片图片图片
背景需求 我是一个个体户,没有任何计算机基础知识,但是我有个店面,有几个摄像头,我想在网站上看到我的摄像头或者用手机微信也可以看到我的摄像头视频? (natapp) rtsp地址获取规则: 各个摄像机/NVR厂家的RTSP规则不一样,我们列举几个常用的厂家的设备RTSP规则: 海康海康DS NVR播放URL规则 传统海康摄像机URL 例如,请求海康摄像机通道1的主码流,Url如下 主码流: rtsp://admin:12345@192.0.0.64:554/h264/ch1/main/av_stream 子码流: rtsp:// 例如,请求某设备的通道2的辅码流,Url如下 rtsp://admin:admin@10.12.4.84:554/cam/realmonitor? 那么我们如何在外网实现访问?如何在微信实现访问? 下篇博客我们继续介绍。