/Video2Telegram

Watches a folder. If new file, sends gif using Telegram Messenger.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Video to Telegram

Dog trying to enter a door with a stick on its mouth

About

This docker container checks if a new file is created on a folder and sends it to a person/group/channel using Telegram Messenger.

The idea behind this project is to send me a gif everytime my camera detects movement. The camera is pointed to my door, this way I can see on real time who is entering or leaving my place. Also, another unexpected benefit of using this project is to have a cloud backup of my camera for free.

Setup

Docker Compose

file2gif:
    image: gabrielrf/video2telegram
    environment:
        - BOT_TOKEN=
        - FOLDER=/
        - EXTENSION=mp4
        - DESTINATION=
    restart: always
    volumes:
        - host_folder:container_folder

BOT_TOKEN: Token given by @BotFather on Telegram.

FOLDER: Folder that will be monitored by the script. In case of a folder tree, set the top-level folder.

EXTENSION: The extension of the file that should be sent. Usually mp4 is the case.

DESTINATION: To whom the message will be sent.

volumes: The same folder used on FOLDER:Some folder that exists on the container. Suggested: /mnt

Python

First, run

pip install inotify
pip install pytelegrambotapi
pip install ffmpy

to install the libraries needed. Then, open file2gif.py and make the necessary adjustments on BOT_TOKEN, FOLDER, EXTENSION and DESTINATION as listed above.

Run the Python Script.

python file2gif.py

Synology Docker

Open the Docker App on your Synology Device. On Registry, look for video2telegram and double click the result to download the image.

Synology Registry

On the Image tab, check if the download is completed. Once completed, double click the image and set it as follows.

Synology Container Launch image 1

Container Name is optional. Enable auto-restart is recommended. Click on Advanced Settings and go to tab Volume. Click on Add Folder and find your camera folder.

Synology Container Launch image 2

Click on Select. Go to tab Environment and add the variables. Check Docker Compose topic for details. Don't create or change other variables.

Your settings should look similar to this image:

Synology Container Launch image 3

Click on Apply and it should be ready and running.

Example

This is a YouTube video with the expected result

YouTube video of Video2Telegram

Contribute

Pull requests and issues are welcome!

Contact me

GabRF.com

@GabrielRF on Telegram.