Один і той самий ролик сто разів не зайде: площадка бачить дубль і ріже покази ще до того, як ти встиг розлити його на пачку акаунтів. УнікалізаціяУнікалізаціяСто разів один ролик не зайде: алгоритм бачить дубль. Унікалізатор перебирає відео так, що машині воно здається новим, а оку тим самим; у нас це Uniq. перебирає відео так, що машині воно здається новим, а оку — тим самим. Розберемо, за якими сигналами TikTok ловить повтор, чому «віддзеркалив і обрізав» давно не працює, і чим пакетна обробка на GPU відрізняється від ботів та онлайн-сервісів.
Як площадка взагалі ловить дублі
TikTok не порівнює файли байт у байт. Із кожного ролика він знімає перцептивний хешПерцептивний хешЦифровий відбиток картинки або відео. За ним платформа впізнає дублікати навіть після перетиснення файлу; унікалізатор на кшталт Uniq переробляє ролик так, щоб хеш став іншим. — короткий числовий відбитокВідбитокНабір прикмет браузера й пристрою (fingerprint), за якими платформа впізнає, що за акаунтами стоїть одна людина. Один спільний відбиток на всіх дає швидкий бан., який майже не змінюється після перетиснення чи ресайзу. Два кліпи, у яких відбитки різняться на пару біт, для площадки — те саме відео.
Відбиток не один. Зазвичай паралельно рахуються три сигнали:
- Відео-хеш за кадрами. Переживає легке стиснення й дрібний ресайз.
- Аудіо-відбиток за звуковою доріжкою — окремо від відео. Тому просто заглушити чи підмінити звук теж має значення.
- Метадані й текст у кадрі. Теги контейнера, рядок кодувальника і вшитий у кадр титр, який читається OCR, — усе це йде в антифродАнтифродСистеми платформи й партнерки, що ловлять накрутку, ботів і порушення. Чим грубіше ллєш, тим швидше спрацьовують..
Збіглися два з трьох із уже завантаженим — вітаю, тіньовий банТіньовий банАкаунт ніби живий і постить, а переглядів нуль. Платформа не банить прямо, просто викидає з показу; помічаєш пізно.. Не жорстке блокування, а тихе: ролик застрягає на парі сотень показів і не виходить у рекомендації. Увесь заливЗаливПачка роликів на пачку акаунтів: по суті це й є залив. Руками виходить зоопарк із пристроїв, антиків, проксі й акаунтів; софт на кшталт iOS Uploader знімає частину болю. іде в нуль, а ти навіть сповіщення не отримуєш.
Чому «віддзеркалив і обрізав секунду» не рятує
Перше, що пробує кожен: віддзеркалити по горизонталі, зрізати пів секунди на початку, поставити швидкість 0.97. Перестало працювати з двох причин.
По-перше, кожна така правка чіпає одну вісь і лишає решту відбитка недоторканою. Дзеркало міняє відео-хеш — так. Але аудіо лишається байт у байт тим самим, метадані не зачеплені, вшитий титр читається OCR так само. Два сигнали з трьох досі збігаються, і дубль-чек спрацьовує.
По-друге, сама правка стає патерном. Коли десять тисяч акаунтів дзеркалять і ріжуть один вірусний кліп, антифрод вивчає саме це перетворення. Одна передбачувана правка ловиться легше, ніж її відсутність. Звідси й головна помилка більшості схем масового постингуМасовий постингПублікуєш один або різні ролики відразу з десятків акаунтів, щоб забрати більше показів. Руками це нескінченне перемикання, тому постинг автоматизують.: файл міняють рівно настільки, щоб він виглядав «поколупаним», але недостатньо, щоб читатися як чесний новий креативКреативКонкретний ролик або зв'язка, яку заливаєш. На спамі женуть відразу пачку креативів: що зайде, те й масштабуєш..
Нормальна унікалізація рухає всі три сигнали одразу — і рухає на випадкову величину під кожну копію, щоб двох однакових рецептів не було.
Із чого складається унікалізація: три шари
Думай про це як про три шари поверх одного вихідника. Пропустив будь-який — лишив збіжний сигнал.
Візуальний шар. Тут живе більша частина відбитка, тому й параметрів найбільше. Що реально зсуває хеш, не вбиваючи додивленість: кроп на 2–5% зі зворотним масштабом до 1080×1920, мікроповорот на 0.5–2 градуси, швидкість 0.95–1.05, легка кольорокорекція (відтінок, насиченість, яскравість, контраст потроху), тонкий шар шуму й обрізка перших-останніх кадрів. Сенс не викрутити все на максимум, а зібрати випадкову комбінацію під кожну копію.
Аудіо-шар. Звук — окрема робота, візуал йому не допомагає. Пітч на 1–3%, темп у зв'язці зі швидкістю відео (щоб губи не роз'їхалися), легкий еквалайзер, тиха фонова підкладка на −40 дБ і нижче. Якщо тримаєшся за трендовий звук — перетисни його в іншому бітрейті, а не викидай.
Метадані. Найдешевший шар і той, який забувають. Кожен телефон пише свій набір тегів контейнера. Затри й перепиши їх: прибери вихідний таймстамп, перепиши рядок кодувальника, вичисти GPS і поля пристрою, перекодуй контейнер. Сам по собі цей шар хеш не чіпає — тому «унікалізатори», що крутять лише метадані, не працюють. Але під візуалом і звуком він прибирає останню легку зачіпку, за якою антифрод пов'язує твої завантаження.
Ручні способи: CapCut, FFmpeg і чому це не масштаб
Зібрати все це руками можна. CapCut чи інший монтажник закриють кроп, швидкість, колір і звук на одному ролику. FFmpeg робить те саме ланцюжком фільтрів і ганяється хоч на ноуті. Проблема одна — пропускна здатність.
На одному ролику поколупатися приємно. Але в тебе не один ролик. У тебе ферма пристроївФерма пристроївПул реальних телефонів під мультиакаунтинг. На iOS це стійка айфонів, кожен зі своїм акаунтом і проксі; софт на кшталт iOS Uploader керує всією стійкою відразу. і десятки акаунтів, кожному — своя копія під кожен залив. Руками в монтажнику це години на день. FFmpeg швидший, але на CPU кодування 30-секундного кліпу з повним набором фільтрів іде по 15–45 секунд, і на трьохстах копіях ти чекаєш дві-чотири години, перш ніж вийде перший пост. Плюс рандомізацію під кожну копію ти прописуєш сам.
Боти й онлайн-сервіси: швидко, але зі стелею
Звідси популярність Telegram-ботів і онлайн-унікалізаторів. Закинув файл — забрав унікалізований. Зручно на парі роликів, але у формату свої межі:
| Спосіб | Плюс | Мінус |
|---|---|---|
| Telegram-бот | Швидкий старт, нічого не ставити | Один файл за раз, ліміти, оплата за штуку |
| Онлайн-сервіс | Працює з браузера | Жене твій контент через чужий сервер, часто ріже якість |
| Ручний FFmpeg/CapCut | Повний контроль | Не масштабується, рандомізація на тобі |
Спільна біда ботів і сервісів — поштучність і чужий сервер. На фермі, де двадцять акаунтів постять по 3–5 роликів на день, це або триста-плюс доларів на місяць на підписках унікалізаторів, або черга, у якій ти обробляєш ролики по одному, поки пул простоює.
Пакетна обробка на GPU: де це перестає бути болем
На обсязі вузьке місце — це час кодування. І воно вирішується залізом. Апаратні кодувальники (NVENC і рідня) проганяють той самий набір фільтрів за частки секунди на кліп, тому триста варіантів готові за хвилини, а не за години. Саме цей розрив і відділяє пакетну унікалізаціюУнікалізаціяСто разів один ролик не зайде: алгоритм бачить дубль. Унікалізатор перебирає відео так, що машині воно здається новим, а оку тим самим; у нас це Uniq. на GPU від поштучних ботів.
Це й робить Merin Uniq: один вихідник на вході, сотні несхожих копій на виході, 12 параметрів (кроп, зум, поворот, швидкість, колір, шум, пітч, темп, метадані й решта), кожен із випадковим значенням під свою копію. Рендер локальний — контент не їде на чужий сервер. І це зв'язка uniq → publish прямо в Merin iOS Uploader: свіжий варіант лягає на кожен пристрій без ручного експорту між кроками.
Як будувати конвеєр: один вихідник → 30 унікальних
Робоча логіка проста: одна копія — один акаунт, копії між акаунтами повторно не використовуються. Якщо два акаунти постять один файл, у них спільний відбиток, площадка їх пов'язує, і страйк по одному тягне другий через каскадний банКаскадний банБан одного акаунта ланцюжком зачіпає пов'язані з ним за пристроєм, IP або відбитком. Тому акаунти й розводять по різних проксі й пристроях.. Заради цього копії й роблять персональними.
Орієнтир за обсягом під один сильний вихідник:
- 5–10 акаунтів: по копії на акаунт, новий вихідник раз на тиждень.
- 20–50: по копії на акаунт під кожен залив, новий вихідник раз на 2–3 дні.
- 100+: по копії на акаунт під кожен залив, новий вихідник щодня.
Більше кількох сотень копій з одного 30-секундного ролика — і навіть із випадковими параметрами лізе помітна деградація: рухати безкінечно не можна, кліп починає виглядати замученим. Просіла віддача з вихідника — заводь новий креативКреативКонкретний ролик або зв'язка, яку заливаєш. На спамі женуть відразу пачку креативів: що зайде, те й масштабуєш., а не вичавлюй старий. Унікалізація дає різні відбитки. Свіжу додивленість вона не друкує, і алгоритм досі нагороджує те, що люди реально додивляються.
Коротко
- TikTok ловить повтор за трьома незалежними відбитками: відео-хеш, аудіо-відбиток, метадані плюс текст у кадрі.
- Поодинокі правки (дзеркало, обрізка, легка швидкість) не рятують: рухають один сигнал, лишають два, а сама правка стає патерном.
- Справжня унікалізація складає три шари — візуал, звук, метадані — і рандомить параметри під кожну копію.
- Одна копія — один акаунт, без повторного використання, інакше каскадний бан.
- Боти й онлайн-сервіси працюють поштучно і женуть контент через чужий сервер. Ручний FFmpeg упирається в час кодування.
- На обсязі вирішує GPU: триста копій із годин перетворюються на хвилини. Там пакетний унікалізатор на кшталт Merin Uniq і посідає своє місце в конвеєрі.