Unity连接海康摄像头(shader转码)硬解码
1.第一种方法
2.第二种方法
用海康的SDK
(shader转码)
先上效果
demo下载地址: 点击下载
开启多个摄像头的话 第二种比一种流畅
3.添加一个控制摄像头云台控制的(摄像头旋转)球机摄像机 直接上一个脚本吧

using PreviewDemo; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class HKSKDColler : MonoBehaviour { private uint iLastErr = 0; public int m_lUserID = -1; private bool m_bInitSDK = false; private bool m_bRecord = false; private bool m_bTalk = false; private int m_lRealHandle = -1; private int lVoiceComHandle = -1; private string str; CHCNetSDK.REALDATACALLBACK RealData = null; CHCNetSDK.LOGINRESULTCALLBACK LoginCallBack = null; public CHCNetSDK.NET_DVR_PTZPOS m_struPtzCfg; public CHCNetSDK.NET_DVR_USER_LOGIN_INFO struLogInfo; public CHCNetSDK.NET_DVR_DEVICEINFO_V30 DeviceInfo; private bool Checked ; private int m_lChannel = 1; private void Start() { m_bInitSDK = CHCNetSDK.NET_DVR_Init(); } public void Login(string Ip, string Port, string UserName, string PassWord) { if (m_lUserID < 0) { //登录设备 m_lUserID = CHCNetSDK.NET_DVR_Login_V30(Ip, int.Parse(Port), UserName, PassWord, ref DeviceInfo); // Debug.Log(dcv40. + "这是设备类型吗"+ dcv40.wDevType); CHCNetSDK.NET_DVR_DEVICECFG_V40 nET_DVR_DEVICECFG_V40 = new CHCNetSDK.NET_DVR_DEVICECFG_V40(); if (m_lUserID < 0) { iLastErr = CHCNetSDK.NET_DVR_GetLastError(); Debug.Log("登录失败:错误号" + iLastErr); return; } else { //Login(Ip, Port, UserName, PassWord); Debug.Log("登录成功"); //VideoBtnClick(1); } } } /// <summary> /// 登出 /// </summary> public void LogOut() { if (m_lUserID < 0) return; if (!CHCNetSDK.NET_DVR_Logout(m_lUserID)) { iLastErr = CHCNetSDK.NET_DVR_GetLastError(); str = "NET_DVR_Logout failed, error code= " + iLastErr; Debug.LogError(str); return; } m_lUserID = -1; Debug.Log("注销登录"); } private void OnApplicationQuit() { CHCNetSDK.NET_DVR_Cleanup(); } private void Update() { //登陆 if (Input.GetKeyDown (KeyCode.Alpha1)) { Login("195.100.97.242", "8000", "admin", "123"); } //登出 if (Input.GetKeyDown(KeyCode.Alpha0)) { LogOut(); } //左 if (Input.GetKey(KeyCode.J)) { if (Checked) { CHCNetSDK.NET_DVR_PTZControlWithSpeed(m_lRealHandle, (uint)CHCNetSDK.PAN_LEFT, 0, 4); Debug.Log("左"); } else { CHCNetSDK.NET_DVR_PTZControlWithSpeed_Other(m_lUserID, m_lChannel, CHCNetSDK.PAN_LEFT, 0, 4); Debug.Log("左"); } } if (Input.GetKeyUp(KeyCode.J)) { if (Checked) { CHCNetSDK.NET_DVR_PTZControlWithSpeed(m_lRealHandle, (uint)CHCNetSDK.PAN_LEFT, 1, 4); } else { CHCNetSDK.NET_DVR_PTZControlWithSpeed_Other(m_lUserID, m_lChannel, CHCNetSDK.PAN_LEFT, 1, 4); } } //上 if (Input.GetKey(KeyCode.I)) { if (Checked) { CHCNetSDK.NET_DVR_PTZControlWithSpeed(m_lRealHandle, CHCNetSDK.TILT_UP, 0, 4); } else { CHCNetSDK.NET_DVR_PTZControlWithSpeed_Other(m_lUserID, m_lChannel, CHCNetSDK.TILT_UP, 0, 4); } Debug.Log("上"); } if (Input.GetKeyUp(KeyCode.I)) { if (Checked) { CHCNetSDK.NET_DVR_PTZControlWithSpeed(m_lRealHandle, CHCNetSDK.TILT_UP, 1, 4); } else { CHCNetSDK.NET_DVR_PTZControlWithSpeed_Other(m_lUserID, m_lChannel, CHCNetSDK.TILT_UP, 1, 4); } } // 右 if (Input.GetKey(KeyCode.L)) { if (Checked) { CHCNetSDK.NET_DVR_PTZControlWithSpeed(m_lRealHandle, CHCNetSDK.PAN_RIGHT, 0, 4); } else { CHCNetSDK.NET_DVR_PTZControlWithSpeed_Other(m_lUserID, m_lChannel, CHCNetSDK.PAN_RIGHT, 0, 4); } Debug.Log("右"); } if (Input.GetKeyUp(KeyCode.L)) { if (Checked) { CHCNetSDK.NET_DVR_PTZControlWithSpeed(m_lRealHandle, CHCNetSDK.PAN_RIGHT, 1, 4); } else { CHCNetSDK.NET_DVR_PTZControlWithSpeed_Other(m_lUserID, m_lChannel, CHCNetSDK.PAN_RIGHT, 1, 4); } } //下 if (Input.GetKey(KeyCode.K)) { if (Checked) { CHCNetSDK.NET_DVR_PTZControlWithSpeed(m_lRealHandle, CHCNetSDK.TILT_DOWN, 0, 4); } else { CHCNetSDK.NET_DVR_PTZControlWithSpeed_Other(m_lUserID, m_lChannel, CHCNetSDK.TILT_DOWN, 0, 4); } Debug.Log("下"); } if (Input.GetKeyUp(KeyCode.K)) { if (Checked) { CHCNetSDK.NET_DVR_PTZControlWithSpeed(m_lRealHandle, CHCNetSDK.TILT_DOWN, 1, 4); } else { CHCNetSDK.NET_DVR_PTZControlWithSpeed_Other(m_lUserID, m_lChannel, CHCNetSDK.TILT_DOWN, 1, 4); } } } }
简单记录一下,不喜勿喷
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南