最近项目需要对接海康威视的摄像头,兜兜转转摸索了一周,试了各种方法记录如下:

7 i7 R' I+ h. D一,利用海康威视提供web3.0控件开发包

8 U0 d5 O3 ~2 R3 J$ E. B! X' z3 }7 J- q

拿到海康威视摄像头,就到他们官网下载了sdk开发包,心里还想这个应该不会太难,毕竟海康也算大公司,各种对接方式应该都是成熟的,打开sdk包里面还是挺齐全的MFC、java、c#都有,依次调试里一下,都能对接成功,不过不是我想要web方式对接,都是C/S架构的,我想要的是B/S方式对接。* o* Z! U( H, M# J1 O

联系海康技术要了web3.0的开发包,基于ActiveX或者NPAPI插件,提供封装好的js接口。先安装\demo\codebase中WebComponentsKit.exe插件,之后打开\demo\cn中demo.html测试。

' {9 N- }; C3 [9 x: |4 }该控件开发包对浏览器版本有要求,具体看下注意事项中说明。# n3 T2 l. v: _/ N$ V) H

32位浏览器:( t' H7 S9 G! c% @3 g! G8 z5 y

https://one.hikvision.com/#/link/JIlpt2mBpcwvkhj2MNXw提取密码:c2wq

+ S" Z6 |9 L# u) J6 v/ |  O$ N64位浏览器:

% P) @! t1 N( `# `% a3 ^" ihttps://one.hikvision.com/#/link/YMBApRWUh0MYbul3YQeJ提取密码:GT2c

- Z1 X# W) z& v! \7 Z, J& h/ m1 {$ N* H( [注意事项:, w' K& M; Z2 M, R& a

1.支持的浏览器有:IE6~IE11、Chrome8~ Chrome42、Firefox3.5~ Firefox52(32位,64位是到Firefox40)、Safari5.0.2+,需要浏览器支持NPAPI。

% H) R& ]3 K2 I" d2 Q/ y4 N4 x2.我们这个插件是根据浏览器位数来的,比如说您64位电脑,使用的32位浏览器,则需要安装32位浏览器。如果出现已安装插件,但是仍旧提示未安装插件,可以将32位插件和64位插件都安装一下之后再用IE打开我们demo.html测试下,这个是不影响的。: ~( i7 \) s, ]6 x& S

3.我们WEB3.0控件开发包,登陆使用的是HTTP端口(默认80).) }6 s# r% q3 `. l/ O; v/ a

可惜这种方式不支持高版本chrome浏览器,项目又是基于chrome浏览器开发的,基本放弃了ie,只能另外想办法解决!!!4 G8 G" Q; W1 E* L/ o4 m

二,VLC

) q; M& b" e+ R9 C2 N) B  R/ P/ t; [4 e" E- R6 g3 v7 R

利用vlc播放器把rtsp转http/ r3 R" z+ T+ s+ t" N

在官网下载https://www.videolan.org. v( ^6 ]" I" I3 J' n* O  j4 ~

并安装! {% U2 [2 Z$ G

. Z& z& s0 q+ ^0 _9 q

6 A0 n7 J+ j& v$ G: H3 _$ ]

9 t/ o- [" _. P0 ]& f5 U9 [$ T+ G) p" [" P

- {1 y# C! `1 C

$ m% E4 H6 Y, b% P. X# {

# g. Z7 s$ j3 Q+ Q% P8 z6 Y

5 b9 z+ j% b" z

" [, c) d" ]5 @4 C8 I* c8 l+ l  p/ g8 _. ?8 e: s. h/ h: J- f0 T

! D* o9 ^- D" B! w6 i: i" p+ N" X

7 a8 e0 t* k! ^

B1 w) L. T  n  D

# g8 f+ C# x3 C$ R3 A1 K

6 h4 D/ y: Y$ _3 e0 K  u

6 E$ V; t6 `" L) Z: Y) {

局域网内访问/ I8 W& G! ^. ?3 ]5 h& r: M) `& u

$ g- ]3 A7 t2 d( t) w5 |  r

7 b9 r6 f! t+ z, }不支持, S3 [* I8 v% i$ \- ?, R+ v0 B  F

) r0 a1 Z5 P" I7 q/ V* v, q% \. ^/ ?: E6 N: e

7 J! V! ^, |1 z1 U) r1 T7 v% R1 J

: E% x8 t" K- ]4 p

