视频卡顿 [问题点数:20分]

Bbs1
本版专家分:0
结帖率 0%
Bbs1
本版专家分:0
Bbs6
本版专家分:9825
Blank
红花 2019年2月 C++ Builder大版内专家分月排行榜第一
2017年12月 C++ Builder大版内专家分月排行榜第一
2016年12月 C++ Builder大版内专家分月排行榜第一
2016年11月 C++ Builder大版内专家分月排行榜第一
2016年9月 C++ Builder大版内专家分月排行榜第一
2016年8月 C++ Builder大版内专家分月排行榜第一
Bbs1
本版专家分:0
解决Safari在线观看视频卡顿的问题
首先说明,这里所说的卡顿并非是由于网速和当前电脑的flash player没有更新引起的。       如果您电脑硬件软件和网络都没有问题,有些网站在线观看视频依旧会有卡顿(视频画面卡主,声音依然正常,也就是不同步)。比如腾讯NBA在线直播,没有黑的意思啊。可以使用如下解决方法:       打开终端,输入:              sudo sh -c 'echo "RTMFPP2
PJSIP视频卡顿的原因以及解决办法
PJSIP<em>视频卡</em>顿的原因以及解决办法 现象:网络状况很好,没有丢包,视频也不会花屏,但是不流畅卡顿很厉害,这个时候作为用户是崩溃的。 分析:花屏和卡顿两个现象是不一样的原因造成。 1、花屏是解码宏块出现错误导致,抛开解码器自身可能存在的问题,直接原因99%都是数据错误造成,而数据错误的直接原因就是网络丢包,这里不涉及暂不讨论。 2、视频不流畅卡顿,可能的原因有几个: (1)网络抖动严...
使用ijkplayer播放4k视频卡顿的解决方法
使用ijkplayer播放4k<em>视频卡</em>顿的解决方法,使用硬解码 ijkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, &quot;mediacodec&quot;, 1);  
Android_观看视频卡顿原因及解决办法
在LiveView界面观看视频时,有时会出现画面卡顿的情况,有一种情况可能是只解了I帧的原因。在调用startShow(int avChannel,  boolean clearBuf,   boolean runSoftwareDecode,  boolean isDropFrame)方法时将isDropFrame设置成了true。 解决方法:将isDropFrame设置为false即可。
安卓应用播放视频卡顿的原因解析及解决办法
最近做一个播放视频的小应用,安装到安卓一体机触摸屏上(安卓版本4.4.4),但是视频很卡,效果很不好,视频源也不大,但就是卡。通过一天的搜索与打包实践,整理以下内容供参考 1.老版本的做视频播放用movieTexture,可以下载EasyMovieTexture插件试用一下,据说支持安卓视频播放,但试用打包到机器上播放不出来,另外使用过程中需要将视频源转换成ogg或ogv格式,将生成的图片赋给Ra...
webrtc视频卡顿分析-编码发送
编码流程伪代码 TaskQueue::ProcessQueuedMessages { ViEEncoder::EncodeTask::Run { if (--vie_encoder_-&gt;posted_frames_waiting_for_encode_ == 0) //可能丢帧,编码不及时 { ViEEncoder::EncodeVideoFrame ...
网络视频卡顿?MIT利用人工智能找到了解决方法
点击关注,抢跑AI世代【AI世代编者按】缓冲和马赛克是影响流媒体视频服务的最主要问题。这破坏了观众体验,不利于广告主展示广告,也给流媒体服务带来了技术难题。来自麻省理工学院计算科学与人工智能实验室(CSAIL)的神经网络或许可以解决这方面的问题。在流媒体视频的播放过程中,数据并非一次性传入你的电脑,因为这可能会消耗掉所有的带宽。因此,数据被分成小块,并按顺序来传送。然而为了确保视频有足够高的质量,
请问tableView 播放多个视频卡顿怎么解决
视频播放用的是avplayer 想实现微信小视频的效果,但是tableView滑动的时候特别卡,怎么破。求大神解答
视频卡 pci6140
视频采集卡 最近视频采集卡的驱动都很难找啊
视频卡软件
<em>视频卡</em>软件
视频卡驱动
采集卡驱动
SDK2000视频卡
SDK2000<em>视频卡</em>驱动及安装说明__BY HBL 一台计算机上安装两张SDK2000<em>视频卡</em>两种方法
视频卡-网络监控故障诊断
<em>视频卡</em>-网络监控故障诊断 2011年12月19日   问[b]&amp;#65279;[/b]:我用IE在远程监控,我已经按说明书所说的那样设置好了,但IE远程连接是,出不来远程监控界面与页面,提   示无法显示网页,找不到服务器,怎么办?     答:首先确保网络连接正常,假如你的DVR电脑IP地址为:218.17.205.74,检查步骤如下:.     1.点“开始”---“程序...
海康视频卡动态库
using System; using System.Collections.Generic; using System.Text; using System.ComponentModel; using System.Data; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices; namespace DS40XXSDK { #region enum /// /// 板卡类型 /// public enum BOARD_TYPE_DS : uint { DS400XM = 0, //M卡 DS400XH = 1, //H卡 DS4004HC = 2, //4004HC DS4008HC = 3, //4008HC DS4016HC = 4, //4016HC DS4001HF = 5, //4001HF DS4004HF = 6, //4004HF DS4002MD = 7, //4002MD DS4004MD = 8, //4004MD DS4016HCS = 9, //4016HCS DS4002HT = 10, //4002HT DS4004HT = 11, //4004HT DS4008HT = 12, //4008HT DS4004HC_PLUS = 13, //4004HC+ DS4008HC_PLUS = 14, //4008HC+ DS4016HC_PLUS = 15, //4016HC+ DS4008HF = 16, //4008HF DS4008MD = 17, //4008MD DS4008HS = 18, //4008HS DS4016HS = 19, //4016HS INVALID_BOARD_TYPE = 0xffffffff, } /// /// 视频预览格式 /// public enum TypeVideoFormat { vdfRGB8A_233 = 0x00000001, vdfRGB8R_332 = 0x00000002, vdfRGB15Alpha = 0x00000004, /// /// 16位RGB视频压缩格式 /// vdfRGB16 = 0x00000008, /// /// 24位RGB视频压缩格式 /// vdfRGB24 = 0x00000010, vdfRGB24Alpha = 0x00000020, vdfYUV420Planar = 0x00000040, /// /// YUV422视频压缩格式 /// vdfYUV422Planar = 0x00000080, vdfYUV411Planar = 0x00000100, vdfYUV420Interspersed = 0x00000200, vdfYUV422Interspersed = 0x00000400, vdfYUV411Interspersed = 0x00000800, vdfYUV422Sequence = 0x00001000, /* U0, Y0, V0, Y1: For VO overlay */ vdfYUV422SequenceAlpha = 0x00002000, /* U0, Y0, V0, Y1: For VO overlay, with low bit for alpha blending */ vdfMono = 0x00004000, /* 8 bit monochrome */ vdfYUV444Planar = 0x00008000, }; /// /// 视频制式 /// public enum VideoStandard_t : uint { /// /// 无视频信号 /// StandardNone = 0x80000000, /// /// NTSC制式 /// StandardNTSC = 0x00000001, /// /// PAL制式 /// StandardPAL = 0x00000002, StandardSECAM = 0x00000004, } ; /// /// 编码图像分辨率 /// public enum PictureFormat_t { ENC_CIF_FORMAT = 0, ENC_QCIF_FORMAT = 1, ENC_2CIF_FORMAT = 2, ENC_4CIF_FORMAT = 3, ENC_QQCIF_FORMAT = 4, ENC_CIFQCIF_FORMAT = 5, ENC_CIFQQCIF_FORMAT = 6, ENC_DCIF_FORMAT = 7 }; /// /// 码流控制方式 /// public enum BitrateControlType_t { /// /// 变码率 /// brCBR = 0, /// /// 恒定码率 /// brVBR = 1, }; public enum FrameType_t { PktError = 0, PktIFrames = 0x0001, PktPFrames = 0x0002, PktBBPFrames = 0x0004, PktAudioFrames = 0x0008, PktMotionDetection = 0x00010, PktDspStatus = 0x00020, PktOrigImage = 0x00040, PktSysHeader = 0x00080, PktBPFrames = 0x00100, PktSFrames = 0x00200, PktSubIFrames = 0x00400, PktSubPFrames = 0x00800, PktSubBBPFrames = 0x01000, PktSubSysHeader = 0x02000 }; #endregion #region struct /// /// 板卡信息结构体 /// public struct DS_BOARD_DETAIL { /// /// 板卡类型 /// BOARD_TYPE_DS type; /// /// 序列号 /// BYTE sn[16]; /// [MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)] byte[] sn; /// /// 板卡包含的DSP个数 /// uint dspCount; /// /// 板卡上第一个DSP的索引 /// uint firstDspIndex; /// /// 板卡包含的编码通道个数 /// uint encodeChannelCount; /// /// 板卡上第一个编码通道的索引 /// uint firstEncodeChannelIndex; /// /// 板卡包含的解码通道个数 /// uint decodeChannelCount; /// /// 板卡上第一个解码通道的索引 /// uint firstDecodeChannelIndex; /// /// 板卡包含的视频输出通道个数 /// uint displayChannelCount; /// /// 板卡上第一个视频输出通道的索引 /// uint firstDisplayChannelIndex; uint reserved1; uint reserved2; uint reserved3; /// /// 硬件版本,format:major.minor.build,major:bit 16-19,minor: bit 8-15,build: bit 0-7 /// uint version; } /// /// DSP信息结构体 /// public struct DSP_DETAIL { /// /// 此DSP所包含的编码通道个数 /// uint encodeChannelCount; /// /// 此DSP上第一个编码通道在所有编码通道中的索引 /// uint firstEncodeChannelIndex; /// /// 此DSP所包含的解码通道个数 /// uint decodeChannelCount; /// /// 此DSP上第一个解码通道在所有解码通道中的索引 /// uint firstDecodeChannelIndex; /// /// 此DSP包含的显示通道个数 /// uint displayChannelCount; /// /// 此DSP上第一个显示通道在所有显示通道中的索引 /// uint firstDisplayChannelIndex; uint reserved1; uint reserved2; uint reserved3; uint reserved4; } /// /// 特殊功能结构体 /// public struct CHANNEL_CAPABILITY { /// /// 音频预览 /// byte[] bAudioPreview; /// /// 报警信号 /// byte[] bAlarmIO; /// /// 看家狗 /// byte[] bWatchDog; } /// /// 版本信息 /// public struct PVERSION_INFO { /// /// DSP版本号,DSP的BUILD号,用于软件升级时标明该版本的最后修改时间 /// UInt64 DspVersion, DspBuildNum; /// /// Driver版本号,Driver的BUILD号,用于软件升级时标明该版本的最后修改时间 /// UInt64 DriverVersion, DriverBuildNum; /// /// SDK版本号,SDK的BUILD号,用于软件升级时标明该版本的最后修改时间 /// UInt64 SDKVersion, SDKBuildNum; } /// /// 显示窗口内的矩形区域 /// //[StructLayout(LayoutKind. //public struct RECT //{ // public Int32 left; // public Int32 top; // public Int32 right; // public Int32 bottom; //} /// /// 帧统计信息结构体 /// public struct PFRAMES_STATISTICS { /// /// 视频帧 /// UInt64 VideoFrames; /// /// 音频帧 /// UInt64 AudioFrames; /// /// 丢失帧 /// UInt64 FramesLost; /// /// 丢失的码流(字节) /// UInt64 QueueOverflow; /// /// 当前的帧率(bps) /// UInt64 CurBps; } /// /// 版本信息结构体 /// public struct PHW_VERSION { /// /// DSP程序的版本号和Build号 /// UInt64 DspVersion, DspBuildNum; /// /// 驱动程序的版本号和Build号 /// UInt64 DriverVersion, DriverBuildNum; /// /// SDK 的版本号和Build号 /// UInt64 SDKVersion, SDKBuildNum; } /// /// 系统时间 /// public struct SYSTEMTIME { ushort wYear; ushort wMonth; ushort wDayOfWeek; ushort wDay; ushort wHour; ushort wMinute; ushort wSecond; ushort wMilliseconds; } #endregion #region delegate /// /// 原始图像流设置 /// /// typedef void (*IMAGE_STREAM_CALLBACK)(UINT channelNumber,void *context); /// /// 通道号 /// 设备上下文 public delegate void IMAGE_STREAM_CALLBACK(uint channelNumber, IntPtr context); /// /// 编码数据流直接读取回调函数 /// /// typedef int (*STREAM_DIRECT_READ_CALLBACK)(UInt64 channelNumber,void *DataBuf,DWORD Length,int FrameType,void *context); /// /// 通道号 /// 缓冲区地址 /// 缓冲区长度 /// 缓冲区数据帧类型 /// 设备上下文 /// [UnmanagedFunctionPointer(CallingConvention.Cdecl)] //public delegate int STREAM_DIRECT_READ_CALLBACK(uint channelNumber, byte[] DataBuf, uint Length, FrameType_t FrameType, IntPtr context); public delegate int STREAM_DIRECT_READ_CALLBACK(int channelNumber, IntPtr DataBuf, int Length, FrameType_t FrameType, IntPtr context); //public unsafe delegate int STREAM_DIRECT_READ_CALLBACK(uint channelNumber, void * DataBuf, uint Length, int FrameType, IntPtr context); /// /// 直接读取码流回调函数 /// /// typedef int (*STREAM_READ_CALLBACK)(UInt64 channelNumber, void *context) /// /// 通道号 /// 设备上下文 /// public delegate int STREAM_READ_CALLBACK(UInt64 channelNumber, IntPtr context); /// /// 移动侦测结果回调函数 /// /// typedef void (*MOTION_DETECTION_CALLBACK)(UInt64 channelNumber, BOOL bMotionDetected,void *context) /// /// 通道号 /// /// 移动侦测发生标志,如果当前通道所设置的移动侦测 /// 区域内产生了移动侦测,则被置为True;如果当前通道所设置的移动侦测区域内自上 /// 一次产生移动侦测后delay秒内没有发生移动侦测,则被置为False。 /// /// 设备上下文 public delegate void MOTION_DETECTION_CALLBACK(UInt64 channelNumber, bool bMotionDetected, IntPtr context); /// /// 画图回调函数 /// /// #define DRAWFUN(x) void (CALLBACK* x)(Int32 nPort,HDC hDc,Int32 nUser) /// /// 通道号 /// offscreen表面设备上下文,相当于显示窗口中的DC /// 用户数据 public delegate void DrawFun(Int32 nPort, IntPtr HDC, Int32 nUser); /// /// 解码回调函数 /// /// typedef void (*DECODER_VIDEO_CAPTURE_CALLBACK)(UINT nChannelNumber, void *DataBuf,UINT width,UINT height,UINT nFrameNum,UINT nFrameTime, SYSTEMTIME *pFrameAbsoluteTime,void *context) /// /// 解码通道句柄 /// 缓冲区地址 /// 图像宽度 /// 图像高度 /// 捕获的当前帧的序号 /// 捕获的当前帧的相对时间,单位:毫秒 /// 捕获的当前帧的绝对时间 /// 设备上下文 public delegate void DECODER_VIDEO_CAPTURE_CALLBACK(uint nChannelNumber, IntPtr DataBuf, uint width, uint height, uint nFrameNum, uint nFrameTime, SYSTEMTIME pFrameAbsoluteTime, IntPtr context); /// /// 创建索引完成回调函数 /// /// typedef void (*FILE_REF_DONE_CALLBACK)(UINT nChannel,UINT nSize) /// /// 通道号 /// 索引大小(暂时无效,以后可以增加索引导出、导入功能) public delegate void FILE_REF_DONE_CALLBACK(uint nChannel, uint nSize); #endregion /// /// DS40xxSDK.dll /// public class HikVisionSDK { /// /// 状态 /// public static readonly List state = new List(new string[]{ "", "正在打开", "音频信号丢失", "视频信号丢失", "有物体移动", //0-4 "自动分割录像", "开始录像", "停止录像", "启动声音监听", "停止声音监听", //5-9 "启动视频预览", "停止视频预览", "启动录像", "停止录像", "启动视频报警", //10-14 "关闭视频报警", "启动音频报警", "停止音频报警", "启动移动侦测", "停止移动侦测", //15-19 "启动视频遮挡", "关闭视频遮挡", "开始屏幕输出", "停止屏幕输出", "启动视频LOGO", //20-24 "停止视频LOGO", "开始视频OSD", "停止视频OSD", "切换为黑白视频", "切换为彩色视频", //25-29 "切换为黑屏显示", "切换为白屏显示", "视频色彩复位", "启动全屏显示", "采集卡已经加载", //30-34 "采集卡已经卸截", "视频服务启动成功", "视频服务已停止", "静音", "音量恢复", //35-39 "云台控制命令发送", "系统出现未知错误", "录像文件大小", "配置端口号成功", "连接服务端成功", //40-44 "正在连接", "开始接收图象", "异常退出", "接收完毕,退出", "无法联系服务端", //45-49 "服务端拒绝访问", "无效", "停止客户端连接", "图像抓取成功", "初始化服务端网络连接成功", //50-54 "视频服务启动失败", "退出全屏预览", "", "", "" //55-59 }); //可以用新版函数替代功能或者无效的API //GetTotalChannels:可用GetEncodeChannelCount替代 //GetTotalDSPs:可用GetDspCount 替代 //SetupDateTime:4.0版本起无效 //HW_GetChannelNum:无效,请使用GetBoardDetail //HW_GetDeviceSerialNo:无效,请使用GetBoardDetail //HW_SetVideoOutStandard:无效,请使用SetDisplayStandard或SetDefaultVideoStandard //HW_SetDspDeadlockMsg:无效 //HW_ResetDsp:无效 //HW_SetDisplayPara:DISPLAY_PARA结构中bToVideoOut无效,MD卡模拟视频输出功能 //已经整合到视频矩阵之中。 #region 流类型宏定义 /// /// 视频流 /// #define STREAM_TYPE_VIDEO /// private const int STREAM_TYPE_VIDEO = 1; /// /// 音频流 /// #define STREAM_TYPE_AUDIO /// private const int STREAM_TYPE_AUDIO = 2; /// /// 音视频复合流 /// #define STREAM_TYPE_AVSYNC /// private const int STREAM_TYPE_AVSYNC = 3; #endregion #region 1.板卡初始化及卸载 /// /// 1.1初始化DSP InitDSPs /// 说 明: 初始化系统中每一块板卡,应在应用软件程序启动时完成。如果返回值为0则表 /// 明初始化失败,可能没有找到相应的DSP软件模块。 /// /// int __stdcall InitDSPs() /// /// 系统内可用的编码通道个数。 [DllImport("DS40xxSDK.dll")] public static extern int InitDSPs(); /// /// 1.2卸载DSP DeInitDSPs /// 说 明: 关闭每一块板卡上的功能,应在应用软件程序退出时调用。 /// /// int __stdcall DeInitDSPs() /// /// 0 [DllImport("DS40xxSDK.dll")] public static extern int DeInitDSPs(); #endregion #region 2.板卡信息获取 /// /// 2.1获取系统中板卡的张数GetBoardCount /// 说 明: 获取系统中所有板卡的张数,包含编码卡和解码卡。 /// /// unsigned int __stdcall GetBoardCount() /// /// 系统中板卡的总张数。 [DllImport("DS40xxSDK.dll")] public static extern uint GetBoardCount(); /// /// 2.2获取系统中DSP的个数GetDspCount /// 说 明: 获取系统中所有板卡的DSP的个数。 /// /// unsigned int __stdcall GetDspCount() /// /// 系统中DSP的总个数 [DllImport("DS40xxSDK.dll")] public static extern uint GetDspCount(); /// /// GetTotalDSPs:可用GetDspCount 替代 /// 获得实际可用DSP /// /// [DllImport("DS40xxSDK.dll")] public static extern int GetTotalDSPs(); /// /// 2.3获取系统中编码通道的个数GetEncodeChannelCount /// 说 明: 获取系统中所有编码卡的编码通道总个数,包含H系列和HC系列编码卡。 /// /// unsigned int __stdcall GetEncodeChannelCount() /// /// 系统中编码通道的个数 [DllImport("DS40xxSDK.dll")] public static extern uint GetEncodeChannelCount(); /// /// 2.4获取系统中解码通道的个数GetDecodeChannelCount /// 说 明: 获取系统中MD卡的解码通道个数 /// /// unsigned int __stdcall GetDecodeChannelCount() /// /// [DllImport("DS40xxSDK.dll")] public static extern uint GetDecodeChannelCount(); /// /// 2.5获取系统中解码显示通道的个数GetDisplayChannelCount /// 说 明: 获取系统中MD卡显示通道的个数,即模拟视频输出通道的个数 /// /// unsigned int __stdcall GetDisplayChannelCount() /// /// 系统中显示通道的个数 [DllImport("DS40xxSDK.dll")] public static extern uint GetDisplayChannelCount(); /// /// 2.6获取板卡详细信息GetBoardDetail /// 说 明: 获取某张板卡的详细信息 /// /// int __stdcall GetBoardDetail(UINT boardNum,DS_BOARD_DETAIL *pBoardDetail) /// /// 板卡索引 /// 板卡信息 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int GetBoardDetail(uint boardNum, ref DS_BOARD_DETAIL pBoardDetail); /// /// 2.7获取DSP详细信息GetDspDetail /// 说 明: 获取某个DSP的详细信息 /// /// int __stdcall GetDspDetail(UINT dspNum,DSP_DETAIL *pDspDetail) /// /// DSP索引 /// DSP信息 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int GetDspDetail(uint dspNum, ref DSP_DETAIL pDspDetail); /// /// 2.8获取板卡型号及序列号信息GetBoardInfo /// 说 明: 获取板卡的型号及序列号信息 /// /// int __stdcall GetBoardInfo(HANDLE hChannelHandle, UInt64 *BoardType, UCHAR *SerialNo) /// /// 通道句柄 /// 板卡型号 /// /// 板卡ID号, 内容为板卡序列号的ASCII的数值,次序为SerialNo[0] 对应最高位, /// SerialNo[11]对应最低位。比如卡号为“40000002345”的值对应为 4,0,0,0,0,1,0,0,2,3,4,5 的整形数组。 /// /// 成功为0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int GetBoardInfo(IntPtr hChannelHandle, UInt64 BoardType, byte[] SerialNo); /// /// 2.9获取板卡特殊功能信息GetCapability /// 说 明: 获取板卡特殊功能信息 /// /// int __stdcall GetCapability(HANDLE hChannelHandle, CHANNEL_CAPABILITY *Capability) /// /// 通道句柄 /// 特殊功能 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int GetCapability(IntPtr hChannelHandle, CHANNEL_CAPABILITY Capability); /// /// 2.10获取板卡SDK信息GetSDKVersion /// 说 明: 获取当前所使用的DSP、Driver、SDK版本号 /// /// int __stdcall GetSDKVersion(PVERSION_INFO VersionInfo) /// /// 版本信息 /// 成功返回0;失败返回错误号。 [DllImport("DS40xxSDK.dll")] public static extern int GetSDKVersion(ref PVERSION_INFO VersionInfo); /// /// 2.11获取板卡SDK及DSP错误报告GetLastErrorNum*,此函数只对H卡有效 /// 说 明: 获取SDK及DSP错误报告。此函数只对H卡有效,用于HC卡上返回0且无效 /// /// int __stdcall GetLastErrorNum(HANDLE hChannelHandle, UInt64 *DspError, UInt64 *SdkError) /// /// 通道句柄 /// DSP错误 /// SDK错误 /// DSP错误信息、SDK错误信息 [DllImport("DS40xxSDK.dll")] public static extern int GetLastErrorNum(IntPtr hChannelHandle, ref int DspError, ref int SdkError); #endregion #region 3.编码卡API #region 3.1通道打开及关闭 /// /// 3.1.1打开通道ChannelOpen /// 说 明: 打开通道,获取编码通道的操作句柄,与通道相关的操作需使用相对应的句柄。 /// /// HANDLE __stdcall ChannelOpen(int ChannelNum) /// /// 通道号(从0开始) /// 成功返回有效句柄(值可能为0);失败返回0xFFFFFFFF。 [DllImport("DS40xxSDK.dll")] public static extern IntPtr ChannelOpen(int ChannelNum); /// /// 3.1.2关闭通道ChannelClose /// 说 明: 关闭通道,释放相关资源 /// /// int __stdcall ChannelClose(HANDLE hChannelHandle) /// /// 通道句柄 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int ChannelClose(IntPtr hChannelHandle); #endregion #region 3.2视频预览 #region 3.2.1 Overlay预览模式 // 释 义: overlay预览模式 //Overlay通常被称为重叠页面或者是覆盖层,是一种需要特定的硬件支持的页面,通常 //被用于显示实时视频于主页面之上,而不需要Blit操作到主页面或用任何方法改变主页面的 //内容。使用该方式进行预览可以提高预览的画质和降低CPU利用率。 /// /// 3.2.1.1设置视频预览模式SetPreviewOverlayMode /// 说 明: SDK自3.2版本起在部分显卡中实现了HC卡以overlay方式预览的功能(此功 /// 能不支持与H卡混插的状态下),可以提高预览的画质和降低CPU利用率。当预览画面小 /// 于704*576时,需要调用该函数来启动overlay模式,如不设置则自动切换到offscreen模式 /// 进行预览显示,当预览画面大于704*576时,SDK自动切换到overlay模式 /// /// int __stdcall SetPreviewOverlayMode(BOOL bTrue) /// /// 是否设置overlay预览方式,也适用于MD卡 /// 0表示显卡支持板卡的overlay预览方式;其他值表示显卡不支持 [DllImport("DS40xxSDK.dll")] public static extern int SetPreviewOverlayMode(bool bTrue); /// /// 3.2.1.2设置overlay关键色SetOverlayColorKey /// 注意:需要在StartVideoPreview前调用该函数。 /// 说 明: 板卡在显示范围小于704*576时,调用SetPreviewOverlayMode可以开启overlay /// 预览模式,需调用SetOverlayColorKey设置overlay关键色;当显示范围大于704*576时, /// 板卡自动切换到overlay预览模式,关键色默认设置为RGB(10,10,10),也可调用 /// SetOverlayColorKey修改关键色。在这两种情况下,都需要将显示窗口的底色设置为和关键 /// 色相一致。否则图像将难以显示。 /// /// /// int __stdcall SetOverlayColorKey(COLORREF DestColorKey) /// /// overlay关键色参数(RGB(*,*,*)) /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetOverlayColorKey(int DestColorKey); //public static extern int SetOverlayColorKey(Color DestColorKey); /// /// 3.2.1.3恢复当前丢失的表面RestoreOverlay /// 说 明: 恢复当前丢失的表面,例如:当系统按下CTRL+ALT+DEL时系统的OVERLAY /// 表面会被强制关闭,调用该函数可以恢复OVERLAY表面 /// /// int __stdcall RestoreOverlay() /// /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int RestoreOverlay(); #endregion #region 3.2.2 开启及停止视频预览 /// /// 3.2.2.1开启视频预览StartVideoPreview /// 说 明: 启动视频预览,调用SetPreviewOverlayMode后,可进行overlay模式预览,否则, /// 将默认采用offscreen模式预览。当画面大于704*576时,SDK自动切换到overlay预览模式。 /// /// int __stdcall StartVideoPreview(HANDLE hChannelHandle,HWND WndHandle, RECT *rect,BOOLEAN bOverlay, int VideoFormat, int FrameRate) /// /// 通道句柄 /// 显示窗口句柄 /// /// 显示窗口内的矩形区域 /// Rect.right 必须为8的倍数 /// Rect.bottom必须为16的倍数 /// /// 是否启用Overlay预览模式 /// 视频预览格式(目前无效) /// 视频预览帧率(PAL:1-25,NTSC:1-30) /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int StartVideoPreview(IntPtr hChannelHandle, IntPtr WndHandle, ref Rectangle rect, bool bOverlay, int VideoFormat, int FrameRate); //public static extern int StartVideoPreview(IntPtr hChannelHandle, IntPtr WndHandle, ref RECT rect, bool bOverlay, int VideoFormat, int FrameRate); /// /// 3.2.2.2停止视频预览StopVideoPreview /// 说 明: 停止视频预览 /// /// int __stdcall StopVideoPreview(HANDLE hChannelHandle) /// /// 通道句柄 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int StopVideoPreview(IntPtr hChannelHandle); #endregion #region 3.2.3 视频参数的设置及获取 /// /// 3.2.3.1设置视频参数SetVideoPara /// 说 明: 设置视频参数 /// /// int __stdcall SetVideoPara(HANDLE hChannelHandle, int Brightness, int Contrast, int Saturation, int Hue) /// /// 通道句柄 /// 亮度值(0-255) /// 对比度(0-127) /// 饱和度(0-127) /// 色调(0-255) /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetVideoPara(IntPtr hChannelHandle, int Brightness, int Contrast, int Saturation, int Hue); /// /// 3.2.3.2获取视频参数GetVideoPara /// 说 明: 获取视频参数 /// /// int __stdcall GetVideoPara(HANDLE hChannelHandle, VideoStandard_t *VideoStandard, int*Brightness, int *Contrast, int *Saturation, int *Hue) /// /// 通道句柄 /// 视频制式 /// 亮度指针值(0-255) /// 对比度指针值(0-127) /// 饱和度指针值(0-127) /// 色调指针值(0-255) /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int GetVideoPara(IntPtr hChannelHandle, VideoStandard_t VideoStandard, out int Brightness, out int Contrast, out int Saturation, out int Hue); #endregion #endregion #region 3.3视频信号设置(制式、状况、输入位置等) /// /// 3.3.1设置视频制式SetVideoStandard,此函数只对H卡有效 /// 说 明: 设置视频制式,在某一制式的摄像头已经接好的情况下启动系统时可不必调用该 /// 函数,如果没有接摄像头的情况下启动系统然后再接NTSC制式的摄像头则必须调用该函 /// 数,或者中途调换不同制式的摄像头也必须调用该函数。 /// /// int __stdcall SetVideoStandard(HANDLE hChannelHandle, VideoStandard_t VideoStandard) /// /// 通道句柄 /// 视频制式 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetVideoStandard(IntPtr hChannelHandle, VideoStandard_t VideoStandard); /// /// 3.3.2设置系统默认的视频制式SetDefaultVideoStandard /// 注意:该函数只能在系统初始化(InitDSPs)之前运行,否则无效 /// 说 明: 设置系统默认的视频制式,系统中所有的视频输入通道如果无视频输入或者在系 /// 统启动的时候,通道会按照所设置的系统默认视频制式进行处理。 /// /// int __stdcall SetDefaultVideoStandard(VideoStandard_t VideoStandard) /// /// 视频制式,默认为PAL /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetDefaultVideoStandard(VideoStandard_t VideoStandard); /// /// 3.3.3设置视频信号灵敏度SetVideoDetectPrecision /// 说 明: 设置视频信号检测的灵敏度。如果视频信号的强度比较弱,或者信号通断的切换 /// 比较频繁,会出现“无视频信号”的提示字样,为了避免提示字样影响图像,可以更改视频 /// 信号检测的灵敏度。灵敏度取值越大,检测精度越低,出现“无视频信号”提示字样的频率 /// 越低。当将value值设置为0xffffffff时,将不会再出现“无视频信号”的提示字样。 /// /// int __stdcall SetVideoDetectPrecision(HANDLE hChannel,unsigned int value) /// /// 通道句柄 /// 灵敏度。取值范围:0-100,默认为20 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetVideoDetectPrecision(IntPtr hChannel, uint value); /// /// 3.3.4获取视频信号输入情况GetVideoSignal /// 说 明: 获取视频信号的输入情况,用于视频丢失报警 /// /// int __stdcall GetVideoSignal(HANDLE hChannelHandle) /// /// 通道句柄 /// 信号正常返回0;返回其他值说明信号异常或有错误 [DllImport("DS40xxSDK.dll")] public static extern int GetVideoSignal(IntPtr hChannelHandle); /// /// 3.3.5调整视频信号输入位置SetInputVideoPosition /// 说 明: 设置视频信号的输入位置。(x,y)为系统处理图像的左上角在摄像机输入的原 /// 始图像中的坐标,某些摄像机输入的图像在预览时可能在左边会有黑边,可以通过此函数进 /// 行调节,x必须设置为2的整数倍。(x,y)的取值和摄像机的型号有关,如果指定的值和 /// 摄像机的输入参数不匹配,可能会导致图像静止、水平垂直方向滚动或者黑屏,请谨慎使用。 /// /// int __stdcall SetInputVideoPosition(HANDLE hChannel,UINT x,UINT y) /// /// 通道句柄 /// X轴坐标,默认值为8 /// Y轴坐标,默认值为2 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetInputVideoPosition(IntPtr hChannel, uint x, uint y); /// /// 3.3.6设置反隔行变换及强度SetDeInterlace /// 说 明: 设置是否采用反隔行算法,已经采用反隔行时的强度 /// /// 释 义: 反隔行变换 /// 如果该通道的图像需要进行4CIF的预览或编码,此时的图像中会同时包含奇、偶两 /// 场的数据,由于奇场图像和偶场图像不同步,导致图像中运动的部分发生错位、边缘模糊, /// 此时需要对图像进行反隔行变换来去掉这种现象。如果用户能够确定使用的是逐行扫描格式 /// 的摄像机,或者主要应用在静止场景,此时可以关掉反隔行变换功能,或者降低强度,这样 /// 可以提高系统运行效率,并降低反隔行变换对图像质量带来的损失。 /// /// int __stdcall SetDeInterlace(HANDLE hChannelHandle,UINT mode,UINT level) /// /// 通道句柄 /// /// 0表示该通道不进行反隔行变换,此时level参数无效; /// 1表示使用旧的算法; /// 2表示使用默认算法(系统默认值)。 /// /// /// mode=1时有效,其它时无效。 /// 0-10,反隔行变换的强度逐渐加强,0最弱,对图像的损失最小,10最强,对图像的损失最大。 /// /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetDeInterlace(IntPtr hChannelHandle, uint mode, uint level); #endregion #region 3.4视频编码参数设置 // 释 义: 双编码功能(主、子通道) // 对一路视频图像进行两路视频编码,两路视频可以有不同的码流类型、不同分辨率、不 //同码率等。3.0版本对双编码功能做了增强,子通道的所有参数都可以任意设置。 //双编码中主通道和子通道唯一的区别在于:子通道占用的系统资源比主通道少,优先级 //比主通道低。当系统忙时,会尽量保证主通道编码,并先从子通道开始丢帧。由于占用资源 //少,因此可以利用子通道来实现多路高分辨率的非实时编码。例如:可以把DS-4000HC中 //的每个子通道全部设置为4CIF分辨率(SetSubStreamType),而不使用主通道编码,这样就 //可以实现全部通道的4CIF编码。在一般场景下,每路图像都可以达到15帧以上。 /// /// 3.4.1主、子通道切换SetupSubChannel /// 说 明: 配合双编码模式使用。当设置某个通道为双编码模式时,如主通道编码CIF,子 /// 通道编码QCIF,这时可对主/子通道分别设置某些参数。关键帧间隔、OSD、LOGO等参数 /// 对主/子通道是一样的;在设置帧率、量化系数、变码流/定码流模式、码流大小等参数时应 /// 调用此函数分别对主/子通道进行设置,缺省是对主通道进行设置 /// /// int __stdcall SetupSubChannel(HANDLE hChannelHandle, int iSubChannel) /// /// 通道句柄 /// 子通道号(0表示主通道,1表示主通道) /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetupSubChannel(IntPtr hChannelHandle, int iSubChannel); /// /// 3.4.2获取双编码时数据流类型GetSubChannelStreamType /// 说 明: 配合双编码模式使用,当设置双编码模式时,启动录像后,DSP会向上送两种 /// 数据流,调用此函数得到主通道和子通道的数据流类型,供应用程序使用。 /// /// int __stdcall GetSubChannelStreamType(void *DataBuf, int FrameType) /// /// 数据缓存区 /// 帧类型 /// /// 0 其他数据 /// 1 主通道数据流的文件头 /// 2 子通道数据流的文件头 /// 3 主通道数据流的视频帧类型 /// 4 子通道数据流的视频帧类型 /// 5 数据流的音频帧 /// [DllImport("DS40xxSDK.dll")] public static extern int GetSubChannelStreamType(IntPtr DataBuf, int FrameType); #region 3.4.3编码流类型的设置及获取(不支持动态修改) /// /// 3.4.3.1设置主通道编码流类型SetStreamType /// 说 明: 设置主通道编码流类型。此函数需在启动编码前进行设置 /// /// int __stdcall SetStreamType(HANDLE hChannelHandle, USHORT Type) /// /// 通道句柄 /// 流类型 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetStreamType(IntPtr hChannelHandle, ushort Type); /// /// 3.4.3.2获取主通道编码流类型GetStreamType /// 说 明: 获取主通道编码流类型 /// /// int __stdcall GetStreamType(HANDLE hChannelHandle, USHORT *StreamType) /// /// 通道句柄 /// 流类型 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int GetStreamType(IntPtr hChannelHandle, ref ushort StreamType); /// /// 3.4.3.3设置子通道编码流类型SetSubStreamType /// 说 明: 设置子通道编码流类型,此函数需在启动编码前进行设置 /// /// int __stdcall SetSubStreamType(HANDLE hChannelHandle, USHORT Type) /// /// 通道句柄 /// 流类型 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetSubStreamType(IntPtr hChannelHandle, ref ushort Type); /// /// 3.4.3.4获取子通道编码流类型GetSubStreamType /// 说 明: 获取子通道编码流类型 /// /// int __stdcall GetSubStreamType(HANDLE hChannelHandle, USHORT *StreamType) /// /// 通道句柄 /// 流类型 /// [DllImport("DS40xxSDK.dll")] public static extern int GetSubStreamType(IntPtr hChannelHandle, ref ushort StreamType); #endregion #region 3.4.4(支持动态修改)的编码参数设置 /// /// 3.4.4.1设置编码图像质量SetDefaultQuant /// 说 明: 设置图像量化系数,用于调整图像质量。量化系数越小图像质量越高。系统默认量化系数值为18,18,23。 /// 释 义: 量化系数 /// 量化系数是强烈影响MPEG标准中编码图像质量和码率的参数,当量化系数越低,图 /// 像质量就会越高,码率也就越高,反之,图形质量就会越低,码率也就越低 /// /// int __stdcall SetDefaultQuant(HANDLE hChannelHandle, int IQuantVal, int PQuantVal, int BQuantVal) /// /// 通道句柄 /// I帧量化系数,取值范围:12-30 /// P帧量化系数。取值范围:12-30(目前无效) /// B帧量化系数。取值范围:12-30(目前无效) /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetDefaultQuant(IntPtr hChannelHandle, int IQuantVal, int PQuantVal, int BQuantVal); /// /// 3.4.4.2设置编码帧结构、帧率SetIBPMode /// 说 明: 设置编码帧结构和帧率。支持动态修改 /// 释 义: 关键帧间隔 /// 关键帧为编码码流中采用帧内压缩的图像帧,其特点是图像清晰度好,但数据量大,通 /// 常作为帧间编码的原始参考帧。关键帧间隔是连续的帧间编码的帧个数,因H264(MPEG4) /// 编码是有损压缩,关键帧的个数会影响图像质量,因此关键帧的间隔需要合理设计。 /// /// int __stdcall SetIBPMode(HANDLE hChannelHandle, int KeyFrameIntervals, int BFrames, int PFrames, int FrameRate) /// /// 通道句柄 /// 关键帧间隔。取值范围1-400,系统默认为100 /// B帧数量,取值为0或者2,系统默认为2 /// P帧数量。目前暂取值无效 /// 帧率,帧率范围1-25(PAL)、1-30(NTSC) /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetIBPMode(IntPtr hChannelHandle, int KeyFrameIntervals, int BFrames, int PFrames, int FrameRate); #region 3.4.4.3设置编码分辨率 /// /// 3.4.4.3.1设置主通道分辨率SetEncoderPictureFormat /// 说 明: 设置主通道编码分辨率。支持动态修改。 /// /// int __stdcall SetEncoderPictureFormat(HANDLE hChannelHandle, PictureFormat_t PictureFormat) /// /// 通道句柄 /// 编码图像分辨率(4CIF、DCIF、2CIF、CIF、QCIF) /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetEncoderPictureFormat(IntPtr hChannelHandle, PictureFormat_t PictureFormat); /// /// 3.4.4.3.2设置子通道编码分辨率SetSubEncoderPictureFormat /// 说 明: 设置双编码模式时子通道的编码分辨率,支持动态修改。 /// /// int __stdcall SetSubEncoderPictureFormat(HANDLE hChannelHandle, PictureFormat_t PictureFormat) /// /// 子通道句柄 /// 子通道编码图像分辨率(4CIF、DCIF、2CIF、CIF、 QCIF) /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetSubEncoderPictureFormat(IntPtr hChannelHandle, PictureFormat_t PictureFormat); #endregion #region 3.4.4.4设置码率及码流控制模式 /// /// 3.4.4.4.1设置码流最大比特率SetupBitrateControl /// 说 明: 设置编码的最大比特率。设置为0时码流控制无效,设置为某一最大比特率时, /// 当编码码流超过该值时,DSP会自动调整编码参数来保证不超过最大比特率,当编码码流 /// 低于最大比特率时,DSP不进行干涉。调整误差 /// 通道句柄 /// 最大比特率。取值:10000以上 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetupBitrateControl(IntPtr hChannelHandle, Int32 MaxBps); /// /// 3.4.4.4.2设置码流控制方式SetBitrateControlMode /// 说 明: 设置编码码流控制方式。配合SetupBitrateControl使用。当设置为变码率(brVBR) /// 时,最大比特率将作为编码码流上限,由DSP在码流上限下自动控制码率,一般会自动回 /// 落到最低的状态(由设定的图像质量参数和关键帧间隔决定),能最大程度地降低带宽和存 /// 储空间,但存储容量一般难以估算;当设置为定码率(brCBR)时,以最大比特率作为编码 /// 码率参数恒定输出码流,不会自动回落到低码流状态,存储容量可根据设定码率的大小进行估算。 /// /// int __stdcall SetBitrateControlMode(HANDLE hChannelHandle, BitrateControlType_t brc) /// /// 通道句柄 /// 码流控制方式,分为变码率(brVBR)和恒定码率 (brCBR)两种方式 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetBitrateControlMode(IntPtr hChannelHandle, BitrateControlType_t brc); #endregion /// /// 3.4.5强制设定I帧CaptureIFrame /// 说 明: 将当前编码帧强制设定为I帧模式,可从码流中提取该帧单独用于网络传送。 /// /// int __stdcall CaptureIFrame(HANDLE hChannelHandle) /// /// 通道句柄 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int CaptureIFrame(IntPtr hChannelHandle); /// /// 3.4.6获取帧统计信息GetFramesStatistics /// 说 明: 获取帧统计信息 /// /// int __stdcall GetFramesStatistics(HANDLE hChannelHandle,PFRAMES_STATISTICS framesStatistics) /// /// 通道句柄 /// 帧统计信息 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int GetFramesStatistics(IntPtr hChannelHandle, PFRAMES_STATISTICS framesStatistics); #endregion #endregion #region 3.5数据捕获 #region 3.5.1抓图(获取单帧图像数据) #region 3.5.1.1抓取BMP格式图像 /// /// 3.5.1.1.1获取原始yuv422格式数据GetOriginalImage /// 说 明: 获得原始yuv422格式图像,DS4000HC原始图像是4CIF图像格式(包括QCIF编码), /// DS-4000HS原始图像为CIF图像格式,DS400xH卡的原始图象是CIF图象格式。 /// /// int __stdcall GetOriginalImage(HANDLE hChannelHandle, UCHAR *ImageBuf, UInt64 *Size) /// /// 通道句柄 /// 原始yuv422格式图像指针 /// 原始yuv422格式图像尺寸,函数调用前是ImageBuf的大小,调用后是实际图像所占用的字节数 /// 成功返回0,失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int GetOriginalImage(IntPtr hChannelHandle, byte[] ImageBuf, out int Size); /// /// 3.5.1.1.2图像格式转换YUVtoBMP SaveYUVToBmpFile /// 说 明: 用户程序可调用此函数来生成24位的bmp文件,如果是DS4000HC卡抓图则 /// Width 为704,Height 为576PAL/480NTSC,如果是DS400xH卡抓图则Width可能为352 /// 或176,Height为288、240、144或120,要根据缓冲区的大小来判断。 /// /// int __stdcall SaveYUVToBmpFile(char *FileName, unsigned char *yuv, int Width, int Height) /// /// 文件名 /// yuv422格式图像指针 /// 图像宽度 /// 图像高度 /// [DllImport("DS40xxSDK.dll")] public static extern int SaveYUVToBmpFile(string FileName, byte[] yuv, int Width, int Height); /// /// 3.5.1.2抓取JPEG格式图像GetJpegImage /// 说 明: 抓取JPEG格式图像 /// /// int __stdcall GetJpegImage(HANDLE hChannelHandle,UCHAR *ImageBuf, UInt64 *Size,UINT nQuality) /// /// 通道句柄 /// JPEG图像指针 /// JPEG图像尺寸,函数调用前是ImageBuf的大小,调用后是实际图像所占用的字节数 /// JPEG图像质量,取值范围1-100,取值100时质量最好 /// [DllImport("DS40xxSDK.dll")] public static extern int GetJpegImage(IntPtr hChannelHandle, byte[] ImageBuf, out int Size, uint nQuality); #endregion #region 3.5.2原始图像数据流捕获(获取YUV420格式数据流) /// /// 3.5.2.1注册原始图像数据流回调函数RegisterImageStreamCallback /// 说 明: 注册获取原始图像数据流函数,用户可以获取实时的YUV420格式的预览数据 /// /// int __stdcall RegisterImageStreamCallback (IMAGE_STREAM_CALLBACK ImageStreamCallback,void *context) /// /// 原始图像数据流回调函数 /// 设备上下文 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int RegisterImageStreamCallback(IMAGE_STREAM_CALLBACK ImageStreamCallback, IntPtr context); /// /// 3.5.2.2开启及停止原始数据流捕获SetImageStream /// 说明: 开启或停止原始图像数据流捕获,此函数依赖主机的处理速度。DS-4000HS只能捕获不大于CIF格式的数据流 /// /// 函 数: int __stdcall SetImageStream(HANDLE hChannel,BOOL bStart,UINT fps, UINT width,UINT height,unsigned char *imageBuffer) /// /// 通道句柄 /// 是否启动捕获 /// 帧率 /// 图像宽度,必须是4CIF宽度的1/8,1/4,1/2或原始大小704 /// 图象高度,必须是4CIF高度的1/8,1/4,1/2或原始大小576PAL/480NTSC /// 数据存储缓存 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetImageStream(IntPtr hChannel, bool bStart, uint fps, uint width, uint height, char[] imageBuffer); #endregion #region 3.5.3编码数据流捕获(获取编码后H.264格式数据流)即录像 //注意:注册直接回调或者消息回调后,需要启动编码数据流捕获函数才能进行数据回调。三 //种数据回调方式,只需选取其中一种使用即可。对于HC系列板卡(包括HC、HC+、HCS、 //HS),推荐使用第一种读取方式。对于H系列板卡,只能使用后两种读取方式。 #region 3.5.3.1编码数据流捕获方式设置 /// /// 3.5.3.1.1.1注册编码图像数据流直接读取回调函数 /// 说 明: DS4000HC系列板卡新增的一种数据流读取方式,当启动数据捕获后, /// StreamDirectReadCallback会提供数据流的地址、长度、帧类型等,供用户程序直接处理。 /// /// 函 数: int __stdcall RegisterStreamDirectReadCallback (STREAM_DIRECT_READ_CALLBACK StreamDirectReadCallback,void *Context) /// /// 编码数据流直接读取回调函数 /// 设备上下文 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int RegisterStreamDirectReadCallback(STREAM_DIRECT_READ_CALLBACK StreamDirectReadCallback, IntPtr context); #endregion #region 3.5.3.1.2方式二、消息读取方式 /// /// 3.5.3.1.2.1设置消息读取伐值,此函数只对H卡有效 /// 说 明: 设置消息读取的伐值,可以将缓冲区的数据在OnDataReady中一次性取走 /// /// int __stdcall SetupNotifyThreshold(HANDLE hChannelHandle, int iFramesThreshold) /// /// 通道句柄 /// 读取消息伐值,范围1-10 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int SetupNotifyThreshold(IntPtr hChannelHandle, int iFramesThreshold); /// /// 3.5.3.1.2.2注册消息读取码流函数 /// 说 明: 当数据准备好时,SDK会向hWnd窗口发送MessageId消息,目标窗口收到 /// Message后调用ReadStreamData读取一帧数据。如果HC卡与H卡混插,可以先调用 /// RegisterStreamDirectReadCallback函数来注册HC卡取码流回调函数,再调用 /// RegisterMessageNotifyHandle函数来注册H卡取码流消息函数。 /// HC系列板卡建议使用方式一进行数据捕获。 /// /// int __stdcall RegisterMessageNotifyHandle(HWND hWnd, UINT MessageId) /// /// 通道句柄 /// 自定义消息 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int RegisterMessageNotifyHandle(IntPtr hWnd, uint MessageId); #endregion #region 3.5.3.1.3方式三、另一种直接读取方式 /// /// 3.5.3.1.3.1注册直接读取码流回调函数 /// 说 明: 另一种数据流读取方式 /// /// int __stdcall RegisterStreamReadCallback (STREAM_READ_CALLBACK StreamReadCallback, void *Context) /// /// 直接读取码流回调函数 /// 设备上下文 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int RegisterStreamReadCallback(STREAM_READ_CALLBACK StreamReadCallback, IntPtr Context); #endregion /// /// 3.5.3.2读取码流函数 /// 说 明: 读指定长度的数据流,适用于方式二及方式三。当调用StartVideoCapture 或 /// StartMotionDetection后,SDK线程会向已注册的用户窗口消息处理函数发送指定的消息, /// 并提供消息来源的通道号。当用户程序收到该消息时,可调用本函数来读取数据,Length 在 /// 作为输入时必须提供缓冲的大小,ReadStreamData会判断缓冲是否足够,如果缓冲足够大 /// 则返回值为当前的读取的帧长度,否则返回错误。 /// 在HC卡中,如果已经先调用了RegisterStreamDirectReadCallback()函数,则不需调用 /// ReadStreamData来读取数据,因为音视频数据会在RegisterStreamDirectReadCallback所注册 /// 的回调函数中直接返回。 /// /// int __stdcall ReadStreamData(HANDLE hChannelHandle, void *DataBuf, DWORD *Length, int *FrameType) /// /// 通道句柄 /// 自定义的数据缓存区 /// 输入:缓存区的大小;输出:一帧数据的大小 /// 帧类型 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int ReadStreamData(IntPtr hChannelHandle, byte[] DataBuf, out UInt64 Length, out int FrameType); #region 3.5.3.3开启及停止录像 /// /// 3.5.3.3.1启动主通道编码数据流捕获 /// 说 明: 启动主通道编码数据流捕获。用户程序可以使用直接读取方式,使用 /// StreamDirectReadCallback回调函数直接对数据流进行处理;也可以与H卡一样,通过消息 /// 读取方式,等SDK向用户程序发送在RegisterMessageNotifyHandle中注册的消息,用户程 /// 序使用ReadStreamData来读取数据流。 /// /// int __stdcall StartVideoCapture(HANDLE hChannelHandle) /// /// 通道句柄 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int StartVideoCapture(IntPtr hChannelHandle); /// /// 3.5.3.3.2停止主通道编码数据流捕获 /// 说 明: 停止主通道编码数据流捕获 /// /// int __stdcall StopVideoCapture(HANDLE hChannelHandle) /// /// 通道句柄 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int StopVideoCapture(IntPtr hChannelHandle); /// /// 3.5.3.3.3启动子通道编码数据流捕获 /// 说 明: 启动子通道编码数据流捕获 /// /// int __stdcall StartSubVideoCapture(HANDLE hChannelHandle) /// /// 通道句柄 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int StartSubVideoCapture(IntPtr hChannelHandle); /// /// 3.5.3.3.4停止子通道编码数据流捕获 /// 说 明: 停止子通道编码数据流捕获 /// /// int __stdcall StopSubVideoCapture(HANDLE hChannelHandle) /// /// 通道句柄 /// 成功返回0;失败返回错误号 [DllImport("DS40xxSDK.dll")] public static extern int StopSubVideoCapture(IntPtr hChannelHandle); #endregion #endregion #endregion #endregion #region 3.6移动侦测 // 释 义: 移动侦测 //DS4000HC提供运动强度信息来处理运动检测,设置移动侦测区域时以32*32像素块为 //单位,按4CIF(704*576)分辨率计算,每行有22个块(704/32),PAL时18行(576/32), //NTSC时15行(480/32),与编码格式无关。经过测试,这种方法比H卡提高了灵敏度和可 //靠性,并简化了返回的数据,返回的值是18个DWORD,对应屏幕高度576/32=18行(PAL), //每个DWORD的0-21位对应屏幕宽度704/32=22, 其中1为运动,0为静止,也可以调用原有 //MotionAnalyzer分析结果 //4.0版本的SDK新增了接口函数SetupMotionDetectionEx,
win8.1看视频卡屏……
各位大神,新装的win8.1.在线看<em>视频卡</em>屏,就是亮一下,灭一下,频率很高,求教……。显卡驱动是刚装的没问题的,不知道怎么办了[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/8.gif][/img]
视频卡开发问题!
本人要做一个<em>视频卡</em>的播放软件,由于是初学,请推荐一些相关的网站,谢谢!
关于SDK-2000视频卡
谁用过SDK-2000<em>视频卡</em>rn可不可以不进行模式转换?overlay和preview模式转换。我只想用preview模式它怎么就不行呢?
关于视频卡二次开发
我现在需要对<em>视频卡</em>进行二次开发,问了几家经销商,二次开发包都要向厂家要,他们也不懂。大家有谁知道<em>视频卡</em>二次开发包是什么东西啊?是控件还是函数啊?调用二次开发包和编程语言有关系吗?我用VB.net。rn我需要的功能只是在窗体上实时显示视频,并且点击按钮可以拍照片。实现这些功能容易吗?rn第一次做视频方面的东西,不懂啊,请大家帮忙。
视频卡二次开发程序
<em>视频卡</em>二次开发程序,USB接口<em>视频卡</em>一切程序
VB如何与视频卡相连?
VB中如何驱动<em>视频卡</em>.即通过捕获图象.
我的视频卡,我的系统~~~~~
我最近买了一张<em>视频卡</em>,呵呵,好家伙,装上去发现只能作广播——有声音没有图象,于是我一狠心,旧把我的系统给格了,居然就好了,我这人很容易满足的,可是一段时间过后,几天吧,又没了,还有他好象跟优化大师有仇似的,有你没我,我的系统呀,我的硬盘呀,三天两头格一次,我很怜香惜玉的,啊我的爱机~~~~~
右下角弹出视频卡
我做了个右下角弹出视频的东东,可是在播放的时候很卡。怎么解决啊? [url= http://www.bjmeikeda.com/]http://www.bjmeikeda.com/[/url]这个是那网址,卡的受不了了,本来是2G的avi文件。我用了压缩、转换工具给弄成了51.1MB的文件,可是现在播放还是卡.怎么解决啊,谢 谢了!rn
directdraw播放视频卡
项目目标:视频视频窗口叠加透明窗口rn环境:WINCE6rnrn我用dshow加ddraw的模式播放视频,我创建了1个主页面和1个OVERLAY,感觉视频播放的很卡,视频是默认的在主页面播放导致卡吗?如何才能让视频在OVERLAY上播放呢?
继续视频卡的提问
谢谢楼上的:)那么再问,如何调用那个开发包?是不是就是那个SDK?VFW是什么?DW有是什么?
视频卡QX2006驱动程序
<em>视频卡</em>QX2006驱动程序 公司正在使用,正常使用。
天敏视频卡开发向导
天敏的VC400<em>视频卡</em>二次开发文档,内有各个函数说明及调用方式。
海康视频卡开发源码
实现了海康卡的视频接入、窗口多视频口显示、各视频口自由拖放,其它还有什么忘记了! 代码C#
VC系列视频卡SDK
VC系列<em>视频卡</em>SDK,vc4000的SDK开发包
关于播放视频卡的问题
[img=D:\111.JPG][/img][img=http://b22.photo.store.qq.com/http_imgload.cgi?/rurl4_b=47be3e05475dc3d284d4a75cf381a480eb110d09232facfc8b7bcc38cd4ba3a100aa70af4b22caadbad8e6cb80a375ff4a8e4d38008fde1b06f915bdb49873a183cac99a47c89868d77aa9e5a5aecb080c49ccce][/img]rn我的软件在切换播放时出现这种卡的状态,还有在关闭播放器的时候也会出现这种状况!,请问大家这是怎么回事呢?大家帮忙看看!
关于德加拉的音视频卡
有谁知道德加拉音<em>视频卡</em>的驱动是WDM的内核流模式吗,如果是这样的话,我能用DirectShow开发吗?rn如果不是WDM的内核流模式,是不是一般的驱动程序模式?rn谢谢!
天敏视频卡sdk3000用途
该<em>视频卡</em>的功能是什么,可以用在哪些方面rn利用它可以开发什么样的相关系统呢rn它可以进行影像的识别与比较吗?rn
关于视频卡的程序设计
各位大虾,小弟刚学<em>视频卡</em>的程序设计,不知从何下手,还请指点一二,如你有源码,请发一个个我.小弟在此谢了rn F_Lchengang@163.com
海康视频卡 初始化失败
我新建了一个空的工程 只调用了初始化函数InitDSPs() 结果返回0rn而用demo运行 InitDSPs() 返回正常rn真奇怪?
视频卡的作用是什么
-
9008A系列视频卡软件
9008A系列<em>视频卡</em>驱动软件 给需要的人分享一下吧
视频卡监控软件使用说明书
<em>视频卡</em>监控软件使用说明书.doc
视频卡支持二次开发
支持vb二次开发,有驱动,开发示例,和动态库文件及函数使用说明,全面详细。很有用工业ccd开发,及影像测量等
BT878视频卡win7驱动
现在很难找到的BT878芯片<em>视频卡</em>的win7驱动,网上搜索出来的都是XP驱动。压缩包内含amcap.exe测试软件。
dvr8800芯片视频卡驱动
dvr8800芯片<em>视频卡</em>驱动只是驱动程序啊没有客户端
一个视频卡的问题
我现在要开发一个视频监控软件。rn但是不知道怎么弄。rn<em>视频卡</em>和摄像头已经弄好。rn该怎么开发?用什么控件弄好?rn请高手指点一下
请教视频卡捕获问题
有一块<em>视频卡</em>,不支持wdm驱动,请问我要用什么方法在vc中进行视频采集?(不用板卡SDK)。谢谢。
视频卡和采集卡有什么区别?
谢谢!
视频监控不用视频卡可以吗?
视频监控不用<em>视频卡</em>,只用一个USB摄像头可以吗?对像素要求不高,只要能录就行
采集卡视频卡驱动
很方便的一个独特的采集卡<em>视频卡</em>驱动,无报毒。
视频卡8150驱动程序
PI7C 8150BMAE B0822BT <em>视频卡</em>驱动程序,正常使用,我们公司正在使用。
VCM视频卡驱动
支持PAL、NTSC等格式的视频输入,基于DierectShow 8以及以上版本的开发;
视频卡.vc2005编程
<em>视频卡</em>.vc2005编程,源视频sdk包,可以参照下,修改
MV9205视频卡驱动
mv9205四路<em>视频卡</em>驱动,带服务端,客户端软件
监控软件_视频卡驱动
NV920X_V9.1驱动程序 应用程序
海康视频卡驱动
海康驱动 支持40D 41D 42Dx
怎么抓包视频卡的数据
就是我买了一张<em>视频卡</em>rn我想抓包一下 他原始的数据rn看看跟使用他提供的sdk保存的数据比较一下 看是不是加密过的 rn应该怎么得到抓到他的原始数据呢?
Bt848-Bt879视频卡驱动
Bt848、Bt878、Bt879<em>视频卡</em>驱动
屏幕广播软件中视频卡顿,怎么解决啊,急求高手!
我在做一个局域网的屏幕广播软件,将服务器端的视屏广播给所有在线用户。rn 目前,使用截屏发送的方法,使用TCP方式依次发送截屏图片数据流给各个客户端,客户端使用PictureBox来定时刷新显示服务器端发来的图片数据。rn 这种方法有两个缺点:rn1、这个方法,在客户端少的情况下没有问题,但是多的情况下,可能就延时很大。rn2、现在在服务器端显示word和ppt还能使用,显示视频的话,卡顿情况很大,效果也很差,不流畅,领导要求视频要流畅,要兼容PPT中插播视频时能流畅显示。rnrn 尝试过的方法:rn 使用了前后截屏分块对比差异,向客户端发送差异图片的方法,虽然网络传输数据明显减少了,但处理差异对比的时间增多了,而且PictureBox控件显示必须将接收的差异图片和原图片存为新图片加载,才能显示。同样增加了时间。这个方法最后试验反而增大了延时。rnrn 在网上查,看有说使用DirectShow 编码实现截屏录像,但问题是怎么实时传到客户端?还有说拥H264编码传输,但也需要将图片先整成视频,然后做个流媒体服务器,然后再客户端解码才能实现,这个搞得有点大了吧。rn 有没有高手做过类似的,指点下小弟!!!rn rn 急急急,跪求,跪求
显卡和图形卡和视频卡有什么区别?
英文好象有video card和graphics card之分。搞不清这些东西,学校没学好!!!
请问有没有读取视频卡的控件?
我有一个摄像头,接了一个<em>视频卡</em>,请问有没有什么Delphi控件可以读取<em>视频卡</em>的图象数据并把它显示在屏幕上?
andorid 使用surfaceview播放流媒体怎么解决同时播放多个视频卡顿的问题
一个界面放四个视频,初始一个视频,可以增加。但是只有播放一个视频的时候才不卡,播放两个或以上都会卡顿、跳帧。rn每个视频的播放就是将播放代码再复制一遍,再开一个子线程。求助这个有解决思路吗
Android卡顿优化--卡顿检测
卡顿问题检测,分:自动化卡顿检测方案 和 卡顿单点问题检测方案 两种。 1 自动化卡顿检测方案 为什么需要自动化检测方案? (1)系统工具适合线下针对性分析 (2)线上及测试环节需要自动化检测方案 方案的原理 (1)消息处理机制,一个线程只有一个Looper (2)mLogging对象在每个message处理前后被调用 (3)主线程发生卡顿,是在dispat...
顿黄花鱼
家传做法:   1、准备好黄花鱼,拍两个大蒜,切20厘米葱。 倒油盖住锅底。(中火)   2、一条条放入鱼,均匀放在锅底。之后不能再碰他们。   3、煎30秒到一分钟。放入大蒜,大葱。放入两块花椒。   4、倒两勺酱油。再倒半碗水。   5、放一勺盐,半勺糖,几滴醋。   6、盖锅盖,梢小火。等把水基本靠干(和顿多久没关系)。   7、关火。鱼一条条铲出。...
VM虚拟机卡顿 vmrare卡顿
1、主机配置不高(无解,非要解决-&amp;gt;升级配置) 2、给虚拟机分配的配置过低或过高(适中就好) 3、有分页选项在执行(大量的物理硬盘IO导致卡顿!) 3、电脑装了360之类的安全软件(这个最难排查),本人亲身经历,装了360之后关闭开机自启(实际还有防护进程在自启),可能就是个中的一些问题导致的,具体待研究,打开360使其处于运行状态或者彻底卸载360之后解决。...
服务器卡顿,mysql卡顿
1.存储引擎的问题:修改存储引擎myisam-innoDB  有锁->没锁 2.改掉IOPS,阿里云SSD  系统盘500G就是15000IOPS
天敏SDK视频卡SDK2500 SDK3000
天敏SDK<em>视频卡</em>。包括SDK2500及SDK3000。内容包含: 驱动及操作软件
关于视频卡sdk开发包的使用
有没有用过<em>视频卡</em>sdk开发包的,请问里面的函数能不能自行修改?此外,对于视频,如何抓拍视频中的一帧图片?对于sdk已提供的开发包,只能抓拍之后自动保存到计算机c盘中,我想抓拍后不保存到硬盘中,而是存储于计算机缓存中,以一个三维数组存储,从而避免图片太多了存储大量图片到硬盘中。。rn有会的帮忙解答下。灰常感谢。。
SDL2 更改窗口大小,视频卡
在使用SDL2.0时,使用了SDL API函数SDL_SetWindowSize函数后,视频播放就会卡主,若是使用SDL_SetWindowPosition只是移动位置是不会有问题的?nShowData(const unsigned char *pY,const unsigned char *pU,const unsigned char *pV,int width)nn if( pTexture == NULL || pRender == NULL )n return;nn SDL_UpdateYUVTexture(pTexture,&sdlRT,pY,width,pU,width/2,n pV,width/2);nn SDL_RenderClear( pRender );n SDL_RenderCopy( pRender, pTexture, &sdlRT, &dstRT );n SDL_RenderPresent( pRender );nn
谁用过sdk2000视频卡开发?
这个里边保存图像的功能是如何实现的?rn//快照:存为bmp格式rnvoid CChildFrame::OnSaveBmp() rnrn char szFile[20];rn HRESULT hr;rnrn sprintf(szFile, "C:\\Test_No%d.bmp", m_iCardID);rn hr = DSStream_SaveToBmpFile(m_iCardID, szFile);rn if(FAILED(hr))rn MessageBox("快照失败!");rnrn那位给解释一下?
求助:视频卡视频流显示方法
我将视频采集卡(大恒CG300)采集到的每一帧视频图像缓存到缓冲区中,然后再显示到Dialog上,但是显示时对CPU资源占用很高,请问有没有什么好的办法能够解决这个问题
海康威视视频卡注册机
海康威视<em>视频卡</em>注册机,可用于正版天视软件注册。天视5.2.1和6.3.0两版本均测试通过
视频卡编程很详细的资料
这个是一个关于VC 的视频采集卡教程,及个人资料,如果你喜欢。可以下来讲看看。
关于得到视频卡设备名的问题?
各位大师:我的Win2000系统安装了一块采集卡和一个USB摄像头,我现在要通过程序同时采集这两路视频源,要解决的第一个问题就是想得到每个设备的名称,怎么办?
plsql-win10卡顿.zip
解决办法: 下载后,将plugin中的文件加压覆盖掉 plsql安装目录 plugin目录下的原文件即可. 我的plsql12.0.1版本亲测,通过. 不在卡顿
卡顿优化- CPU
尽量使用轻量级的对象,比如用不到事件处理的地方,可以考虑使用CALayer取代UIView 比如说我们平时使用数字,比如1,2,3,4,5这种数字的数据类型就用基本数据类型比如int这些,尽量不要使用NSNumber,另外,我们知道CALayer是UIView中的一个属性,CALayer专门负责显示东西的,而UIView负责监听点击事件的,也就是说UIView之所以显示东西,因为它里面有...
动画卡顿之路
今天要做一个app里面的动画,大概就是一个图片的轮播 开始的时候我用css3 的animate,发现卡,所以改成jquery的animate,发现更卡,还在应用jquery中发现一些比较肯的操作上的小问题,嘻嘻(不值一提) 最后用了css transition,发现还是卡,本来想改成transition-3d,但是网上人说里面也有很多坑,所以听他们的,用greensock,据说速度是jquer
app的卡顿
一般的卡顿现象就是界面不流畅  这个现象主要也是首页和详情页面会出现的比较多 因为我们一般主界面都会做的嵌套了太多的布局 比如  我们有顶部导航  也有底部导航中间还会嵌套两层viewpager里面还有fragment 它里边有一个16ms机制  cpu计算 gpu用来绘制 如果嵌套了太多的话 尤其还有图片 就会导致16ms无法绘制完成 会导致丢帧 造成了页面的卡顿
listview滑动卡顿
listview滑动卡顿,网上搜索了一下原因有很多,排除了一下,最后发现和图片加载相关。一开始是自己自定义了一个Cache类,用来缓存图片,最后发现这样做的效率并不高,不如用ImageLoader,下面贴代码  1.在adapter里    private List mList=new ArrayList<>(); private Context context; Imag
卡顿和闪退
-
解决eclipse卡顿
配置eclipse.ini Xms:最小堆大小 Xmx:最大堆大小 Xmn:年轻代堆大小 Xss:每个线程的堆大小 PermSize:初始持久代大小 MaxPermSize:最大持久代大小 一般Xms、Xmx设置相同,PermSize、MaxPermSize设置相同,这样可以避免伸缩堆大小带来的性能损耗。 最大总堆内存,一般设置为物理内存的1/4 例如: -
界面卡顿优化
1.UI层优化 常见问题 : 过度绘制,布局复杂,层级过深 排查工具: GPU过度绘制工具 ,Hierachy Viewer(层级查看器)    过度绘制     在屏幕上一个像素点出现多次绘制 .(如背景重叠绘制)   布局复杂,层级过深     优化做法: 没有用的父布局--没有背景绘制或没有大小限制的父布局,不会对界面效果产生任何影响.可以通过&amp;lt;merge&amp;gt;替代 在...
eclipse自动提示卡顿
Window -&amp;gt; Perferences--&amp;gt;  Java -&amp;gt; Editor -&amp;gt; Content Assist, 把200延迟调高些,比如我就调成500,流畅多了! 还是不行?直接关掉Content Assist吧!
idea卡顿调整
-Xms1024m -Xmx2024m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=60 -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=3 -XX:+UseCMSInit...
webapp 滚动卡顿
最近碰到一个问题:app 首页(主要是展示图片)上下滚动时页面未立即跟随手指的方向进行滚动而是在过了一会时间后页面开始滚动,但是页面在滚动过程中还是会移动一段距离后卡下,接着再移动到下一个位置。rn已经测试了 appframework 的af.scroller.js、iScroll.js、islider.js、jndroid 等滚动插件发现其中滚动是使用了css3 的 translate3d来进行平移的。rn在weinre 调试器中对执行的touchmove事件进行触发时间点的输出发现了,当我手指在屏幕滚动时触发时间点立即在weinre的console 栏中输出,但是页面实际移动却是在所有touchmove 事件触发时间点输出后再进行移动的。 因此是否有可能是android手机浏览器在js执行到平移样式时阻塞了translate3d 效果,而在touchmove事件都触发完成后在执行所有的translate3d效果。rn如何解决这个滚动延迟触发且,滚动时又有卡顿出现的现象呢?????rn此处是iscroll.js 中的设置平移样式:rnthis.scroller.style[transform] = 'translate(' + x + 'px,' + y + 'px) scale(' + this.scale + ')' + translateZ;rn希望有碰到过此问题的朋友给本人一些提示!rn测试手机是小米2s
庚顿实时数据库软件
实时数据库 Golden_RTDBMS_Server_Enterprise_3.0.3497_x64_CN
高顿稳定计算
山区桥梁高墩较多,为计算方便,特写本程序
最新的挪顿NOD-32
挪顿321最新的挪顿NOD-32挪顿321挪顿321挪顿321
win10 卡顿解决
Windows 10 目前还有很多BUG, 以上的方法我也是遇到过自己找到的解决方法,亲自实践过的,如果有同学遇到系统严重卡顿的话,可以试试这个方法
linux服务器卡顿排查
1、查看内存 free -g   / free -m  echo 3 &amp;gt; /proc/sys/vm/drop_caches  //释放内存 2、查看磁盘空间 df -h //查看磁盘空间 du -sh /dir  //查看文件夹占用大小 3、查看磁盘io情况 iostat -x 10   //每隔10s一次 CPU 属性值 %user:CPU处在用户模式下的时间百分比。 ...
视频为什么会卡顿
视频为什么会卡顿,看看腾讯云如何解决这个问题的。 卡顿的原因无外乎三种情况: · 原因 1:帧率太低 如果主播端手机性能较差,或者有很占 CPU 的后台程序在运行,可能导致视频的帧率太低。正常情况下每秒15FPS以上的视频流才能保证观看的流畅度,如果 FPS 低于10帧,可以判定为帧率太低,这会导致全部观众的观看体验都很卡顿。 · 原因 2...
Chrome浏览器卡顿原因
Broadcast DVR server进程吃内存的解决方法
卡顿优化
工具: cpu profile(call chart,Flame chart,bottomUp) cpu呈现模式 GPU过度绘制 layoutInspector BlockCanary 量化指标 广研Android卡顿监控系统 优化内容 RecycleView嵌套优化 GridLayoutManager SpanCount OnBindViewHolder处理导致的卡顿 ConstraintL...
康神与顿神
当年听Boss Zhang谈起康神,顿神,当时Boss Zhang说时没怎么在意,也没注意听,O(∩_∩)O~。 有一天在浏览一篇文章,在听一个讲座时,突然看见这两个个名字,觉得很熟悉,原来想起了Boss Zhang说的。。。。。 看了一下,康神原来在google,顿神在baidu。。。。。。 我想我真的要在这条路上走很远。。。。...
iOS卡顿监测
App在线运行的时候发生了卡顿,是很难了解卡顿原因的。 一个相对比较有用的办法是做一个常驻线程,定时抓取主线程的运行时状态,当主线程的运行时状态在几个周期里总是处于同一个状态/或同一类状态时,则大概率认为发生了卡顿,此时使用CrashReporter这个第三方组件模拟一个crash获取到对应的call stack就好对问题进行跟进了。 至于程序员怎么拿到call stack进行分析,则各有各的...
SuperRecycleView下拉刷新卡顿
我的情况是每个item中又嵌套了个SuperRecycleView,抢占了焦点,导致下拉刷新卡顿,解决方法是在item的根布局中加入android:descendantFocusability="blocksDescendants"解决焦点问题。这个方法也可以解决界面自动滑动到recyclerview上的问题。
(Acwing)哈曼顿最短路径
题目描述 给定一张 n n 个点的带权无向图,点从 0~n-1 标号,求起点 0 到终点 n-1 的最 短Hamilton路径。 Hamilton路径的定义是从 0 到 n-1 不重不漏地经过每个点恰好一次。 输入格式 第一行输入整数 n n 。 接下来 n n 行每行 n n 个整数,其中第 i i 行第 j j 个整数表示点 i i 到 j j 的距离(记为a[i,j])。 对于任意的 x...
卡顿优化 - GPU
尽量减少视图数量和层次 尽量避免短时间内大量图片的显示,尽可能将多张图片合成一张进行显示 GPU能处理的最大纹理尺寸是4096x4096,一旦超过这个尺寸,就会占用CPU资源进行处理,所以纹理尽量不要超过这个尺寸 减少透明的视图(alpha&amp;amp;lt;1),不透明的就设置opaque为YES 因为一旦是透明的东西,就要进行一次计算,计算混合颜色将来显示出来是什么样子的 尽量避免出现离屏渲染 ...
卡顿引起的调查
        也是很倒霉,每次出现问题都是我当值。        8:33,收到现场反馈:客户端、网页使用体验极差,长时间loading。出现这种问题,在排除硬件设备、网络原因后,无非是应用服务器或数据库原因。应用服务器接口日志:        一个数据库监控页面里面的效果:        监控图片太多,不一一贴出来了。        经过检查,当时的数据库sql执行是正常的,没有出现死锁等情况...
性能优化之卡顿分析
Android 每隔16ms发出一个VSYNC信号,触发CPU跟GPU进行界面渲染,计算跟绘制,让界面的帧率在1秒内达到60fps,使视觉效果达到自然流畅。如果一个在16ms内不能完成界面的渲染,计算跟绘制,就会产生丢帧的现象,丢帧就会造成应用卡顿现象。 一、引起应用卡顿的原因 1.过度绘制。过度绘制就是在同一帧情况下对同一块像素区域进行重复绘制。这样会加重GPU跟CPU的渲染压力,导致渲染时...
SSH连接卡顿
1. 关闭DNS反向解析。 在linux中,默认就是开启了SSH的反向DNS解析,这个会消耗大量时间,因此需要关闭。 # vi /etc/ssh/sshd_config UseDNS=no 在配置文件中,虽然UseDNS yes是被注释的,但默认开关就是yes 2. 关闭SERVER上的GSS认证。 在authentication gssapi-with-mic有很大的可能出现问题,因此...
程序实现的跑马灯卡顿
在form里写了个跑马灯,在用户控件中写百叶窗效果定时进行图片切换用到timer。现在百叶窗进行图片变换时,跑马灯就停住了,用了线程,invoke都没有用,请高手请教?
BssPortal11.part1.下载
BssPortal11.part1.rarBssPortal11.part1.rarBssPortal11.part1.rar 相关下载链接:[url=//download.csdn.net/download/huangxiantao119/2771043?utm_source=bbsseo]//download.csdn.net/download/huangxiantao119/2771043?utm_source=bbsseo[/url]
1.C面试题分类.doc下载
1.C面试题分类.doc ,很不错的面试题 相关下载链接:[url=//download.csdn.net/download/marchlqq/5352964?utm_source=bbsseo]//download.csdn.net/download/marchlqq/5352964?utm_source=bbsseo[/url]
oracle 优化笔记下载
数据库 性能优化 查询优化,存储过程优化 相关下载链接:[url=//download.csdn.net/download/u013289594/6773873?utm_source=bbsseo]//download.csdn.net/download/u013289594/6773873?utm_source=bbsseo[/url]
相关热词 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法 c# gmail 发邮件 c# 多层文件
我们是很有底线的