Король Социалок 15: Методы генерации вирального контента

Astraport

Client
Регистрация
01.05.2015
Сообщения
3 745
Благодарностей
2 753
Баллы
113
quizz2.jpg

Мне по-прежнему крайне интересны любые механики по автоматизированному созданию контента. Получаю истинное наслаждение, когда пользователи активно лайкают и комментируют такой генерённый контент. И не только в соц. сетях. Также генерирую текстовку, картинки и даже верстку в дорвеях и копипастных сайтах.

LEVEL 1
Начнем с картинок. На форуме очень много вопросов по уникализации картинок, добавлению текстов и наложении эффектов. Многие используют для этого библиотеки, но мало кто знает, что обычных методов по работе с Bitmap вполне достаточно для уникализации и генерации изображений. Ну а для создания даже несложных коллажей ни одна библиотека не поможет. Главное немного знать математику и геометрию (ага, вот тут-то и пригодятся школьные знания).
Рассмотрим несколько практических методов работы с битмапой в C# (не пугайтесь, именно сейчас хороший шанс немного понять этот прекрасный язык на реальных примерах), которые чаще всего используют на практике. Самое главное, что вам нужно знать – у картинки есть ширина и высота и её координаты определяются по левому верхнему углу.
ks22.jpg


Начнем с получения собственно картинки. Возможны два основных варианта – картинка находится локально и картинку получаем по URL. Удаленный файл придется скачать, сохранить локально, обработать, а потом удалить (по желанию)…

И на этом месте я подумал, зачем вся эта нудная писанина? Не буду подробно описывать каждый метод. А вместо этого, вы можете прямо сейчас скачать шаблон, открыть Зенку и, без установки библиотек, запуская поочередно кубики, сразу начать получать результат. Код не сложный (за исключением последних кубиков) и там ещё есть комментарии. А ниже я просто проиллюстрирую картинками и текстом самые яркие результаты из шаблона.
2020-05-21_23-25-55.png

Первые 3 кубика совсем простые, пропустим их.

4. Добавляем случайный пиксель
Говорят, что иногда это помогает уникализировать картинку.

6.2. Обрезка повёрнутой картинки
При повороте картинки на несколько градусов, который часто успешно применяют при уникализации, появляются по краям четыре прямоугольных треугольника. Можно оставить и так, но лучше обрезать эти треугольники, что и делает соответствующий кубик во вложенном шаблоне.
image_result34.jpg


8. Наложение рамки
Классика. Тоже неплохо уникализирует. А если добавить ниже текст, то получится неплохой демотиватор или цитатник.
image_result3.jpg


10. Придаём контрастность картинке
Что бы не говорили, но контрастные изображения больше бросаются в глаза, по ним чаще кликают. Особенно это важно в соц. сетях и особенно в Pinterest, где так важно выделиться на фоне остальных картинок. Кроме того, повышение контрастности придает некоторую уникальность картинке. Более того, мной замечено, что если вы ищите по картинкам в ПС, то в выдаче контрастные картинки выгодно отличаются и значит у вас будет больше органики на сайте.
Сравните эти две картинки. Вроде бы у правой перебор в контрасте, но, тем не менее, в условиях жесткой конкуренции постов в соц. сетях, вероятность, что она привлечет внимание, намного выше, чем у левой.
contr.jpg


Поэтому, если вы обрабатываете картинки, то можно немного поднять контрастность. В шаблоне есть метод. Я нашел его когда-то на просторах интернета и он довольно быстро работает.
Ок, согласен, слишком много розовых выпуклостей, перейдём на котиков)
11. Склеиваем 3 картинки в коллаж
Думаете это просто? Попробуйте сами. Даже в графическом редакторе придется повозится скалируя вручную и подгоняя размеры картинок. Чтобы не было искажений картинок в коллаже, приходится вычислять пропорции каждой картинки и последовательно вычислять размеры каждой картинки, а затем всей композиции в целом. Но теперь вы можете кидать в папку «examples1» любые картинки (не менее трёх) и кубик будет создавать на их основе разнообразные коллажи.
image_resul44t.jpg


