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.1.post1-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.1.post1-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.1.post1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for stefano_pytgvoip-0.0.7.1.post1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b732e30daf5596094014e5479dabbe63b95591699a8f823b72da572952d3675b
MD5 b36830d92cb07d894512b6132509385a
BLAKE2b-256 ac590a0775ffa27bcb42fefd33f16429559cb588ef63f0dc9f3d47e13749a25c

See more details on using hashes here.

File details

Details for the file stefano_pytgvoip-0.0.7.1.post1-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for stefano_pytgvoip-0.0.7.1.post1-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 400fa349e83ee0c5bb1c0692748b4640cfca09d2e83c430548cf375ead83a786
MD5 90f6e286940b9917ddb729aa64839058
BLAKE2b-256 fefc76c98e89a7ba25976541161bd75f3795bff46a8dccaae1e2cc7c6be9ffae

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