ikc-video-sdk
IKC 视频引擎(ikc-video-service)的独立客户端 SDK 分发(导入包 ikc_video_sdk)。
- 与
ikc-video服务端 wheel 中的ikc_video_sdk同源(force-include自../src/ikc_video_sdk),版本号保持一致; - 供下游(pipeline / ikc-open-platform 等)以正常依赖模式引用,无需安装服务端重型依赖(celery/redis/fastapi/pyuploadx 等);
- 能力面:typed 视频资源方法(V-01 异步切片、V-02 同步处理)+ 系统路由(
/、/health、/ready、/api/catalog、/api/error-codes)+ 泛化client.request; 统一响应壳解包与类型化异常;身份信任头 / Bearer / 23 位 traceId / 幂等重试装配。
用法与资源清单见 docs/客户端SDK设计与使用.md。
跨层能力来自 ikc-sdk-lib(不自定义)
| 能力 | 来源 |
|---|---|
| traceId 生成/校验/提取(23 位纯数字) | ikc_sdk.core.trace |
| trace 头与身份信任头常量 | ikc_sdk.core.headers |
通用稳定错误码(000000/100001/100401/…/999999) |
ikc_sdk.core.codes |
| SDK 异常基类(家族统一兜底捕获) | ikc_sdk.core.exceptions.IkcSdkError |
视频域 260xxx 与下游 509xxx 码字面量由本 SDK 的 ikc_video_sdk.codes 发布,
与服务端 registry(/api/error-codes)的一致性由 tests/test_sdk_contract.py 守护。
安装
pip install /home/sharkyai/ikc-video-service/sdk/dist/ikc_video_sdk-0.1.0-py3-none-any.whl
快速开始
from ikc_video_sdk import IkCVideoClient
with IkCVideoClient("http://127.0.0.1:19200", token="dev-token") as client:
print(client.system.health()) # {"status": "ok", ...}
# V-01 异步切片:请求体嵌套 media(与 V-02 的扁平形状不同,由 SliceRequest 固化)
accepted = client.video.slice(
media={"source_format": "mp4", "object_key": "mm/video/a.mp4"}, mode="scene"
)
print(accepted.taskId) # 结果由上游按 taskId 获取
# V-02 同步处理:扁平请求体,阻塞至 mm-schema 清单产出
result = client.video.process(object_key="mm/video/a.mp4", klgId="klg_1")
print(result.manifest_key, len(result.segments))
入参三选一:请求模型(
SliceRequest/VideoProcessRequest,SDK 侧即校验)、 线缆 dict(原样透传,服务端校验)、关键字字段(按模型校验后只发显式传入的字段)。 V-01 的媒体来源在media下(media.object_key/media.input_url二选一), V-02 则在顶层,传错形状会得到100001。
异步版方法同名(AsyncIkCVideoClient),生产(IKC_VIDEO_AUTH_MODE=gateway_header)
传 identity=CallerIdentity(user_id=..., tenant_id=...) 以透传信任头。
版本与兼容性
| ikc-video-sdk | 依赖 ikc-sdk-lib | 说明 |
|---|---|---|
0.1.0 |
==0.12.1 |
首个独立分发版本(对齐 ikc-video 0.1.0) |
升级
ikc-sdk-libpin 属兼容性变更,须与服务端pyproject.toml同步; 所有涉及 Celery 的依赖组另受/home/sharkyai/依赖版本强制契约.md约束(SDK 不引入 celery)。
分发形态:本包只发布 wheel(
sdk/dist/ikc_video_sdk-<version>-py3-none-any.whl)。 sdist 在「由 sdist 重建 wheel」时会因force-include的相对路径(../src/ikc_video_sdk)失效而失败,故不上传 sdist。
Release files for ikc-video-sdk 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ikc_video_sdk-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / ikc_video_sdk-0.1.0-py3-none-any.whl
| Download URL | ikc_video_sdk-0.1.0-py3-none-any.whl |
|---|---|
| Size | 24.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
09a76a9a9ef1008b79e316b50eaf8b2451bbd64cdccfb7f49a318bf90f4af0ab
|
|
BLAKE2b-256 checksum How to use checksums |
d6446391b9a848b30c96342fa426764df3c11c5a5738c1c04d1b210eae673506
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|