public string GetTalkRecordPath_Server(string strSavePath, string strSaveName) { if (!strSaveName.ToLower().EndsWith(".h264")) { if (string.IsNullOrEmpty(strSaveName)) { Enum_VideoType Temp_videoType = CurrentVideoInfo.VideoType; if (ProgParameter.TransitionEnable && Temp_videoType == Enum_VideoType.Unrecognized) { Temp_videoType = Transition.Transition_VideoTypeConvert.GetVideoType(CurrentVideoInfo); } strSaveName = VideoRecord.VideoRecordInfoConvert.GetVideoRecordName(CurrentVideoInfo.DVSNumber, 1, Temp_videoType); } else { strSaveName = strSaveName + ".H264"; } } if (strSavePath.Length > 2 && !strSaveName.EndsWith("\\")) { strSavePath = strSavePath + "\\"; } string strResult = strSavePath + strSaveName; if (!string.IsNullOrEmpty(ProgParameter.strSKVideo_RecordDirectory)) { strResult = strResult.Replace(ProgParameter.strSKVideo_RecordDirectory, ""); } if (!(strResult.StartsWith("\\") || strResult.StartsWith("/"))) { strResult = "\\" + strResult; } return(strResult); }
public static string GetVideoRecordName(string strVideoNum, int intChannel, Enum_VideoType videoType) { //通用命令规则 770701_09_20171226174241_81.H264 //DNSNum_Channnel_起始时间(yyyyMMddHHmmss)_主机类型区分.后缀 StringBuilder sbVideoRecordFileName = new StringBuilder(); sbVideoRecordFileName.Append(strVideoNum + "_"); sbVideoRecordFileName.Append(intChannel.ToString().PadLeft(2, '0') + "_"); sbVideoRecordFileName.Append(DateTime.Now.ToString("yyyyMMddHHmmss") + "_"); switch (videoType) { case Enum_VideoType.Axis: sbVideoRecordFileName.Append("06.bin"); break; case Enum_VideoType.XMaiVideo: sbVideoRecordFileName.Append("08.h264"); break; default: sbVideoRecordFileName.Append("99.mp4"); break; } return(sbVideoRecordFileName.ToString()); }
public bool SetVideoTalkInfo(VideoInfo videoInfo, VideoTalkChannelInfo talkChannel) { bool bolResult = false; Enum_VideoType Temp_videoType = videoInfo.VideoType; if (ProgParameter.TransitionEnable && Temp_videoType == Enum_VideoType.Unrecognized) { Temp_videoType = Transition.Transition_VideoTypeConvert.GetVideoType(videoInfo); } if (videoTalk.CurrentVideoInfo == null || videoTalk.CurrentVideoInfo.VideoType != videoInfo.VideoType) { TalkSetting ts = CommonMethod.Common.DeepCopy(CurrentTalkSetting); videoTalk = VideoTalkRelevant.GetVideoTalkValue(videoInfo); videoTalk.CurrentTalkSetting = ts; videoTalk.TalkStausChangedEvent += VideoTalk_TalkStausChangedEvent; videoTalk.StartTalkingEvent += startTalkingEvent; videoTalk.StartTalkedEvent += startTalkedEvent; videoTalk.StopTalkedEvent += stopTalkedEvent; } videoTalk.SetVideoTalkInfo(videoInfo, talkChannel); btnTalkback.Visible = CurrentTalkChannel.TalkbackEnable; btnSperak.Visible = CurrentTalkChannel.SperakEnable; btnInterception.Visible = CurrentTalkChannel.InterceptionEnable; return(bolResult); }
public void GetVideoRecordNameTest() { string strVideoNum = "000101"; int intChannel = 0; Enum_VideoType videoType = Enum_VideoType.XMaiVideo; string strFilePath = SK3000VideoRecordConvert.GetVideoRecordName(strVideoNum, intChannel, videoType); Assert.AreEqual("1", strFilePath); }
/// <summary> /// 获取视频录像名称 /// </summary> /// <param name="vInfo"></param> /// <param name="cInfo"></param> /// <returns></returns> public static string GetVideoRecordName(VideoInfo vInfo, CameraInfo cInfo) { Enum_VideoType Temp_videoType = vInfo.VideoType; if (ProgParameter.TransitionEnable && Temp_videoType == Enum_VideoType.Unrecognized) { Temp_videoType = Transition.Transition_VideoTypeConvert.GetVideoType(vInfo); } return(GetVideoRecordName(vInfo.DVSNumber, cInfo.Channel, Temp_videoType)); }
public static bool GetPTZControlByVideoType(Enum_VideoType videoType) { bool bolResult = true; switch (videoType) { case Enum_VideoType.SKNVideo: break; } return(bolResult); }
public static IVideoInfoSet GetVideoInfoSetObject(VideoInfo vInfo) { IVideoInfoSet videoInfoSet = new VideoInfoSet_Default(); Enum_VideoType enum_VideoType = Transition_VideoTypeConvert.GetVideoType(vInfo); switch (enum_VideoType) { case Enum_VideoType.SKVideo: videoInfoSet = new VideoInfoSet_Shike(); break; case Enum_VideoType.SKNVideo: videoInfoSet = new VideoInfoSet_SKN(); break; } return(videoInfoSet); }
private void InterfaceInit() { if (iv != null && iv.VideoPlayState == Enum_VideoPlayState.InPlayState) { iv.VideoClose(); } Enum_VideoType Temp_videoType = CurrentVideoInfo.VideoType; if (ProgParameter.TransitionEnable && Temp_videoType == Enum_VideoType.Unrecognized) { Temp_videoType = Transition.Transition_VideoTypeConvert.GetVideoType(CurrentVideoInfo); } if (iv == null) { IVideoPlayInit(Temp_videoType, CurrentVideoInfo, CurrentCameraInfo); } else { iv.VideoPlayCallbackEvent -= VideoPlayCallbackEvent; iv.VideoRecordStausChangedEvent -= videoRecordStausChangedEvent; iv.VideoStreamChangedEvent -= videoStreamChangedEvent; if (iv.CurrentVideoInfo.VideoType != Temp_videoType) { iv = null; IVideoPlayInit(Temp_videoType, CurrentVideoInfo, CurrentCameraInfo); } } if (iv != null) { iv.PicPlayMain = this.picPlayMain; iv.CurrentVideoInfo = CurrentVideoInfo; iv.CurrentCameraInfo = CurrentCameraInfo; iv.CurrentVideoPlaySet = currentVideoPlaySet; iv.VideoplayWindowWidth = picPlayMain.Width; iv.VideoplayWindowHeight = picPlayMain.Height; iv.VideoPlayCallbackEvent -= VideoPlayCallbackEvent; iv.VideoPlayCallbackEvent += VideoPlayCallbackEvent; iv.VideoPlayCallbackEvent += Iv_VideoPlayCallbackEvent; iv.VideoPlayStateChangedEvent -= Iv_VideoPlayStateChangedEvent; iv.VideoPlayStateChangedEvent += Iv_VideoPlayStateChangedEvent; iv.SoundStateChangedEvent += Iv_SoundStateChangedEvent; iv.VideoRecordStausChangedEvent += videoRecordStausChangedEvent; iv.VideoStreamChangedEvent += videoStreamChangedEvent; } }
public static IVideoTalk GetVideoTalkValue(VideoInfo vInfo) { IVideoTalk iv = new VideoTalk_Default(); Enum_VideoType Temp_videoType = Transition.Transition_VideoTypeConvert.GetVideoType(vInfo); switch (Temp_videoType) { case Enum_VideoType.Unrecognized: break; case Enum_VideoType.CloundSee: break; case Enum_VideoType.IPCWA: break; case Enum_VideoType.Ezviz: iv = new VideoTalk_Ezviz(); break; case Enum_VideoType.SKVideo: iv = new VideoTalk_Shike(); break; case Enum_VideoType.HuaMaiVideo: break; case Enum_VideoType.Axis: break; case Enum_VideoType.XMaiVideo: break; case Enum_VideoType.BlueSky: break; case Enum_VideoType.IMOS: break; case Enum_VideoType.SKNVideo: iv = new VideoTalk_SKNVideo(); break; case Enum_VideoType.HikDVR: iv = new VideoTalk_Hik(); break; case Enum_VideoType.HikDVRStream: iv = new VideoTalk_HikStream_Client(); break; case Enum_VideoType.TLiVideo: iv = new VideoTalk_TLi(); break; case Enum_VideoType.DaHuaVideo: break; case Enum_VideoType.ZLVideo: break; case Enum_VideoType.ZHSR: iv = new VideoTalk_ZHSR(); break; default: break; } return(iv); }
public static Enum_VideoType GetVideoType(string strVideoTypeName) { Enum_VideoType result = Enum_VideoType.Unrecognized; if (strVideoTypeName.EndsWith("ZW") || strVideoTypeName == "SK838") { //云视通设备 result = Enum_VideoType.CloundSee; } else if (strVideoTypeName.Contains("IPCWA") || strVideoTypeName.Contains("SK835")) { result = Enum_VideoType.IPCWA; } else if (strVideoTypeName.EndsWith("YS")) { result = Enum_VideoType.Ezviz; } else if (strVideoTypeName.EndsWith("HM")) //180117 华迈设备 { result = Enum_VideoType.HuaMaiVideo; } else if (strVideoTypeName == "AXISM3037") { result = Enum_VideoType.Axis; } else if (strVideoTypeName.EndsWith("XM") || strVideoTypeName == "SK838C" || strVideoTypeName == "SK836C") { result = Enum_VideoType.XMaiVideo; } else if (strVideoTypeName.StartsWith("BSRNR")) { result = Enum_VideoType.BlueSky; } else if (strVideoTypeName.Trim() == "SK8616H") { result = Enum_VideoType.SKNVideo; //181018 时刻h265 } else if (strVideoTypeName.StartsWith("SK86") || strVideoTypeName.StartsWith("SK519") || strVideoTypeName.StartsWith("SK8519") || (strVideoTypeName == "SK836")) { result = Enum_VideoType.SKVideo; } else if (strVideoTypeName.EndsWith("HA") || strVideoTypeName.EndsWith("HY") //浩云设备,与海康一样 ) { result = Enum_VideoType.HikDVR; } else if (strVideoTypeName.EndsWith("ZL")) { result = Enum_VideoType.ZLVideo; } else if (strVideoTypeName.EndsWith("DA")) { result = Enum_VideoType.DaHuaVideo; } else { result = Enum_VideoType.Unrecognized; } return(result); }
public void IVideoPlayInit(Enum_VideoType videoType, VideoInfo vInfo, CameraInfo cInfo) { switch (videoType) { case Enum_VideoType.HikDVR: if (vInfo.VideoConnectType == 3) //流媒体模式 { iv = new VideoPlay_HikStream(vInfo, cInfo); } else { iv = new VideoPlay_HikDVR(vInfo, cInfo); } break; case Enum_VideoType.HikDVRStream: if (vInfo.VideoConnectType == 2) //直连模式 { iv = new VideoPlay_HikDVR(vInfo, cInfo); } else { iv = new VideoPlay_HikStream(vInfo, cInfo); } break; case Enum_VideoType.BlueSky: iv = new VideoPlay_BuleSky(this.Handle, vInfo, cInfo); break; case Enum_VideoType.Axis: iv = new VideoPlay_AXIS(vInfo, cInfo); break; case Enum_VideoType.XMaiVideo: iv = new VideoPlay_XMai(vInfo, cInfo); break; case Enum_VideoType.Ezviz: iv = new VideoPlay_Ezviz(vInfo, cInfo); break; case Enum_VideoType.SKNVideo: iv = new VideoPlay_SKNVideo(vInfo, cInfo); break; case Enum_VideoType.ZLVideo: iv = new VideoPlay_ZLVideo(vInfo, cInfo); break; case Enum_VideoType.SKVideo: iv = new VideoPlay_Shike(vInfo, cInfo); break; case Enum_VideoType.DaHuaVideo: iv = new VideoPlay_DaHua(vInfo, cInfo); break; case Enum_VideoType.CloundSee: iv = new VideoPlay_CloundSee(vInfo, cInfo); break; case Enum_VideoType.HuaMaiVideo: iv = new VideoPlay_HuaMai(vInfo, cInfo); break; case Enum_VideoType.TLiVideo: iv = new VideoPlay_TLi(vInfo, cInfo); break; default: iv = null; break; } }
/// <summary> /// 通过类型名称获取类型枚举 /// </summary> /// <param name="strVideoTypeName">类型名称</param> /// <param name="GlobalSetEnable">系统设置使能</param> /// <param name="bolSKVideo">时刻使能</param> /// <param name="bolHikVideo">海康使能</param> /// <param name="bolDHVideo">大华使能</param> /// <returns></returns> public static Enum_VideoType GetVideoTypeByVideoTypeName(string strVideoTypeName, bool GlobalSetEnable = true, bool bolSKVideo = false, bool bolHikVideo = false, bool bolDHVideo = false) { if (GlobalSetEnable) { bolSKVideo = SK3000TransitionSet.SKVideoTypeAssignmentEnable; bolHikVideo = SK3000TransitionSet.HikVideoTypeAssignmentEnable; bolDHVideo = SK3000TransitionSet.DaHuaVideoTypeAssignmentEnable; } Enum_VideoType result = Enum_VideoType.Unrecognized; if (strVideoTypeName.EndsWith("ZW") || strVideoTypeName == "SK838") { //云视通设备 result = Enum_VideoType.CloundSee; } else if (strVideoTypeName.Contains("IPCWA") || strVideoTypeName.Contains("SK835")) { result = Enum_VideoType.IPCWA; } else if (strVideoTypeName.EndsWith("YS")) { result = Enum_VideoType.Ezviz; } else if (strVideoTypeName.EndsWith("HM")) //180117 华迈设备 { result = Enum_VideoType.HuaMaiVideo; } else if (strVideoTypeName == "AXISM3037") { result = Enum_VideoType.Axis; } else if (strVideoTypeName.EndsWith("XM") || strVideoTypeName == "SK838C" || strVideoTypeName == "SK836C") { result = Enum_VideoType.XMaiVideo; } else if (strVideoTypeName.StartsWith("BRSNR")) { result = Enum_VideoType.BlueSky; } else if (strVideoTypeName.Trim() == "SK8616H") { result = Enum_VideoType.SKNVideo; //181018 时刻h265 } else if (bolSKVideo && (strVideoTypeName.StartsWith("SK86") || strVideoTypeName.StartsWith("SK519") || strVideoTypeName.StartsWith("SK8519") || (strVideoTypeName == "SK836"))) { result = Enum_VideoType.SKVideo; } else if (bolHikVideo && ( strVideoTypeName.EndsWith("HA") || strVideoTypeName.EndsWith("HY") //浩云设备,与海康一样 ) ) { result = Enum_VideoType.HikDVR; } else if (strVideoTypeName.EndsWith("ZL")) { result = Enum_VideoType.ZLVideo; } else if (bolDHVideo && (strVideoTypeName.EndsWith("DA"))) { result = Enum_VideoType.DaHuaVideo; } else if (strVideoTypeName.StartsWith("SK87")) { result = Enum_VideoType.TLiVideo; } else { result = Enum_VideoType.Unrecognized; } return(result); }
public static string GetVideoRecordName(string strVideoNum, int intChannel, DateTime timVideoRecordStart, Enum_VideoType videoType) { //通用命令规则 770701_09_20171226174241_81.H264 //DNSNum_Channnel_起始时间(yyyyMMddHHmmss)_主机类型区分.后缀 StringBuilder sbVideoRecordFileName = new StringBuilder(); sbVideoRecordFileName.Append(strVideoNum + "_"); sbVideoRecordFileName.Append(intChannel.ToString().PadLeft(2, '0') + "_"); sbVideoRecordFileName.Append(timVideoRecordStart.ToString("yyyyMMddHHmmss") + "_"); switch (videoType) { case Enum_VideoType.SKNVideo: sbVideoRecordFileName.Append("83"); break; case Enum_VideoType.ZLVideo: sbVideoRecordFileName.Append("82"); break; case Enum_VideoType.DaHuaVideo: sbVideoRecordFileName.Append("31"); break; default: sbVideoRecordFileName.Append(((int)videoType).ToString().PadLeft(2, '0')); break; } switch (videoType) { case Enum_VideoType.Axis: sbVideoRecordFileName.Append(".bin"); break; case Enum_VideoType.HikDVR: sbVideoRecordFileName.Append(".mp4"); break; case Enum_VideoType.XMaiVideo: case Enum_VideoType.SKVideo: case Enum_VideoType.SKNVideo: sbVideoRecordFileName.Append(".H264"); break; case Enum_VideoType.BlueSky: sbVideoRecordFileName.Append(".bsr"); break; case Enum_VideoType.ZLVideo: case Enum_VideoType.DaHuaVideo: sbVideoRecordFileName.Append(".dav"); break; case Enum_VideoType.TLiVideo: sbVideoRecordFileName.Append(".ifv"); break; default: sbVideoRecordFileName.Append(".mp4"); break; } return(sbVideoRecordFileName.ToString()); }
/// <summary> /// 获取视频录像名称 /// </summary> /// <param name="strVideoNum"></param> /// <param name="intChannel"></param> /// <param name="videoType"></param> /// <returns></returns> public static string GetVideoRecordName(string strVideoNum, int intChannel, Enum_VideoType videoType) { return(GetVideoRecordName(strVideoNum, intChannel, DateTime.Now, videoType)); }