远程监控摄像头 当今物流产业盛行的年代 到处可见得天眼, 估计大家都知道 都见过, 但是要用VB6或APP安卓手机编程或任何其它语言,想入门都不容易, 其实没你们想象的那么难, 今天给大家一个概念, 无论任何厂牌的摄像头都是一个共通的思路,每个网络摄像头出厂时都会给一个不重复的 唯一的设备序列号, 透过厂家给的SDK 获取厂家的公网IP 端口号 加上自己的设备序列号与密码,指定连接厂家的服务器, 你便可以在全世界有wifi的地方用电脑 用平板 用手机 随时都可以看得到远在千里外的摄像头画面.
有兴趣的人可以看看下面代码 不懂得的地方可以问我



Private Sub Form_Load()
Dim VER_AX_LOCALE As String
Dim szDevIP As String
Dim nPort As Long
Dim szAuthAcc, szAuthPwd As String
Dim nImgW, nImgH As Integer
Dim szDecName As String
Dim nDevType As Long
Dim bInLan As Long
Dim preActTime As Data
Dim bNeedStop As Boolean
VER_AX_LOCALE = "11.21.35.174"
szDevIP = "VSTC761754JXXXX" 'IP Camera 买硬件时 每个硬件都会有唯一的序列号
nPort = 81 'IP Camera port
szAuthAcc = "cbm666" 'IP Camera account
szAuthPwd = "88XXX8"
szDevName = "镜头通道1" 'IPCam Caption
nDevType = 922 'nDevType的值用IP访问时改为926,用UID访问的时候改为922
bInLan = 0 '1:局域网 0:广域网
Remote.StopRec
Remote.ConnMode = 0
Remote.ShowTitle = 0
Remote.Selected = 1
Remote.Lan = "cn" 'Language
Remote.ShowOSDName = 0
Remote.CanPopupMenu = True
Remote.Proxy = "server.ipcam.so"
Remote.SwitchLayout ("1 x 1")
Remote.ShowToolBar = 0
Remote.Listen = -1
nImgW = Remote.Width 'IPCam resolution
nImgH = Remote.Height
Remote.AddDev4 nDevType, bInLan, szDevIP, nPort, szDevName, szAuthAcc, szAuthPwd, 1
Remote.TurnImg = 0
Remote.TCPMode = 2
Remote.VideoRate = 20
Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height - GetTaskbarHeight * 15) \ 2 '窗体居中
End Sub
Private Sub Form_Activate()
Remote.ConnectAll
Remote.Start
preActime = 0
bNeedStop = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
Remote.DisConnectAll
Set MainForm = Nothing
End
End Sub
Public Sub setAction(action As Long, time As Long)
Remote.PTZ 1, 1, action, time, 0, 0
bNeedStop = action <> -1
preActTime = now_time
End Sub
Public Sub StopAction()
Remote.PTZ 1, 1, -1, 0, 0, 0
bNeedStop = False
End Sub
Private Sub Focus1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(4, 31)
End Sub
Private Sub Focus1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(-1, 0)
End Sub
Private Sub Focus2_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(5, 31)
End Sub
Private Sub Focus2_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(-1, 0)
End Sub
Private Sub Timer1_Timer()
'Call StopAction
End Sub
Private Sub Zoom1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(6, 31)
End Sub
Private Sub Zoom1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(-1, 0)
End Sub
Private Sub Zoom2_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(7, 31)
End Sub
Private Sub Zoom2_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(-1, 0)
End Sub
Private Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Select Case Index
Case 0 '朝左
Call setAction(1, 31)
Case 1 '朝右
Call setAction(2, 31)
Case 2 '朝上
Call setAction(0, 31)
Case 3 '朝下
Call setAction(3, 31)
Case 4 '云台开始旋转
If Command1(4).Caption = "开始扫描" Then
Remote.PTZ 1, 1, 8, 20, 0, 0
Command1(4).Caption = "停止扫描"
Else
'Remote.PTZ 1, 1, -1, 1, 0, 0
Call setAction(-1, 0)
Command1(4).Caption = "开始扫描"
End If
End Select
End Sub
Private Sub Command1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Select Case Index
Case 0 '朝左
Call setAction(-1, 0)
Case 1 '朝右
Call setAction(-1, 0)
Case 2 '朝上
Call setAction(-1, 0)
Case 3 '朝下
Call setAction(-1, 0)
Case 4 '云台开始旋转
'Call setAction(-1, 0)
End Select
End Sub
有兴趣的人可以看看下面代码 不懂得的地方可以问我