12. Коллаж из трёх картинок + дополнительный прямоугольник с вписанным текстом и кучей эмодзи
Ну и наконец вот такая сложная композиция. Когда-то я долго возился с вписывание текстов в картинки, потому что количество букв может быть разным и ширина картинок тоже варьируется. Менять размеры шрифта в зависимости от этих параметров + разнообразие шрифтов получалось не очень хорошо. Всякими костыльными вычислениями удавалось добиться корявой красоты, но оказалось, что всё давно изобрели до нас и есть такой метод как MeasureString.
В цикле подбираем размер шрифта, высоту текста и получаем все нужные размеры. Также в цикле добавляем эмодзи в ряд предварительно вычисляя все интервалы и отступы.
В результате получаем пулемёт генерирующий красивые и уникальные коллажи на высокой скорости из огромного количества картинок, текстов и различных графических элементов.
image_result - копия (2).jpg


Как видите, продолжать можно бесконечно, но, думаю, этого вполне достаточно, чтобы новичкам начать решать многочисленные практические задачи по работе с изображениями. Ну а мы переходим на следующий уровень – генерация видео!

LEVEL 2
Моя статья по генерации видео вызвала огромный интерес, но там использовался костыль (сторонний софт), который всё же очень мешает в регулярной работе. Да и зачастую вполне достаточно методов MMPEG для создания очень прикольных и популярных роликов.

Первая механика: на примере криптовалют.
1. Берём видео-мемы и сортируем их на две пачки – положительные и отрицательные.
2. Затем ищем сайт где можно снять актуальные графики курсов криптовалют.
3. Зенкой снимаем позиции с курса битка – падает или растёт? Эта информация интересует 99% тематических юзеров.
4. В зависимости от курса рандомно берем мемасы с той или иной папки.
5. С помощью MMPROB получаем размеры ролика.
ffprobe.exe -v error -show_entries stream=width,height -of default=noprint_wrappers=1 {-Variable.video_path-}
6. Зенно шаблон делает скриншот сайта из п. 2, обрезаем и масштабируем по ширине ролика из п. 5 Можно сделать и наоборот – потом масштабировать видео при генерации по размеру картинки.
7. Накладываем видео на скриншот не забыв добавить адрес своего канала, сайта, группы в виде водяного знака.
ffmpeg.exe -loop 1 -i {-Variable.img_path-} -vf "movie={-Variable.video_file-}[inner];[in][inner]overlay=0:217:shortest=1[out]" -y {-Variable.output_file-}.mp4

Вуаля!
ezgif-2-31ea9839edec.gif


Не припоминаю чтобы эти ролики удаляли даже в группах с сотнями тысяч участников. Более того, их постоянно комментировали и репостили. Это работает!

Не нужно слепо повторять за мной тоже самое. Этот же принцип можно применить к курсам рубля, нефти, картошки, снижениям цен на товары в Али-Экспресс, счётам футбольных матчей. Главный принцип – совмещаем знакомый, но всё ещё уморительный мем и актуальную, свежую, волнительную информацию – скриншот.
Кстати, не забываем, что Зенка всегда готова помочь нам немного приукрасить события. SetAtribute (“innerhtml”) этот метод творит чудеса, если вы поняли о чём я.

Сториз! Это просто клад для нас. Сториз сейчас есть у страниц в ФБ, в профилях ФБ, в ВК, и, конечно, в Инсте. Такие ролики Зенка будет клепать без устали и постить в сторизы ваших ботов. Осталось только продумать правильный слив.

LEVEL 3
Ну и наконец, я расскажу об одной интересной механике, которую я начал использовать буквально за день до написания статьи и пока не автоматизировал до конца, но которая при этом показывает очень неплохие результаты и имеет огромный потенциал. Это трансляции в Facebook с помощью FFMPEG и ЗенноПостер.
Посмотрите сколько просмотров и реакций собирают трансляции https://www.facebook.com/watch/live/
Писать об этом долго и малоинформативно, поэтому посмотрите лучше видео, которое я записал для вас:


Команда FFMPEG для трансляции:
ffmpeg -re -y -i output.mp4 -c:a copy -ac 1 -ar 44100 -b:a 96k -vcodec libx264 -pix_fmt yuv420p -vf scale=1080:-1 -r 30 -g 60 -tune zerolatency -f flv -maxrate 2000k -preset veryfast "rtmps://live-api-s.facebook.com:443/rtmp/your_key_here"

Можно даже обойтись без видео. Вернитесь в начало статьи. Делаем такую же картинку с вирусным вопросом, не сложной викториной, провокационной картинкой и запускаем её в бесконечный цикл:
ffmpeg -loop 1 -re -i "quizz.jpg" -pix_fmt yuv420p -profile:v baseline -s 720x480 -bufsize 6000k -vb 400k -maxrate 1500k -deinterlace -t 60 -vcodec libx264 -preset veryfast -g 30 -r 30 -f flv " rtmps://live-api-s.facebook.com:443/rtmp/your_key_here"

