MemeBotMemeBot
Главная → Как я сделал бота, который из ссылки делает видео

Как я сделал бота, который из ссылки делает видео

История пет-проекта: началось с бытового раздражения, а закончилось локальным Bot API, борьбой с водяными знаками и склейкой слайдшоу.

Открыть бота в Telegram

Бесплатно, без рекламы и обязательных подписок

С чего всё началось

Классика жанра: скинул другу тикток и получил в ответ: «скачай нормально, без надписи через весь экран». Ладно, думаю, дело двух минут. Открываю первого попавшегося бота для скачивания.

А там: «подпишись на 3 канала», «пришли рекламу другу, чтобы разблокировать», всплывающий баннер казино и, как вишенка на торте, видео с жирным водяным знаком поверх кадра. Во втором боте всё оказалось так же. Третий вообще прислал не тот ролик.

И тут стало по-настоящему интересно: это же элементарная задача, почему её превратили в квест? Спойлер: элементарной она оказалась только на бумаге.

Грабли №1: водяной знак — это не «фильтр наоборот»

Наивная идея была такая: скачаю файл, вырежу метку. Так вот, нет. Площадки отдают видео уже с вшитым водяным знаком: это часть кадра, а не отдельный слой, который снимается галочкой.

Рабочий путь — не затирать метку поверх (это всегда мыло и артефакты), а искать источники и форматы отдачи, где её ещё нет. То есть вся возня уходит в парсинг: где взять чистый поток, какой формат запросить, как не нарваться на вариант с меткой. И это не задача из разряда «сделал и забыл»: парсинг ломается всякий раз, когда площадка что-то меняет у себя.

Грабли №2: Telegram жмёт видео

Второй сюрприз выдал сам Telegram. У Bot API есть лимит на размер файла, который бот может отправить, а облачный вариант любит пережимать видео. То есть ты честно достал чистый ролик, а пользователь получает мыло.

Лечится поднятием локального Bot API-сервера вместо обращения к облачному: выше потолок по размеру, меньше лишних пережатий. Возни с инфраструктурой прибавляет, но качество на выходе того стоит. Побочный эффект оказался приятным: отдача видео в чат ускорилась в разы.

Грабли №3: слайдшоу тиктока

Отдельная сложность — посты, где вместо видео набор фотографий под музыку. Другие боты их либо не берут вообще, либо шлют кучей отдельных немых картинок, и вся суть теряется.

Пришлось собирать слайды обратно в нормальный ролик: склеить кадры, подложить ту самую музыку, выдержать тайминги. На выходе — видео, каким оно задумывалось автором. Мелочь, а именно на слайдшоу спотыкается большинство качалок.

Грабли №4: кодеки и чёрный экран на iPhone

Отдельная история, которая всплыла уже в проде. Видео с YouTube на компьютере и на Android игралось нормально, а на iPhone и iPad — чёрный экран со звуком. При перемотке кадры в мини-окне видны, а само видео чёрное.

Оказалось, дело в кодеке: YouTube отдаёт AV1 в том числе внутри mp4-контейнера, а iOS его аппаратно не декодирует. Причём «mp4» в названии формата ничего не гарантирует — это контейнер, а не кодек. Фикс — явно требовать H.264 при скачивании, а не надеяться на расширение файла.

Про inline: почему это красивое инженерное решение

Inline-режим Telegram незаслуженно обделён вниманием. Ты не добавляешь бота в чат. В любом диалоге пишешь @meme_v2bot, вставляешь ссылку — Telegram показывает готовое видео над клавиатурой, и ты отправляешь файл собеседнику. В чужой группе, в личке, где угодно — бота там нет, а видео улетает.

Для пользователя это выглядит магией, для разработчика — приятная механика, которую почему-то мало кто из ботов-качалок доводит до ума. Подробнее — на странице «Бот из ссылки в видео».

Честно про то, что не идеально

Не буду делать вид, что всё работает как часы. Площадки живут своей жизнью: что-то периодически отваливается, что-то приходится чинить после их обновлений. Это нормальное состояние для проекта, который парсит чужие сервисы. Но базовый принцип держится: кидаешь ссылку — получаешь чистое видео, без танцев с бубном.

Монетизация без душноты

Бот бесплатный — 20 ссылок в день хватает почти всем. Есть платные тарифы через Telegram Stars: они снимают дневной лимит и добавляют чатов, но платной стены нет — пришёл, скачал, ушёл, ничего не должен. Рекламу я туда не пихаю принципиально: с неё вся история и началась.

Потыкать

Если надоели боты с рекламой и водяными знаками — вот решение: @meme_v2bot. Пришли ссылку на тикток, рилс, шортс или твит, Threads или VK — получаешь чистое видео. В личке, в группе или inline в любом чате.

Частые вопросы

Почему нельзя просто вырезать водяной знак из видео?

Площадки отдают ролик с уже вшитой в кадр меткой — это не отдельный слой. Замазывание метки поверх даёт мыло и артефакты, поэтому правильный путь — искать источник, где метки ещё нет.

Зачем боту локальный Telegram Bot API?

Облачный Bot API ограничивает размер файла и пережимает видео. Локальный сервер поднимает потолок, убирает лишние пережатия и заметно ускоряет отдачу видео в чат.

Почему видео с YouTube было чёрным на iPhone?

Потому что скачивался кодек AV1, который iOS не декодирует аппаратно. Расширение mp4 не гарантирует кодек, поэтому H.264 нужно запрашивать явно.

Бот платный?

Нет, базово бесплатный: 20 ссылок в день без рекламы и подписок. Платные тарифы снимают дневной лимит, но пользоваться ботом можно и без них.

Попробовать прямо сейчас

Отправь боту ссылку и получи видео через пару секунд.

Открыть @meme_v2bot

Читайте также

история разработки телеграм ботабот скачать видео без рекламыкак сделать телеграм бота для видео