py-tgcalls

Async client API for the Telegram Group Calls

Showing:

Popularity

Downloads/wk

0

GitHub Stars

87

Maintenance

Last Commit

9d ago

Contributors

7

Package

Dependencies

4

License

LGPL-3.0

Categories

Readme

pytgcalls logo
A simple and elegant client that allows you to make group voice calls quickly and easily.
Examples Documentation PyPi Channel Chat

PyTgCalls

pre-commit.ci status PyPI PyPI - Python Version GitHub OS Node Version Architectures Downloads

This project allows to make Telegram group call with MTProto Api using Pyrogram and WebRTC, this is possible thanks to the power of NodeJS's WebRTC library and @evgeny-nadymov

What are the supported clients?

The supported clients for now are Pyrogram and Telethon, but we accept other clients too, you can open a pull request with the edits

How to install?

Here's how to install the PyTgCalls lib, the commands are given below:

# With Git
pip install git+https://github.com/pytgcalls/pytgcalls -U

# With PyPi (Recommended)
pip install py-tgcalls -U

Conversion command (Video)

From file to raw video

ffmpeg -i {INPUT_FILE} -f rawvideo -pix_fmt yuv420p -vf scale=640:-1 {OUTPUT_FILE}

From H264/VP8/VP9 to Audio and Video

ffmpeg -i {INPUT_FILE} -f s16le -ac 1 -ar {BITRATE} {OUTPUT_AUDIO_FILE} -f rawvideo -r {FRAMERATE} -pix_fmt yuv420p -vf scale={SCALING}:-1 {OUTPUT_VIDEO_FILE}

From youtube video/live-stream to Audio and Video

ffmpeg -i "$(youtube-dl -x -g "{YOUTUBE_LINK}")" -f s16le -ac 1 -ar {BITRATE} {OUTPUT_AUDIO_FILE} -f rawvideo -r {FRAMERATE} -pix_fmt yuv420p -vf scale={SCALING}:-1 {OUTPUT_VIDEO_FILE}

From YouTube Live stream to Video

Important!

The max resolution allowed by Telegram is of 720p at 30 fps Here also listed the scaling format

  • 360p = 640
  • 480p = 864
  • 720p = 1280

If you have any problem with green screen or un-synchronized video, it can be one of these problems:

  • Invalid FFMPEG command
  • The video quality specified to convert is higher than the original video one
  • Invalid PyTgCalls video parameters

Conversion commands

From file to raw format

ffmpeg -i {INPUT_FILE} -f s16le -ac 1 -ar {BITRATE} {OUTPUT_FILE}

From stream link to raw format

ffmpeg -y -i {STREAM_LINK} -f s16le -ac 1 -ar {BITRATE} {OUTPUT_FILE}

From youtube video/live-stream to raw format

ffmpeg -i "$(youtube-dl -x -g "{YOUTUBE_LINK}")" -f s16le -ac 1 -ar {BITRATE} {OUTPUT_FILE}

Credits

Big thanks to @evgeny-nadymov for allowing us to use their code from telegram-react and thanks to alemidev for helping to rebuild this library

This library is based on tgcallsjs developed @AndrewLaneX and pyservercall by @Laky-64

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100