Создаем Telegram-бот для конвертации видео в GIF
Traffic Cardinal Traffic Cardinal  написал 03.02.2025

Создаем Telegram-бот для конвертации видео в GIF

Traffic Cardinal Traffic Cardinal  написал 03.02.2025
6 мин
0
1104
Содержание

Чем больше вес файла в Telegram — тем ниже шанс его просмотра, это особенно актуально, если речь о видосах. Пользователи попросту не привыкли что-то скачивать из мессенджера по полчаса, а потокового воспроизведения в Телеге нет (и вряд ли будет). Помочь с этим может бот для конвертации видео в GIF, процесс создания которого мы и рассмотрим в этой статье.

banner banner

Какие задачи выполняет бот для конвертации видео в GIF

Из названия материала очевидно, что бот превращает видеоролик в GIF-анимацию. Но зачем это нужно? А нужно это, например, для:

  • Повышения конверсии — если звук не важен, то незачем перегружать пост тяжеловесным видосом.

  • Упрощения жизни — GIF-анимации нужны не только в Telegram. Конечно, есть standalone-программы для конвертации. Но давайте будем честны: сегодня про их существование помнят лишь те, кто постоянно конвертирует одно в другое. И говоря постоянно, мы имеем в виду 99% рабочего времени. Даже дизайнеры и маркетологи все чаще ищут онлайн-сервисы. А уж арбитраны и подавно.

  • Упрощения жизни 2.0 — вы умеете снимать видосы? Скорее всего, да. А создавать анимации? Возможно. Но такое умеет далеко не каждый читатель. Так не проще ли создать анимацию из видоса?

  • Прочих танцев с бубном — в отличие от видео, GIF можно использовать для создания стикеров, интерактивных ответов в беседе и во множество других ситуаций. Тут все упирается лишь в фантазию.

А еще, как и любой другой «что-то делающий» бот, этот конвертер можно использовать для генерации трафика. Делать ставку только на это мы не советуем (во всяком случае, если у вас не сетка ботов) — это пыль, а не профит. Но вот если монетизировать «между делом» — почему бы и да? Просто добавьте к нему функционал попрошайки подписки и генерируйте немного трафа в пассивном режиме. А уж если у вас целая сетка ботов… Ну да ладно — вернемся к нашему конвертеру.

Принцип работы бота для конвертации видео в GIF

  1. Авторизация через bot_api в Telegram.
  2. Прослушивание обращений и отклик на событие «Новое сообщение».
  3. Если сообщение не содержит видеофайла — вывод приветственного сообщения с просьбой прислать видео для конвертации в GIF.
  4. Если новое сообщение содержит видеофайл, сохранение видоса на сервер.
  5. Конвертация видеоряда из полученного файла в GIF-анимацию посредством ffmpeg-инструментов.
  6. Отправка в ответном сообщении GIF-файла после завершения конвертации.
  7. Удаления исходного видео и GIF-файла с сервера после завершения отправки результата.

На самом деле алгоритм на порядок сложнее, но мы же создаем бот, а не разбираемся с архитектурой ffmpeg-библиотеки. Поэтому упростим самую сочную сложнятину до простого человеческого «конвертирует»
На самом деле алгоритм на порядок сложнее, но мы же создаем бот, а не разбираемся с архитектурой ffmpeg-библиотеки. Поэтому упростим самую сочную сложнятину до простого человеческого «конвертирует»

Пошаговая инструкция, как сделать бот для конвертации видео в GIF на Python

Как и в случае с развертыванием любого другого бота, сначала нужно подобрать сервер, где бот будет «жить». В нашем случае сервер должен подходить под использование Python — так как бот написан на Змее. В общем же случае сервер нужно подбирать под свой ЯП. Чтобы не арендовать железо вслепую, можете использовать собственный ПК и развернуть бот на нем. Для тестов — самое оно. А там со временем уже и понимание того, что именно вам нужно для ваших делишек, постепенно придет.

После создания сервера нужно его настроить. Если ваш сервак на Винде, как в гайде по ссылке выше, вводим в консоль:

winget install ffmpeg

Если же вы арендовали сервер и он на Linux (Ubuntu/Debian), то вводим либо:

sudo apt install ffmpeg

Либо для Linux (CentOS/Fedora):

sudo dnf install ffmpeg

Далее в любом из трех случаев вводим:

pip install python-telegram-bot moviepy

После завершения настройки делаем следующее:

  1. Находим в Телеге BotFather и следуем его инструкциям, чтоб получить токен для бота. Сам токен копируем куда-то.
  2. Открываем корень сервера, создаем текстовый файл, переносим в него следующий код:
    import os
    import imageio
    from telegram import Update
    from telegram.ext import Application, CommandHandler, MessageHandler, filters, CallbackContext
    def video_to_gif(video_path: str, gif_path: str):
    reader = imageio.get_reader(video_path)
    fps = reader.get_meta_data()['fps']
    writer = imageio.get_writer(gif_path, fps=fps)
    for frame in reader:
    writer.append_data(frame)
    writer.close()
    async def start(update: Update, context: CallbackContext) -> None:
    await update.message.reply_text('Привет! Отправь мне видео, и я конвертирую его в GIF.')
    async def handle_video(update: Update, context: CallbackContext) -> None:
    video_file = await update.message.video.get_file()
    video_path = "input_video.mp4"
    gif_path = "output.gif"
    await video_file.download_to_drive(video_path)
    video_to_gif(video_path, gif_path)
    await update.message.reply_document(document=open(gif_path, 'rb'))
    os.remove(video_path)
    os.remove(gif_path)
    def main() -> None:
    token = "
    ТОКЕН СЮДА"
    application = Application.builder().token(token).build()
    application.add_handler(CommandHandler("start", start))
    application.add_handler(MessageHandler(filters.VIDEO, handle_video))
    application.run_polling()
    if __name__ == '__main__':
    main()
  3. Вместо ТОКЕН СЮДА подставляем свой токен от бота.
  4. Сохраняем файл как bot.py
  5. Запускаем бот командой python bot.py

