Skip to main content

hik_isapi_audio

hik_isapi_audio 是一个轻量级、高性能的 Python 异步客户端,专门用于与海康威视(Hikvision)摄像头进行 ISAPI 协议交互。

与市面上现有的库不同,本项目除了支持基础的云台操作外,核心亮点在于对音频数据(Audio Data)的封装,支持实时语音对讲、广播以及音频流的获取。

✨ 核心特性

  • 语音对讲 (Audio Two-way): 支持基于 System/TwoWayAudio 的音频流处理。
  • 云台控制 (Access Control): 轻松实现摄像头的旋转\倾斜操作。
  • 简单易用: 基于 aiohttp 的封装,自动处理 Digest 摘要认证。
  • 流式传输: 支持处理海康私有的音频打包格式,方便接入 AI 语音识别或播放器。

安装

use pip

pip install hik_isapi_audio
pip install 'hik_isapi_audio[mic]'  # 可选依赖: 支持麦克风

use uv

uv add hik_isapi_audio
uv add hik_isapi_audio --extra mic  # 可选依赖: 支持麦克风

🚀 快速开始

import asyncio
from hik_isapi_audio import HikCameraControl

cam = HikCameraControl("192.168.1.64", "admin", "password")

# 1. 播放g711a格式音频文件
asyncio.run(cam.play_audio("tests/data/test.g711a"))

# 2. 云台移动
asyncio.run(cam.ptz_move(pan=50, duration=2))
asyncio.run(cam.ptz_move(pan=0, tilt=-10, duration=2))


# 3. 麦克风实时录制播放
async def test_mic_capture_task(cam):

    from hik_isapi_audio.mic import mic_capture_task, mic_data_generator

    queue = asyncio.Queue(maxsize=15)
    token = await cam.get_token_for_audio_data()
    await cam.voice_open()
    try:
        async with asyncio.TaskGroup() as tg:
            tg.create_task(mic_capture_task(queue))
            tg.create_task(cam.socket_send_task(mic_data_generator(queue), token))
    finally:
        await cam.voice_close()

asyncio.run(test_mic_capture_task(cam))

Metadata

Release files for hik-isapi-audio 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hik-isapi-audio 0.1.0
File Size Uploaded
hik_isapi_audio-0.1.0.tar.gz 5.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hik-isapi-audio 0.1.0
File Interpreter ABI Platform
hik_isapi_audio-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.2 kB

Release files / hik_isapi_audio-0.1.0.tar.gz

Download URL hik_isapi_audio-0.1.0.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
683a1cb41602bce1aabf3300f8c2f65ae6f4cda2e9db30b890162fbe76340577
BLAKE2b-256 checksum
How to use checksums
73397ab9b5aae87e5480d3938cc2af41d26ddcdcb10aa80207151f82177a1ba0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / hik_isapi_audio-0.1.0-py3-none-any.whl

Download URL hik_isapi_audio-0.1.0-py3-none-any.whl
Size 6.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a0d6fd45f32be220a270494e0854c485e7d586c01a84714a1060526ba9449094
BLAKE2b-256 checksum
How to use checksums
bf3454a364e1b921cf2be5bcab2024470a0e5aa1f7d352b51c537f347730a1db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page