视频分类SDK提供对视频内容实时分类的能力,支持识别88种不同的视频类型。
详细接口说明查看头文件:bef_effect_ai_video_cls.h
BEF_SDK_API bef_effect_result_t bef_effect_ai_video_cls_create(bef_effect_handle_t *handle);
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
handle | bef_effect_handle_t | 创建的视频分类句柄 |
返回值
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
BEF_SDK_API bef_effect_result_t bef_effect_ai_video_cls_load_model(bef_effect_handle_t handle, bef_ai_video_cls_model_type type, const char * strModelPath);
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
handle | bef_effect_handle_t | 创建的视频分类句柄 |
type | bef_ai_video_cls_model_type | 模型类型枚举 |
strModelPath | const char * | 模型路径 |
返回值
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
BEF_SDK_API bef_effect_result_t bef_effect_ai_video_cls_detect( bef_effect_handle_t handle, const unsigned char *image, bef_ai_pixel_format pixel_format, int image_width, int image_height, int image_stride, bef_ai_rotate_type orientation, bool islast, bef_video_cls_ret *video_cls_info );
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
handle | bef_effect_handle_t | 视频分类句柄 |
image | const unsigned char * | 模型类型,目前分大小模型 |
pixel_format | bef_ai_pixel_format | 模型文件的路径 |
image_width | int | 图片宽度 |
image_height | int | 图片高度 |
image_stride | int | 图片步长 |
orientation | bef_ai_rotate_type | 图片的旋转方向 |
islast | bool | 是否是最后一帧(每5帧设置成true) |
result | bef_video_cls_ret | 分类结果,具体参考 bef_video_cls_ret |
返回值
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
BEF_SDK_API void bef_effect_ai_video_cls_destroy( bef_effect_handle_t handle );
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
handle | bef_effect_handle_t | 视频分类句柄 |
返回值
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
// android BEF_SDK_API bef_effect_result_t bef_effect_ai_video_cls_check_license( JNIEnv* env, jobject context, bef_effect_handle_t handle, const char *licensePath ); // ios BEF_SDK_API bef_effect_result_t bef_effect_ai_video_cls_check_license( bef_effect_handle_t handle, const char *licensePath );
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
handle | bef_effect_handle_t | 视频分类句柄 |
licensePath | const char * | 授权文件字符串 |
context | jobject | 对应 Android 中的 Context |
返回值
成功返回 BEF_RESULT_SUC, 失败返回相应错误码, 具体请参考 bef_effect_ai_public_define.h
接口说明
详细接口说明查看文件:com.bytedance.labcv.effectsdk.VideoClassifier
public int createHandle( Context context, String licensePath)
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
context | Context | 应用上下文 |
license | String | 授权文件路径 |
返回值
成功返回BEF_RESULT_SUC,否则返回对应的错误码
public BefVideoClsInfo videoClsDetect( ByteBuffer buffer, BytedEffectConstants.PixlFormat pixlFormat, int imageWidth, int imageHeight, int imageStride, BytedEffectConstants.Rotation orientation boolean isLast)
参数说明
参数名 | 参数类型 | 参数说明 |
---|---|---|
buffer | ByteBuffer | sdk设置参数类型 |
pixlFormat | BytedEffectConstants.PixlFormat | sdk设置参数值 |
imageWidth | int | 图片宽度 |
imageHeight | int | 图片高度 |
imageStride | int | 图片步长 |
orientation | BytedEffectConstants.Rotation | 图片旋转方向 |
bool | isLast | 是否是最后一帧(每5帧设置成true) |
备注
BytedEffectConstants.PixlFormat 见:
public enum PixlFormat { RGBA8888(0), BGRA8888(1), BGR888(2), RGB888(3), BEF_AI_PIX_FMT_YUV420P(5), BEF_AI_PIX_FMT_NV12(6), BEF_AI_PIX_FMT_NV21(7); private int value; PixlFormat(int value) { this.value = value; } public int getValue() { return value; } }
BytedEffectConstants.Rotation 见:
public enum Rotation { /** * 图像不需要旋转,图像中的人脸为正脸 * The image does not need to be rotated. The face in the image is positive */ CLOCKWISE_ROTATE_0(0), /** * 图像需要顺时针旋转90度,使图像中的人脸为正 * The image needs to be rotated 90 degrees clockwise so that the face in the image is positive */ CLOCKWISE_ROTATE_90(1), /** * 图像需要顺时针旋转180度,使图像中的人脸为正 * The image needs to be rotated 180 degrees clockwise so that the face in the image is positive */ CLOCKWISE_ROTATE_180(2), /** * 图像需要顺时针旋转270度,使图像中的人脸为正 * The image needs to be rotated 270 degrees clockwise so that the face in the image is positive */ CLOCKWISE_ROTATE_270(3); public int id = 0; Rotation(int id) { this.id = id; } }
返回值
成功返回BEF_RESULT_SUC,否则返回对应的错误码
public void release()
错误码请参考错误码表