Кстати, что там с задачкой на первой картинке? Справились?))
 

Вложения

Последнее редактирование:

Nike59

Client
Регистрация
05.08.2011
Сообщения
106
Благодарностей
91
Баллы
28
Как всегда отличный материал от нашего уважаемого коллеги Astraport'a. Особенно ценный материал по работе с ffmpeg - для меня очень неожиданное применение для трансляции видео.
 

Dexio

Client
Регистрация
09.05.2014
Сообщения
1 194
Благодарностей
203
Баллы
63
C картинками и гифками то что нужно было недавно, спасибище! Именно гифки рулят
 
  • Спасибо
Реакции: Andrew Shell и Astraport

radv

Client
Регистрация
11.05.2015
Сообщения
870
Благодарностей
427
Баллы
63
:ay:Поздравляю Короля Социалок с юбилейным выпуском. :az:
 
  • Спасибо
Реакции: Andrew Shell и Astraport

Astraport

Client
Регистрация
01.05.2015
Сообщения
3 745
Благодарностей
2 753
Баллы
113

molotok

Client
Регистрация
17.04.2015
Сообщения
661
Благодарностей
291
Баллы
63

Astraport

Client
Регистрация
01.05.2015
Сообщения
3 745
Благодарностей
2 753
Баллы
113
У меня одного так или еще у кого не работает? Я фейсбуком не пользуюсь, но аккаунт есть. Может я что не включил...
Стримы даже без аккаунта нормально открываются. Можно проверить на вкладке инкогнито.
 
  • Спасибо
Реакции: Andrew Shell и molotok

Nemesisxxx

Client
Регистрация
16.03.2020
Сообщения
9
Благодарностей
4
Баллы
3
Классная статья! А как ВК трансляцию создать? Там URL идёт с многочисленными символами в конце и без слэша.
 
  • Спасибо
Реакции: Andrew Shell и Astraport

Astraport

Client
Регистрация
01.05.2015
Сообщения
3 745
Благодарностей
2 753
Баллы
113

Nike59

Client
Регистрация
05.08.2011
Сообщения
106
Благодарностей
91
Баллы
28
И так не работает...

У меня одного так или еще у кого не работает? Я фейсбуком не пользуюсь, но аккаунт есть. Может я что не включил...
Работает даже без аккаунта facebook.
 

molotok

Client
Регистрация
17.04.2015
Сообщения
661
Благодарностей
291
Баллы
63
  • Спасибо
Реакции: Andrew Shell и Astraport

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 113
Благодарностей
856
Баллы
113
Ну вот спалил пару темасиков ))) они и правда работали отлично, сейчас работают хорошо )
 
  • Спасибо
Реакции: Andrew Shell и Astraport

Supergrok

Client
Регистрация
05.03.2019
Сообщения
87
Благодарностей
75
Баллы
18
Спасибо, теперь остается вкурить как монетизировать
 
  • Спасибо
Реакции: Andrew Shell и Astraport

Astraport

Client
Регистрация
01.05.2015
Сообщения
3 745
Благодарностей
2 753
Баллы
113
Спасибо, теперь остается вкурить как монетизировать
Я устал наблюдать в сторисах ФБ и Инсты эротические ролики красоток. Дейтинг - самое простое. Только сливать не по ссылке, а хитрее. По Whatsapp как вариант.
 
  • Спасибо
Реакции: Andrew Shell

sambukanuka

Client
Регистрация
17.09.2019
Сообщения
153
Благодарностей
40
Баллы
28
В чем разница если есть obs?
 
  • Спасибо
Реакции: Andrew Shell

Astraport

Client
Регистрация
01.05.2015
Сообщения
3 745
Благодарностей
2 753
Баллы
113
В чем разница если есть obs?
Возможно и нет разницы в плане публикации.
Мне важно взаимодействие с Зенкой, потому что так разнообразно и качественно подготовить контент как Зенка я не знаю что может.
Второе - это масштабирование и расписание. Может OBS логиниться в ФБ с десятка аккаунтов и постить в нужные часы?
 
  • Спасибо
Реакции: Andrew Shell

sambukanuka

