海康摄像头取流示例初始签入
This commit is contained in:
62
SHH.CameraSdk/Abstractions/Enums/DeviceBrand.cs
Normal file
62
SHH.CameraSdk/Abstractions/Enums/DeviceBrand.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
namespace SHH.CameraSdk;
|
||||
|
||||
/// <summary>
|
||||
/// 视频源物理/逻辑品牌类型
|
||||
/// 职责:用于工厂模式匹配具体的 IVideoSource 实现类,并定义基础通信协议栈
|
||||
/// </summary>
|
||||
public enum DeviceBrand
|
||||
{
|
||||
/// <summary>
|
||||
/// 未知
|
||||
/// </summary>
|
||||
Unknown = 0,
|
||||
|
||||
/// <summary>
|
||||
/// 海康威视 (HikVision)
|
||||
/// 技术路径:基于海康私有 SDK (HCNetSDK.dll / PlayCtrl.dll)。
|
||||
/// 特性:支持全功能控制(PTZ、对讲、配置、报警回传)。
|
||||
/// </summary>
|
||||
HikVision,
|
||||
|
||||
/// <summary>
|
||||
/// 大华 (Dahua)
|
||||
/// 技术路径:基于大华私有 SDK (dhnetsdk.dll / dhplay.dll)。
|
||||
/// 特性:支持全功能控制,与海康私有协议不兼容。
|
||||
/// </summary>
|
||||
Dahua,
|
||||
|
||||
/// <summary>
|
||||
/// USB 摄像头 / 虚拟摄像头
|
||||
/// 技术路径:基于 DirectShow 或 Windows Media Foundation。
|
||||
/// 特性:通常通过 OpenCV (VideoCapture) 或 DirectShowLib 直接读取本地硬件引用。
|
||||
/// </summary>
|
||||
Usb,
|
||||
|
||||
/// <summary>
|
||||
/// 标准 RTSP 流媒体
|
||||
/// 技术路径:基于标准 RTSP/RTP 协议 (RFC 2326)。
|
||||
/// 特性:跨品牌兼容,通常使用 FFmpeg 或 GStreamer 库取流,仅支持音视频,不支持云台控制。
|
||||
/// </summary>
|
||||
RtspGeneral,
|
||||
|
||||
/// <summary>
|
||||
/// 三恒自研 WebSocket 流
|
||||
/// 技术路径:基于 WebSocket 传输的自定义二进制或 Base64 帧。
|
||||
/// 特性:专用于 Web 或云端推送场景的私有流媒体格式。
|
||||
/// </summary>
|
||||
WebSocketShine,
|
||||
|
||||
/// <summary>
|
||||
/// 本地视频文件
|
||||
/// 技术路径:基于文件 IO 的离线解码。
|
||||
/// 特性:常用于算法演示、回放模拟,支持 Mp4, Avi, Mkv 等容器格式。
|
||||
/// </summary>
|
||||
File,
|
||||
|
||||
/// <summary>
|
||||
/// 未知/通用标准 (ONVIF)
|
||||
/// 技术路径:基于标准 ONVIF WebService。
|
||||
/// 特性:用于接入非主流厂商但符合 ONVIF 标准的设备,支持基础 PTZ。
|
||||
/// </summary>
|
||||
OnvifGeneral
|
||||
}
|
||||
16
SHH.CameraSdk/Abstractions/Enums/TransportProtocol.cs
Normal file
16
SHH.CameraSdk/Abstractions/Enums/TransportProtocol.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
namespace SHH.CameraSdk;
|
||||
|
||||
/// <summary>
|
||||
/// 网络传输协议类型
|
||||
/// </summary>
|
||||
public enum TransportProtocol
|
||||
{
|
||||
/// <summary> 可靠传输 (默认) </summary>
|
||||
Tcp = 0,
|
||||
|
||||
/// <summary> 快速传输 (可能丢包/花屏) </summary>
|
||||
Udp = 1,
|
||||
|
||||
/// <summary> 组播 (节省带宽) </summary>
|
||||
Multicast = 2
|
||||
}
|
||||
57
SHH.CameraSdk/Abstractions/Enums/VideoSourceStatus.cs
Normal file
57
SHH.CameraSdk/Abstractions/Enums/VideoSourceStatus.cs
Normal file
@@ -0,0 +1,57 @@
|
||||
namespace SHH.CameraSdk;
|
||||
|
||||
/// <summary>
|
||||
/// 视频源逻辑状态枚举
|
||||
/// 描述了从配置加载到视频流稳定输出的完整生命周期
|
||||
/// </summary>
|
||||
public enum VideoSourceStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// 已断开/初始状态。
|
||||
/// 此时资源已释放,尚未执行 Login 或 Start 操作。
|
||||
/// </summary>
|
||||
Disconnected,
|
||||
|
||||
/// <summary>
|
||||
/// 正在尝试建立网络连接。
|
||||
/// 此时正在进行 Socket 握手或探测设备 IP 是否可达。
|
||||
/// </summary>
|
||||
Connecting,
|
||||
|
||||
/// <summary>
|
||||
/// 正在进行身份验证。
|
||||
/// 连接已建立,正在提交 UserName/Password 调用 SDK 的 Login 接口。
|
||||
/// </summary>
|
||||
Authorizing,
|
||||
|
||||
/// <summary>
|
||||
/// 已登录/待机。
|
||||
/// 登录成功并获取到了设备元数据(Metadata),但尚未启动预览(RealPlay)。
|
||||
/// 适用于“仅管理,不看画面”的场景。
|
||||
/// </summary>
|
||||
Connected,
|
||||
|
||||
/// <summary>
|
||||
/// 正常取流播放中
|
||||
/// </summary>
|
||||
Playing,
|
||||
|
||||
/// <summary>
|
||||
/// 正在取流/正常运行中。
|
||||
/// 预览句柄已开启,取流回调函数正在持续接收数据帧并进行解码。
|
||||
/// </summary>
|
||||
Streaming,
|
||||
|
||||
/// <summary>
|
||||
/// 自动重连中。
|
||||
/// 检测到网络抖动或心跳丢失,SDK 正在尝试内部恢复,此时视频流可能处于停滞状态。
|
||||
/// </summary>
|
||||
Reconnecting,
|
||||
|
||||
/// <summary>
|
||||
/// 故障/异常状态。
|
||||
/// 发生了不可恢复的错误(如密码错误、最大连接数限制、设备强制离线)。
|
||||
/// 进入此状态通常需要人工干预或调用 Stop 后重新 Start。
|
||||
/// </summary>
|
||||
Faulted
|
||||
}
|
||||
Reference in New Issue
Block a user