三,ffmpeg+Nginx(windows配置)0 T5 r1 p5 q. Q4 M, e% l- _9 w) C

" S) o, [5 ~& n4 J5 v9 F下载ffmpeg:https://ffmpeg.zeranoe.com/builds/3 Z  g; E0 T4 W% k) T/ {' {& r$ _

3 H  P+ e! R+ ?6 x# {5 K

; Y& T% \+ {$ @( [

下载后解压

. G' {. G6 k  N% K, A7 E1 Q: g7 x9 _# @' S* [7 |/ T

. p$ T' i+ T) |" m6 g

下载nginx.exe:https://github.com/illuspas/nginx-rtmp-win32

: m7 n4 w( E8 m' o: E8 v1 J* j/ x: |* ^9 [# S  A  \

% Q" ]) ?9 h  C  S$ |6 `

打开cmd运行

) ^. f9 o8 C7 `5 b. cffmpeg -re -i rtsp://admin:a1234567@192.168.1.227:554/Streaming/Channels/101?transportmode=unicast -c copy -f flv rtmp://localhost:1935/live/room

$ @# d) u; @: h. O, ~, T. o3 \8 |! ~% ^( u( z& G

* e5 M8 W0 O$ p) P& _

浏览器显示,需要浏览器允许flash- T; r7 F& \  n! ~: X

4 r/ W- Y2 H6 ?4 n

; `8 s# H( d2 W1 M; H* P- |. A $ x2 O  Y& f2 f: v% T

playerOptions:{' P9 z2 H! N6 _$ ^6 Q. r0 d% s

live:true,

7 Q* W: X- f* b; Vautoplay:true,

; A) y9 `) z( |fluid:true,! U& m$ y, `0 @8 t

notSupportedMessage:'暂时无法播放',- b2 ~( [+ y) k& v

controlBar:{! m; D7 k) n3 ~7 \9 n4 u3 h

timeDivider:true,) T' ~- k! }; y, e1 ?0 F& }

durationDisplay:true,) q# ], z9 E5 A: y

remainingTimeDisplay:false,

6 s* O5 Z3 i7 T( Q5 ufullscreenToggle:true//全屏按钮. F" }$ r% Y6 T) K7 B9 s: O

},

" [; j& j& A! D/ ?- ^6 ytechOrder:['flash'],

3 h% }7 d3 @, f7 y- A4 Dflash:{

7 q) ]& d8 @# T0 shls:{withCredentials:false}! D' j- R% w2 P! d

//swf:SWF_URL//引入静态文件swf$ e, z5 q( X: i" h0 L9 D1 I, O

},

4 a( M; H9 y4 W3 z5 x; Isources:[3 h: l$ v; n% T1 b% ^( x% v. t

{7 S1 d& H' ?; L: g; _9 t1 g7 a

//流配置,数组形式,会根据兼容顺序自动切换/ Z! k8 Y, q# x1 [

type:'rtmp/mp4',

' y. m% \# ^' r6 e( ]2 r& wsrc:'rtmp://localhost:1935/live/room'

. J1 Q+ i  k7 D: A1 J9 r}

+ m0 j  Q+ M3 y6 K1 G]

1 ]4 @$ l5 c9 H+ @" p2 t      }

9 r4 W9 C4 w& \9 X- p8 `* d' }1 x* V8 u3 p/ v; w+ N& t- i! \

6 Q! ]& e: [+ y, S( x

四,ffmpeg+Nginx(Linux配置)* O# }+ J& R5 U- M. c; A7 _# Z

5 z0 R, s3 T2 j& d

##########下面所有步骤均在centos7上进行########

" Y6 U5 H0 u. k/ g  K8 s1、nginx安装依赖' |5 L5 p5 j' s4 C9 k/ [

yum install gcc

; _' l$ R8 w7 [5 [6 C" C        yum -y install zlib-devel       #zlib-devel:压缩依赖包

3 x4 c7 f! k  _  L        yum -y install openssl-devel      #openssl-devel:提供ssl/tls功能+ o; K; Q2 l4 P% D2 K" ]1 y) m

yum -y install pcre-devel       #pcre-devle:支持地址重写rewrite/ Q  ]+ l& u( e! R1 |! o0 D# R

2、关闭selinux/ c+ j) S( l8 l: `9 n6 N- O

查看 selinux 状态:/usr/sbin/sestatus -v

$ U2 p, N3 [) c% S        临时关闭(不用重启机器):

7 C; N% }4 X/ s        setenforce 0       ##设置SELinux 成为permissive模式, _  O) h0 }$ x3 Z