Client
Регистрация
17.09.2019
Сообщения
153
Благодарностей
40
Баллы
28
Возможно и нет разницы в плане публикации.
Мне важно взаимодействие с Зенкой, потому что так разнообразно и качественно подготовить контент как Зенка я не знаю что может.
Второе - это масштабирование и расписание. Может OBS логиниться в ФБ с десятка аккаунтов и постить в нужные часы?
Я имел ввиду по нагрузке есть разница на железо?
 
  • Спасибо
Реакции: Andrew Shell

Lite

Client
Регистрация
17.10.2013
Сообщения
232
Благодарностей
63
Баллы
28
А как сделать что-то подобное?

т.е. чтобы изменения контента(например сменить цифру) подгружались в прямом эфире.
(пока в голову приходит только сверстанный сайт, страницу которого стримят)
 
  • Спасибо
Реакции: Andrew Shell

Astraport

Client
Регистрация
01.05.2015
Сообщения
3 745
Благодарностей
2 753
Баллы
113
Я имел ввиду по нагрузке есть разница на железо?
Это не скажу, надо тестить.
А как сделать что-то подобное?
Никаких проблем. Он просто стримит сайт.
Зенкой можно генерировать какие угодно псевдо-графики в HTML+JS, мега-красивые с вымышленными данными и стримить их. Например, реалтайм график выигрышей по странам мира (слим на гемблинг), кассовые сборы по фильмам с анимацией конкуренцией между бестселлерами (слив на кино-партнерки) и т. д.
А подобных стримов можно создать на каждый чих:
 

Lite

Client
Регистрация
17.10.2013
Сообщения
232
Благодарностей
63
Баллы
28
Никаких проблем. Он просто стримит сайт.
А всё это можно как-то делать в фоне(свернуть вкладки сайта)? Например, чтобы запустить одновременно несколько таких стримов.
 
  • Спасибо
Реакции: Andrew Shell

Astraport

Client
Регистрация
01.05.2015
Сообщения
3 745
Благодарностей
2 753
Баллы
113
А всё это можно как-то делать в фоне(свернуть вкладки сайта)? Например, чтобы запустить одновременно несколько таких стримов.
Хм, надо думать, гуглить. На разных виртуалках 100% можно.
 
  • Спасибо
Реакции: Andrew Shell и Lite

Astraport

Client
Регистрация
01.05.2015
Сообщения
3 745
Благодарностей
2 753
Баллы
113
Эхх, работает только с 5.42 версии )
Ох, забыл пересохранить с учетом старых версий. Перезалил архив, можете скачать.
Конечно, все методы работают на самых старых версиях Зенки, потому что используют pure C#.
 
  • Спасибо
Реакции: limarkximus и Home_KreKer

Home_KreKer

Пользователь
Регистрация
05.12.2016
Сообщения
68
Благодарностей
15
Баллы
8
Ох, забыл пересохранить с учетом старых версий. Перезалил архив, можете скачать.
Конечно, все методы работают на самых старых версиях Зенки, потому что используют pure C#.
Спасибо большое)
 
  • Спасибо
Реакции: Andrew Shell

Home_KreKer

Пользователь
Регистрация
05.12.2016
Сообщения
68
Благодарностей
15
Баллы
8
Ошибка в 10 кубике, название картинки не корректно указана, если я правильно понимаю. Поправил название картинки - отрабатывает корректно.
 
Последнее редактирование:
  • Спасибо
Реакции: Andrew Shell и Astraport

Astraport

Client
Регистрация
01.05.2015
Сообщения
3 745
Благодарностей
2 753
Баллы
113
Ошибка в 10 кубике, название картинки не корректно указана, если я правильно понимаю. Поправил название картинки - отрабатывает корректно.
Ага, или в кубике название смените с contr1.jpg на image.jpg, или картинку переименуйте.
 
  • Спасибо
Реакции: Andrew Shell

faraon2006

Client
Регистрация
17.09.2013
Сообщения
39
Благодарностей
12
Баллы
8
Блин. Начал читать, потом скроллить- кругом одни жоппы, проскролил дальше- упс, котики ))
 
  • Спасибо
Реакции: Andrew Shell

Armagidec

Client
Регистрация
27.08.2014
Сообщения
74
Благодарностей
8
Баллы
8
Также генерирую текстовку, картинки и даже верстку в дорвеях и копипастных сайтах.
---------------------
Что-то про текстовку не слова...:(
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)