Skip to main content

Telegram VoIP Library for Python

Project description

pytgvoip

Read the Docs PyPI AppVeyor (windows wheels) LGPLv3+

Telegram VoIP Library for Python

Community | Documentation

PytgVoIP is a Telegram VoIP library written in Python and C++.

It uses libtgvoip (a library used in official clients) for voice encoding and transmission, and pybind11 for simple generation of Python extension written in C++.

It is targeted to MTProto client library developers, detailed usage guide is available here.

An example of usage with Pyrogram is available here (pytgvoip_pyrogram in PyPI), could be used as reference.

Hopefully this module support will be integrated in Pyrogram itself, also @cher-nov has plans to integrate it into Telethon as well

Features

  • Python callbacks for sending and receiving audio stream frames allow flexible control
  • Pre-built Windows wheels in PyPI

Requirements

  • Python 3.5 or higher

Linux, MacOS: (use binary wheels from PyPI for Windows)

  • libtgvoip
  • CMake, C++11-compatible compiler, Python headers

Installing

pip3 install pytgvoip

Install pytgvoip_pyrogram to use this module with Pyrogram.

Encoding audio streams

Streams consumed by libtgvoip should be encoded in 16-bit signed PCM audio.

$ ffmpeg -i input.mp3 -f s16le -ac 1 -ar 48000 -acodec pcm_s16le input.raw  # encode
$ ffmpeg -f s16le -ac 1 -ar 48000 -acodec pcm_s16le -i output.raw output.mp3  # decode

Copyright & License

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

stefano_pytgvoip-0.0.7.6-cp313-cp313-musllinux_1_2_x86_64.whl (3.6 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

stefano_pytgvoip-0.0.7.6-cp313-cp313-musllinux_1_2_aarch64.whl (3.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

File details

Details for the file stefano_pytgvoip-0.0.7.6-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for stefano_pytgvoip-0.0.7.6-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ab22d4176f766f70d7bef43c8a514f069638fd858a0f2319c8539ca31ddd63d8
MD5 0133b22f6f876e64cbd77ad2c4b3c6c0
BLAKE2b-256 71dcd902c69023df871215200ef9a0b930d5feda696a2c1ed95a95008d2fab1e

See more details on using hashes here.

File details

Details for the file stefano_pytgvoip-0.0.7.6-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for stefano_pytgvoip-0.0.7.6-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 37cc269c22035f4732cf586d431149a228c3a3dd770f388c180341821f6cba52
MD5 a8d896559a628da43e202e1701daa90c
BLAKE2b-256 61b57305b243c6a63efb20d5e1240ac8354ee94b88a4abcd053ddbd5933646c5

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