Проверяем работоспособность.

Демонстрация работы

GIF-файл получен. Пусть вас не пугает его «квадратность» — это просто формат отображения превью Телеги
GIF-файл получен. Пусть вас не пугает его «квадратность» — это просто формат отображения превью Телеги

Как видите, при открытии все исходное содержимое на месте (левый и правый блоки сайта с баннерами были вырезаны из видоса изначально, чтобы не загромождать скрины рекламой)
Как видите, при открытии все исходное содержимое на месте (левый и правый блоки сайта с баннерами были вырезаны из видоса изначально, чтобы не загромождать скрины рекламой)

Подводя итоги

Создать Telegram-бот для конвертации видео в GIF проще, чем кажется. Для чего именно его использовать — создания крео, облегчения контента постов или генерации подписок, оставляем на откуп вам. Подписывайтесь на наш Telegram и получайте исходный код ботов первыми!

ТОП партнерских программ
Год основания: 2014
Leadbit Nutra - опытная партнерская программа с 900+ офферов на ТОПовые ГЕО. Для вебмастеров представлены COD и Trials&SS офферы на любой вкус.

Ключевые особенности:
- эксклюзивные рекламодатели
- огромный выбор офферов по всему миру
- индивидуальные условия для партнеров
- дружелюбные персональные менеджеры
- программа лояльности с ценными призами
  • Вертикали: 1
  • Офферы: 76
  • Минимум: 50 $
Год основания: 2016
Официальная партнерская программа букмекерской конторы MostBet. Программа запущена в 2016 году. За это время несколько тысяч партнеров привели в Mostbet более 15 000 000 игроков со всего мира. Партнерка специализируется на онлайн-казино и беттинге, а выплаты происходят по моделям CPA и RevShare. У продукта Mostbet есть ряд важных преимуществ, которые неизменно привлекают азартных игроков и позволяют достигать высоких Retention Rate и LTV. Например, на сайте можно найти около 1300 слотов и прочих продуктов казино.

Преимущества:
- Досрочные выплаты по запросу;
- Экспертная поддержка менеджеров,
- Высокая конверсия и LTV;
- Уникальные промо-материалы и прелендинги;
- собственный трекер приложения;
- Демо-счет для игроков на любую сумму;
- Персональный промокод для привлечения игроков.
- Минимальная выплата: 50 $
- Периодичность выплат: по запросу
- Реферальная система: 0%
  • Вертикали: 1
  • Офферы: 8
  • Минимум: 50 $
Год основания: 2013
Shakes.pro — крупная партнерская сеть с 2013 года, отбирает самые выгодные nutra-офферы по всему миру (включая in-house). Является частью крупного холдинга. Забудь о бесконечном поиске офферов! Здесь тебе предлагают только то, что уже приносит реальные деньги на все страны.

Основные преимущества

Гарантированный и высокий апрув. Команда сама решит все вопросы с рекламодателями и поделится качественными промо с локализацией.
3 программы лояльности, с которыми ты будешь получать ценные призы за каждый лид.
Ежеквартальные подборки офферов с подробной аналитикой, которые успешнее других по доходам.
  • Вертикали: 1
  • Офферы: 23
  • Минимум: 3000 ₽
Год основания: 2014
Не нашли подходящий оффер? Не беда, подключим под вас

Работать можно со многими источниками трафика. Поможем со всем необходимым для работы. Наша главная цель - обеспечение комфортных и качественных условий работы как для вебмастеров, так и для рекламодателей.

Ключевые особенности:
• Family партнерка. Решим любые боли наших вебмастеров
• Индивидуальные условия работы по любым офферам. Наличие капов
• Выплаты по запросу, без выходных и праздников
• Собственный store с шикарными призами
• Выдаем прилы под iOS/android, готовые крео под залив, аудитории таргетинга
• Максимально подробная статистика, обновляемая в режиме Real-Time
• Саппорт, личный менеджер 24/7
  • Вертикали: 2
  • Офферы: 649
  • Минимум: 50 $
LGaming — это партнерская сеть в вертикали беттинг и гемблинг с более чем 1000 активными офферами от 200 рекламодателей. В партнерке доступен инхаус-продукт BetAndreas. Сеть LGaming создана командой, за плечами которой несколько лет опыта в гемблинг-вертикали CPA-сети Leadbit. Партнерская сеть предлагает проверенные креативы с высоким конвертом и рекомендации по проливу от отдела баинга. Также у компании есть собственный бренд и партнерский сервис по выдаче виртуальных карт.
  • Вертикали: 1
  • Офферы: 1000+
  • Минимум: 100 $
Комментарии
0
Написать комментарий

Здравствуйте! У вас включен блокировщик рекламы, часть сайта не будет работать!