Привет! На связи Антон Конвертов.
Уникализация видеокреатива — более сложная задача, чем уникализация статичного изображения. Для видео недостаточно изменить или удалить метаданные, нужно также внести изменения в видеоряд. А если уникализировать нужно сразу несколько видео, такая задача превращается в рутину и отнимает кучу времени.
Существует такой набор библиотек FFmpeg.
FFmpeg представляет собой набор инструментов с открытым исходным кодом, предназначенных для обработки мультимедийных файлов. В его состав входят библиотеки и утилиты, позволяющие записывать, конвертировать и редактировать аудио и видео. Благодаря поддержке множества форматов и кодеков FFmpeg становится универсальным решением для работы с мультимедиа.
Вообще, на базе FFmpeg работает огромное количество видеоредакторов, сервисов и прочего софта. И даже хорошо знакомые многим арбитражникам Telegram-боты уникализации видеокреативов тоже нередко разработаны на базе FFmpeg.
Сегодня я расскажу вам, как работать с этой библиотекой.
Установка FFmpeg
Переходим на ffmpeg.org и скачиваем архив с софтом под свою операционную систему. У меня Windows, я брал под нее.
На выбор предлагается две сборки. Я брал «Windows builds from gyan.dev»
Скачиваем архив, распаковываем.
Нас интересуют файлы в папке «bin».
ffmpeg — основной инструмент командной строки, который позволяет выполнять конвертацию и обработку медиафайлов. С его помощью можно преобразовывать форматы, изменять кодеки, извлекать звуковые дорожки и делать многие другие операции.
ffplay — простой проигрыватель, который позволяет воспроизводить аудио и видеофайлы. Он поддерживает большинство форматов и предоставляет базовые возможности управления воспроизведением.
ffprobe — инструмент для анализа медиафайлов. С его помощью можно получать информацию о кодеках, битрейте, разрешении и других параметрах.
Чтобы все это работало в любой папке на нашем компьютере, нужно перенести эти файлы в папку C:\windows\system32.
Установка закончена. Открываем командную строку (CMD), вводим команду FFmpeg и проверяем правильность установки.
Если все сделано правильно, мы получим информацию о версии и сборке FFmpeg. Готово.
Обработка видео
Все установлено, можно приступать к работе с нашими видеокреативами. Для работы в FFmpeg нужно вводить команды, нацеленные на определенные действия. Я не буду подробно останавливаться на том, как именно формируются подобные команды, но, если хотите углубиться в этот вопрос, можете ознакомиться с документацией на сайте проекта.
Команды для обработки видео можно вводить в командной строке, но это неудобно. Чтобы облегчить этот процесс, можно запускать все через так называемый батник.
Давайте для начала создадим команду для полной очистки метаданных видео. Для этого открываем блокнот, записываем в него команду:
ffmpeg -i 123.mp4 -map_metadata -1 -c:v copy -c:a copy 1234.mp4
Называем как душе угодно и сохраняем все это с расширением «bat».
Вот что делают параметры команды:
-i 123.mp4 — указывает входной видеофайл.
-map_metadata -1 — удаляет все метаданные из выходного файла.
-c:v copy — копирует видеопоток без перекодирования (что обеспечивает сохранение качества).
-c:a copy — копирует аудиопоток без перекодирования.
1234.mp4 — имя выходного файла, в котором будут записаны очищенные данные.
Закидываем любое видео в папку с нашим скриптом и запускаем его.
Не забывайте, что в строке нашей команды нужно вручную указать имя входного и выходного файла. Входной файл должен совпадать с именем вашего видеофайла.
Команда, которая замедлит видео
Для замедления можно использовать параметр setpts. Сама команда будет выглядеть так:
ffmpeg -i 123.mp4 -vf "setpts=2*PTS" 1234.mp4
В этой команде:
-i 123.mp4 — входное видео.
-vf "setpts=2*PTS" — фильтр, который замедляет видео в два раза. Вы можете изменить 2 на любое другое число, чтобы замедлить видео.
1234.mp4 — выходное видео.
Все, запускаем наш скрипт:
Для примера я взял один из своих старых креативов и замедлил его.
Было:
Стало:
Команда для ускорения видео
Команда: ffmpeg -i 123.mp4 -vf "setpts=0.5*PTS" -an 1234.mp4
-vf "setpts=0.5*PTS" — фильтр, который ускоряет видео в два раза. Вместо 0,5 можно подставить другое значение, чтобы изменить скорость.
Было:
Стало:
Уменьшаем длину видео
Если вы хотите обрезать видео до 30 секунд, можете сделать это так:
ffmpeg -i 123.mp4 -t 30 -c copy 1234.mp4
-t 30 — этот параметр можно менять в зависимости от нужной длины видео.
Если нужно обрезать видео, начиная с определенного времени и заканчивая нужной длиной.
ffmpeg -i 123.mp4 -ss 10 -t 20 -c copy 1234.mp4
Параметры команд:
-i 123.mp4 — исходный видеофайл.
-ss 10 — время начала обрезки (в этом примере 10 секунд).
-t 20 — время окончания ролика (ролик закончится на 20 секундах).
1234.mp4 — имя выходного файла.
Уникализация через замену кадра
Нередко для уникализации видео добавляют небольшой кадр на первую секунду. Можно добиться того же результата, просто затемнив 1 или 2 секунды в начале видео.
Для этого используем команду:
ffmpeg -i 123.mp4 -vf "fade=t=in:st=0:d=3" -c:a copy 1234.mp4
fade=t=in — указывает на эффект затухания (fade in).
st=0 — означает, что эффект начинается с нуля (с самого начала видео).
d=3 — указывает на продолжительность эффекта затухания в 3 секунды (тут можно указать любое нужное вам время).
Посмотрим, что получилось на примере:
Было:
Стало:
Ставим точку на видео
Команда, которая просто ставит точку на видео. Это маленькое изменение повлияет на такой параметр, как хеш-сумма, и тем самым уникализирует видео.
ffmpeg -i 123.mp4 -vf "drawbox=x=100:y=100:w=20:h=20:color=red:t=fill" -c:a copy 1234.mp4
-vf "drawbox=x=100:y=100:w=5:h=5:color=red:t=fill" — накладывает фильтр:
x=100 и y=100 — задают позицию в углу (10 пикселей от левого и 10 пикселей от верхнего края). Данный параметр можно изменить.
w=20 и h=20 — задают ширину и высоту «точки» (параметры можно уменьшать или увеличивать для изменения размера).
color=red — задает цвет точки. Вы можете заменить red на любой другой цвет, указав, например, #RRGGBB.
Вот что получилось.
Тут я для примера поставил красную точку, чтобы были видны изменения. Но лучше в этой команде поменять цвет на прозрачный, просто заменив параметр color=red на color=#0000ffff. Так вы сделаете точку невидимой для обычного зрителя, а изменения в видео будут внесены.
Итого
FFmpeg — очень гибкий инструмент, позволяющий качественно уникализировать видео по различным параметрам. Однако им можно пользоваться не только с помощью отдельных команд, но и создать одну, которая будет выполнять несколько функций и уникализировать видео по разным параметрам одновременно.
Код ниже удалит метаданные, поставит прозрачную точку в углу и ускорит видео на 20%.
ffmpeg -i 123.mp4 -metadata:s:a:0 handler="" -vf
"drawbox=c=white:t=fill:enable='lt(mod(t,1),0.02)':x=main_w-100:y=main_h-100:w=100:h=100" -filter:v "setpts=0.8*PTS" 1234.mp4
Ну вот вроде и все.
____________________________________________________________________________
Канал в Telegram: Konvertov/Арбитраж - трафика.
Сервис поиска расходников для арбитража FB: https://huntermanager.com/
Материал написан для проекта trafficcardinal.com