Telegram VoIP Library for Python
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
- Python callbacks for sending and receiving audio stream frames allow flexible control
- Pre-built Windows wheels in PyPI
- Python 3.5 or higher
Linux, MacOS: (use binary wheels from PyPI for Windows)
- libtgvoip
- CMake, C++11-compatible compiler, Python headers
pip3 install pytgvoip
Install pytgvoip_pyrogram
to use this module with Pyrogram.
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 (C) 2019 bakatrouble
- Licensed under the terms of the GNU Lesser General Public License v3 or later (LGPLv3+)