Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gabrielrf/videocaptionsbot
Telegram Bot @VideoCaptionsBot
https://github.com/gabrielrf/videocaptionsbot
ffmpeg openai-whisper pytelegrambotapi python telegram telegram-bot
Last synced: 22 days ago
JSON representation
Telegram Bot @VideoCaptionsBot
- Host: GitHub
- URL: https://github.com/gabrielrf/videocaptionsbot
- Owner: GabrielRF
- License: gpl-3.0
- Created: 2023-08-18T21:18:49.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-10T16:13:03.000Z (about 1 year ago)
- Last Synced: 2023-12-18T13:00:59.669Z (11 months ago)
- Topics: ffmpeg, openai-whisper, pytelegrambotapi, python, telegram, telegram-bot
- Language: Python
- Homepage: https://t.me/VideoCaptionsBot
- Size: 57.6 KB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# VideoCaptionsBot
> Em beta## Contribuições
Toda contribuição é bem vinda!
* Verifique as issues abertas e, se possível, sugira soluções;
* Abra novas issues;
* Envie um PR (preferencialmente vinculado a uma issue);
* Fale comigo no Telegram ([@GabrielRF](https://t.me/GabrielRF)).## Funcionamento
Este bot possui dois processos em execução em paralelo. São eles:
### VideoCaptionsBot.py
O arquivo `videocaptionsbot.py` faz o `polling` das atualizações. Assim que recebe um arquivo, um vídeo ou uma "mensagem de bolinha", a mensagem é enviada ao _RabbitMQ_.
#### Funções
* `add_to_line`: Adiciona a mensagem recebida à fila;
* `start`: Responde o comando `/start`;
* `get_video`: Responde ao receber um vídeo, um arquivo ou uma "mensagem de bolinha".### Consumeline.py
Ao perceber alguma mensagem na fila do _RabbitMQ_, este arquivo inicia o processamento da mensagem.
#### Funções
* `subs_data`: Verifica os valores de tamanho da legenda e altura em relação ao vídeo;
* `add_subtitles`: Adiciona as legendas com base no arquivo `srt`;
* `remove_files`: Remove os arquivos do sistema;
* `download_file`: Baixa o arquivo do servidor do Telegram;
* `create_subs`: Cria o arquivo `.srt` com base na transcrição;
* `voice_to_text`: Faz a transcrição do vídeo recebido;
* `send_file`: Envia o arquivo com legendas ao usuário;
* `consume_line`: Verifica se há arquivos na fila e dá início ao processamento da legenda.