Skip to main content

A Telegram Bot to stream content on your smart TV

Project description

smart-tv-telegram PyPI PyPI - License Docker

A Telegram Bot to stream content on your smart TV (also Chromecast, FireTV and other UPnP device)

Demonstration video

poc

Feature

  • Streaming, the bot will not have to download the entire file before playing it on your device
  • You can play anything if your device has the right codec
  • You can stream on any device that supports UPnP (AVTransport)
  • Chromecast, Vlc (telnet api) and Kodi (xbmc http api) support
  • Streaming over HTTP
  • Web interface that plays videos in your browser

Note: Chromecast (1st, 2nd and 3rd Gen.) only supports H.264 and VP8 video codecs

Note: Most LG TVs with WebOS have an incorrect UPnP implementation

How-to setup (Release from pypi)

Make sure you have an updated version of python, only the latest version will be supported

  • Install smart-tv-telegram from pip
  • Download config.ini.example as config.ini
  • Edit config.ini
  • Start from python entrypoint
python3 -m pip install --upgrade smart-tv-telegram
curl https://raw.githubusercontent.com/andrew-ld/smart-tv-telegram/master/config.ini.example -o config.ini
nano config.ini
smart_tv_telegram -c config.ini -v 1

How-to setup (Manual build)

Make sure you have an updated version of python, only the latest version will be supported

  • Download the repository
  • Build wheel package
  • Install package
  • Copy config.ini.example to config.ini
  • Edit config.ini
  • Start from python entrypoint
git clone https://github.com/andrew-ld/smart-tv-telegram
cd smart-tv-telegram
python3 -m pip install wheel
python3 setup.py sdist bdist_wheel
python3 -m pip install dist/*.whl
cp config.ini.example config.ini
nano config.ini
smart_tv_telegram -c config.ini -v 1

How-to setup (Docker)

  • Copy config.ini.example to config.ini
  • Edit config.ini
  • Build Docker image
  • Start Docker container
cp config.ini.example config.ini
nano config.ini
docker image build -t smart-tv-telegram:latest .
docker run --network host -v "$(pwd)/config.ini:/app/config.ini:ro" -d smart-tv-telegram:latest

Troubleshooting

Q: How do I use the web interface?

A: Set enabled to 1 in web_ui config block, and change the password

  • open http://listen_ip:listen_port/static/index.html

  • now if you send a video in the bot on telegram you can choose to play it in the browser

Q: My Firewall block upnp and broadcasting, how can use kodi without it

A: Set xbmc_enabled to 1 and add your kodi device to xbmc_devices list

Q: What is the format of xbmc_devices

A: A List of Python Dict with host, port, (and optional: username and password)

example: [{"host": "192.168.1.2", "port": 8080, "username": "pippo", "password": "pluto"}]

Q: How-To control vlc from this bot

A: set vlc_enabled to 1 and add your vlc device to vlc_devices list

Q: What is the format of vlc_devices

A: A List of Python Dict with host, port, (and optional: password)

example: [{"host": "127.0.0.1", "port": 4212, "password": "123"}]

Q: How-To enable upnp on my device that use kodi

A: follow this guide (you should enable remote control)

Q: How do I get a token?

A: From @BotFather

Q: How do I set up admins?

A: You have to enter your user_id, there are many ways to get it, the easiest is to use @getuseridbot

Q: How do I get an app_id and app_hash?

A: https://core.telegram.org/api/obtaining_api_id#obtaining-api-id

Q: The video keeps freezing

A: Check the video bitrate, this bot supports maximum ~4.5Mb/s

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

smart_tv_telegram-1.3.8.dev0.tar.gz (32.8 kB view details)

Uploaded Source

Built Distribution

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

smart_tv_telegram-1.3.8.dev0-py3-none-any.whl (36.7 kB view details)

Uploaded Python 3

File details

Details for the file smart_tv_telegram-1.3.8.dev0.tar.gz.

File metadata

  • Download URL: smart_tv_telegram-1.3.8.dev0.tar.gz
  • Upload date:
  • Size: 32.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.1

File hashes

Hashes for smart_tv_telegram-1.3.8.dev0.tar.gz
Algorithm Hash digest
SHA256 1e5bd7de44b3eb5dc0264d7c78bac1d4fd377bd414843a598eb1f0cbe63e09a6
MD5 9d9e2614c0aebf2cc98b2114f3eb6450
BLAKE2b-256 5fcae013b1f0a893868210e9bc637a7c37d8cadad49b72e87f94de5a14865e48

See more details on using hashes here.

File details

Details for the file smart_tv_telegram-1.3.8.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for smart_tv_telegram-1.3.8.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 be2bb94c635bc1dc8fffe549e9ffcb6363940c20952aa5876bff1caf13669963
MD5 a5749d50db64084d1baa22365cb35057
BLAKE2b-256 46427ba66f362de4e0740feb86ab748b9711ecd759cda8e7cb3c45ee495f65c5

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