Skip to main content

A asynchronous Python client for Hikvision ISAPI with enhanced support for two-way audio and stream data.

Project description

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))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hik_isapi_audio-0.1.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hik_isapi_audio-0.1.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file hik_isapi_audio-0.1.0.tar.gz.

File metadata

  • Download URL: hik_isapi_audio-0.1.0.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for hik_isapi_audio-0.1.0.tar.gz
Algorithm Hash digest
SHA256 683a1cb41602bce1aabf3300f8c2f65ae6f4cda2e9db30b890162fbe76340577
MD5 6b41f62a6bb4f19a5213a825b808c429
BLAKE2b-256 73397ab9b5aae87e5480d3938cc2af41d26ddcdcb10aa80207151f82177a1ba0

See more details on using hashes here.

File details

Details for the file hik_isapi_audio-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: hik_isapi_audio-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for hik_isapi_audio-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a0d6fd45f32be220a270494e0854c485e7d586c01a84714a1060526ba9449094
MD5 e62052ec580533937e9f2dd5262d0540
BLAKE2b-256 bf3454a364e1b921cf2be5bcab2024470a0e5aa1f7d352b51c537f347730a1db

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page