KSJAPI SDK · 回调、预览与录影

版本 1.0 · 更新于 2026-10-21 · 阅读 0

预览回调、预览窗口与启停、并行预览模式、帧率统计、视频录影。

本组接口来自 KSJApiCallback.h、KSJApiBase.h、KSJApiRecord.h。

预览流程有严格顺序:先 KSJ_PreviewSetPos 建立预览窗口与位置,再 KSJ_PreviewStart 启动视频流,否则看不到画面。

函数一览

函数 说明
KSJ_PreviewSetCallback 设置预览回调函数。
KSJ_PreviewSetCallbackEx 设置预览回调函数(增强版,回调参数含 KSJApi 创建的内存 DC,可用 GDI 在其上绘制)。
KSJ_PreviewSetPos 设置视频图像在窗口上的显示位置与大小。
KSJ_PreviewGetPos 获取当前预览图像的显示位置与大小。
KSJ_PreviewStart 启动/停止视频流(true 开启,false 关闭)。
KSJ_PreviewStartEx 用并行模式启动/停止视频流(bParallel = true 用并行,false 用串行)。
KSJ_PreviewGetStatus 获取视频预览状态(停止 / 运行 / 暂停)。
KSJ_PreviewGetStatusEx 获取视频预览与并行状态。
KSJ_SetParallelPreviewMode 设置并行预览模式。
KSJ_GetParallelPreviewMode 获取并行预览模式。
KSJ_PreviewGetFrameRateEx 获取预览时的采集帧率与显示帧率。
KSJ_GetPreviewFrameCount 获取预览累计采集与显示的图像数。
KSJ_RecordStart 预览开启状态下启动/停止视频录影(fRecordRate 为录影帧率)。
KSJ_RecordStartEx 启动/停止录影,并可选是否弹出视频编码器选择窗口。
KSJ_RecordStartExEx 启动/停止录影(用于后续用 KSJ_RecordAddOneFrame 追加帧序列)。
KSJ_RecordAddOneFrame 将一帧追加到录影文件。
KSJ_RecordStatusGet 获取当前录影状态。

关键函数详解

KSJ_PreviewSetCallback

int __stdcall KSJ_PreviewSetCallback(int nIndex, KSJ_PREVIEWCALLBACK pfPreviewCallback, void* lpContext);

设置预览回调函数。

返回:成功返回 RET_SUCCESS(1)

说明

  • 回调运行在 SDK 线程,勿在回调内做耗时操作或直接操作 UI。

KSJ_PreviewSetPos

int __stdcall KSJ_PreviewSetPos(int nIndex, HWND hWnd, int x, int y, int nWidth, int nHeight);

设置视频图像在窗口上的显示位置与大小。

返回:成功返回 RET_SUCCESS(1)

说明

  • 必须在 KSJ_PreviewStart 之前调用以创建预览窗口。
  • 显示宽高大于预览图像尺寸时会放大,反之缩小。

KSJ_PreviewStart

int __stdcall KSJ_PreviewStart(int nIndex, bool bStart);

启动/停止视频流(true 开启,false 关闭)。

返回:成功返回 RET_SUCCESS(1)

说明

  • 须先通过 KSJ_PreviewSetPos 创建预览窗口,否则看不到视频流。

KSJ_SetParallelPreviewMode

int __stdcall KSJ_SetParallelPreviewMode(int nIndex, KSJ_PARALLEL_PREVIEWMODE eMode);

设置并行预览模式。

返回:成功返回 RET_SUCCESS(1)

说明

  • PP_SHOW 显示优先(高帧率时回调会丢帧);PP_CALLBACK 回调优先(高帧率时显示延迟)。须在开始预览前调用。

KSJ_RecordAddOneFrame

int __stdcall KSJ_RecordAddOneFrame(int nIndex, unsigned char* pFrameData, int nFrameNum, int nWidth, int nHeight, int nBitcount);

将一帧追加到录影文件。

返回:成功返回 RET_SUCCESS(1)

说明

  • 宽高与位深须与 KSJ_RecordStartExEx 的对应参数一致。