Private Sub Form_Load()
Dim VER_AX_LOCALE As String
Dim szDevIP As String
Dim nPort As Long
Dim szAuthAcc, szAuthPwd As String
Dim nImgW, nImgH As Integer
Dim szDecName As String
Dim nDevType As Long
Dim bInLan As Long
Dim preActTime As Data
Dim bNeedStop As Boolean
VER_AX_LOCALE = "11.21.35.174"
szDevIP = "VSTC761754JXXXX" 'IP Camera 买硬件时 每个硬件都会有唯一的序列号
nPort = 81 'IP Camera port
szAuthAcc = "cbm666" 'IP Camera account
szAuthPwd = "88XXX8"
szDevName = "镜头通道1" 'IPCam Caption
nDevType = 922 'nDevType的值用IP访问时改为926,用UID访问的时候改为922
bInLan = 0 '1:局域网 0:广域网
Remote.StopRec
Remote.ConnMode = 0
Remote.ShowTitle = 0
Remote.Selected = 1
Remote.Lan = "cn" 'Language
Remote.ShowOSDName = 0
Remote.CanPopupMenu = True
Remote.Proxy = "server.ipcam.so"
Remote.SwitchLayout ("1 x 1")
Remote.ShowToolBar = 0
Remote.Listen = -1
nImgW = Remote.Width 'IPCam resolution
nImgH = Remote.Height
Remote.AddDev4 nDevType, bInLan, szDevIP, nPort, szDevName, szAuthAcc, szAuthPwd, 1
Remote.TurnImg = 0
Remote.TCPMode = 2
Remote.VideoRate = 20
Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height - GetTaskbarHeight * 15) \ 2 '窗体居中
End Sub
Private Sub Form_Activate()
Remote.ConnectAll
Remote.Start
preActime = 0
bNeedStop = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
Remote.DisConnectAll
Set MainForm = Nothing
End
End Sub
Public Sub setAction(action As Long, time As Long)
Remote.PTZ 1, 1, action, time, 0, 0
bNeedStop = action <> -1
preActTime = now_time
End Sub
Public Sub StopAction()
Remote.PTZ 1, 1, -1, 0, 0, 0
bNeedStop = False
End Sub
Private Sub Focus1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(4, 31)
End Sub
Private Sub Focus1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(-1, 0)
End Sub
Private Sub Focus2_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(5, 31)
End Sub
Private Sub Focus2_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(-1, 0)
End Sub
Private Sub Timer1_Timer()
'Call StopAction
End Sub
Private Sub Zoom1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(6, 31)
End Sub
Private Sub Zoom1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(-1, 0)
End Sub
Private Sub Zoom2_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(7, 31)
End Sub
Private Sub Zoom2_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Call setAction(-1, 0)
End Sub
Private Sub Command1_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Select Case Index
Case 0 '朝左
Call setAction(1, 31)
Case 1 '朝右
Call setAction(2, 31)
Case 2 '朝上
Call setAction(0, 31)
Case 3 '朝下
Call setAction(3, 31)
Case 4 '云台开始旋转
If Command1(4).Caption = "开始扫描" Then
Remote.PTZ 1, 1, 8, 20, 0, 0
Command1(4).Caption = "停止扫描"
Else
'Remote.PTZ 1, 1, -1, 1, 0, 0
Call setAction(-1, 0)
Command1(4).Caption = "开始扫描"
End If
End Select
End Sub
Private Sub Command1_MouseUp(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
Select Case Index
Case 0 '朝左
Call setAction(-1, 0)
Case 1 '朝右
Call setAction(-1, 0)
Case 2 '朝上
Call setAction(-1, 0)
Case 3 '朝下
Call setAction(-1, 0)
Case 4 '云台开始旋转
'Call setAction(-1, 0)
End Select
End Sub