##setenforce 1 设置SELinux 成为enforcing模式9 X: t' [1 b1 @

修改/etc/selinux/config 文件

4 }/ P7 [/ x5 Q% L        将SELINUX=enforcing改为SELINUX=disabled  重启机器即可

- N# {1 s5 {8 H$ h  o. E1 B( `3、为nginx运行创建帐号、组

4 \" I! i5 S$ i$ s) k' @        groupadd -r nginx

6 F# Q# t) {% a: `. a5 [2 E        useradd -s /sbin/nolgoin -g nginx -r nginx

7 E* X3 z! }, @8 Y& ^1 w4、文件下载& C' y! k* r# f9 U# v9 x" G

下载rtmp流媒体插件2 b6 r& o4 A- a9 X; H" l. q$ X

wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

1 M: |7 [4 m' [; p        下载nginx源码$ Z$ ]0 d* {* g. _4 w

wget http://nginx.org/download/nginx-1.14.2.tar.gz

Y4 [( w2 @7 ?5、编译nginx 将rtmp模块编译安装进nginx# f0 u6 K: a! \# q% [$ {( @

cd /opt/nginx/nginx-1.14.2

( d- r0 A  _( z4 q1 I( E        [root@1-251 nginx-1.14.2]# ./configure \

0 q7 y& C/ A/ O( v8 z        > --add-module=/opt/rtmp/nginx-rtmp-module-master \  #rtmp模块

) w; r9 m: g/ o7 b        > --prefix=/usr/local/nginx \

. }' v0 h4 y0 k# o( n: h+ c4 b# e" E        > --conf-path=/etc/nginx/nginx.conf \5 V2 w! H: a5 }; V# k1 r' ]. ?, W

> --error-log-path=/var/log/nginx/erro.log \/ k  I* f2 N% c. d0 \

> --pid-path=/var/run/nginx/nginx.pid \- z! v. ?5 V0 {% Q% [0 a

> --lock-path=/var/lock/nginx.lock \

( K$ P5 G7 v5 B% h$ C% y8 |        > --user=nginx \

. X( c1 F; U: d$ k) T        > --group=nginx \

& y8 G  k- X" r: g: H        > --with-http_ssl_module \# o- E$ s" K' h

> --with-http_stub_status_module \

0 r2 ^  v4 O2 ]" F9 d% @        > --with-select_module \/ }+ P' x$ Z# I( l- ^: y( A

> --with-poll_module \

$ i( M1 Q& K" X& Z' k5 t4 J7 S, p$ _, c        > --with-threads \2 J6 i. c: E. a. S- p

> --with-debug \- P5 R; o6 s6 V6 |. `- j

> --with-http_ssl_module \" `4 J" y" m8 j" v6 {4 |

> --with-http_v2_module \

Q: x- s" b. j. |) q        > --with-http_gzip_static_module \

- d* S. }4 s2 K9 R; [' f        > --with-perl=/usr/local/bin \

1 {1 u" V( B% U5 G+ P% B# p6 R( s        > --http-client-body-temp-path=/var/tmp/nginx/client \

2 X0 {- H: l* x! J0 m# ~% \  }6 f        > --http-proxy-temp-path=/var/tmp/nginx/proxy \

, Y' Z; B- L2 N: X# L# Q1 P* ^        > --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi \

% Z' C  W4 ^9 l% e) @" `, R        > --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \

+ h3 ~9 l& e9 x. L        >

; ?+ n* U0 ~8 g6、编译完成3 V, M+ G$ \) c* M* y; D

5 u) C% Y8 e2 A5 z5 ~3 F% | nginx path prefix: "/usr/local/1 H0 c- a9 v4 i/ J

Java吧 收集整理 java论坛 www.java8.com

php对接海康视频教程_web对接海康威视rtsp视频流相关推荐

  1. 海康摄像头取、录像机RTSP视频流的字串格式

    海康摄像头取.录像机RTSP视频流的字串格式 主码流 rtsp://IP:554/h264/ch1/main/av_stream rtsp://IP:554/ISAPI/streaming/chann ...

  2. php对接海康视频教程_EasyNVR无插件互联网直播平台对接海康摄像头如何通过SDK将视频在前端网页播放...

    原标题:EasyNVR无插件互联网直播平台对接海康摄像头如何通过SDK将视频在前端网页播放 市场上常见的海康.大华.宇视等网络摄像头只要支持RTSP协议,都可以接入到EasyNVR中,今天主要给大家分 ...

  3. 国标服务器GBServerPlatform对接海康摄像头的操作说明

    这篇文章讲解一下QuickGBLink开发的国标服务器如何对接海康IPC. (GBT28181国标平台软件下载地址:https://github.com/QuickGBLink88/GB28181_S ...

  4. 对接海康设备-vue

    海康官方Demo 海康开放平台 对接海康综合安防管理摄像头 说明:官方Demo是原js代码,自己改改就能用,非常简单,下面这个是改成vue的 浏览器需要装的插件↓↓↓↓ https://downloa ...

  5. php对接海康api样例

    php对接海康api样例 直接上代码 <?php/*** Author hlx * Email 5644139**@qq.com * time 2019-01-31 */ header('Con ...

  6. live555作为RTSP流媒体服务器RTSPServer时解决对接海康NVR时G711音频不能正常播放的问题

    live555作为NVR内置的流媒体服务器RTSPServer在对接海康NVR,视频正常,音频不能正常播放, 但VLC可以正常播放. 经过问题的分析,发现live555作为NVR流媒体服务器输出视频为 ...

  7. EasyRTSPServer流媒体服务协议网络视频直播平台对接海康NVR音频不能正常播问题解决方案

    背景分析 众所周知,RTSP协议是一个流媒体协议,可以实现直播和点播形式的音频与视频流的播放.RTSP协议定义了多种服务器-客户端之间交互的接口,主要有OPTIONS,DESCRIBE,SETUP,P ...

  8. java对接海康LED

    --------------------------------------------对接海康LED类------------------------------------------------ ...

  9. Unity海康视屏对接

    通过对接海康SDK,获取视屏流回调.经过解码得到YUV格式的图片,最后通过Shader把YUV数据显示出来. 也可以通过Rtsp协议,直接获取视屏流显示.这个貌似Unity中已经有插件支持了,UMP. ...

  10. 国标服务器GBServerPlatform对接海康NVR的操作说明

    这一篇文章介绍QuickGBLink开发的国标服务器如何对接海康NVR(网络硬盘录像机),主要讲解相关的操作步骤. (GBT28181平台软件下载地址:https://github.com/Quick ...

最新文章

  1. python虚拟环境 virtualenv工具
  2. Aix5.3安装Bash环境
  3. 不知所措:您是否真的需要为您的API提供客户端库?
  4. Jaxb annotation使用
  5. MongoDB(4)--MongoDB服务的启动
  6. ES6进阶Async与Await,你不知道的同步与异步
  7. 今日头条java后端四面_今日头条笔试第二批后端开发第一题java实现
  8. AI人机对战五子棋游戏【Python(pygame)+AI】并实现软件输出
  9. linux bt下载软件推荐,分享|Ubuntu 下五个最好的 BT 客户端
  10. UVM糖果爱好者教程 - 31.provides_responses?
  11. c语言龟兔赛跑程序,c语言龟兔赛跑
  12. 注册昵称时限制 中文7个字 字母21个
  13. oracle付款汇兑损益怎么产生,汇兑损益产生的原因及会计处理原则是什么
  14. 学 Rust 要几天?「GitHub 热点速览 v.22.51」
  15. 电路其他基本元器件(蜂鸣器、晶振等)
  16. 对学校的希望和寄语_家长写给孩子表达鼓励与期望的话
  17. “天下武功唯快不破”--常见高频交易策略简介
  18. 点击BootStrap下拉框无反应
  19. 如何换照片背景底色?在线证件照换背景怎么换
  20. 2013 年科技界即将发生的 10 件大事

热门文章

  1. moment.js获取一周的第一天
  2. 复选框样式圆圈html,css怎么美化复选框样式
  3. java冒泡排序和插入排序
  4. 75. 颜色分类(图解)
  5. 三维文件格式 abc, glTF, fbx, obj, dae, stl, 3ds, ply,...
  6. 利用jQuery实现三级侧边导航栏
  7. 松花江等三流域禁渔效果不理想 跨界水域成管理盲区
  8. 矩阵卷积、矩阵相乘以及频域相乘之间的关系
  9. 互联网公司招聘--今日头条--产品经理-2017年笔试题1
  10. 基于Android的防疫信息管理系统源码【包调试运行】