Трансляция в Instagram с компьютера при помощи OBS

Трансляция в Instagram с компьютера при помощи OBS

Этим вопросом я озадачился когда начал изучать принцип онлайн трансляций и прямых эфиров. Мне предложили заняться сайтом местной телестудии и уже по собственной инициативе я начал копать в сторону онлайн трансляции эфира. До моего прихода в сеть выкладывались только записи эфира.

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

Параллельно с этим я начал засматриваться на инстаграм и искать разные возможности. Причем мне нужна была возможность полной автоматизации процесса. Каждый день получать ключ трансляции и втыкать его в тот же OBS, крайне скучно. Я не люблю рутину. В тех же одноклассниках трансляции создаются автоматически.

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

Блокирует ли инстаграм аккаунты за трансляции с OBS и т.д.?

За сами трансляции инстаграм не блокирует аккаунты. Инстаграм блокирует аккаунты за подозрительную деятельность. Но аккаунт блокируется для нашей же безопасности. Система безопасности считает что мы где-то просрали пароль и злоумышленники получили доступ к нашему аккаунту.

Какие действия вызывают подозрение у систему безопасности?

Частые авторизации. Некоторые скрипты при каждом запуске авторизуются. Инстаграм считает это подозрительным. Но за это он блокирует не аккаунт, а устройство по IP с которого приходят авторизации. Если использовать прокси, например Tor, то в этом случае заблокируют аккаунт, посчитав что польователя взломали.

В этой ситуации приложение Streamon самое подходящее решение ибо авторизация происходит только один раз и дальше мы запрашиваем только ключи трансляции. С точки зрения инстаграма это нормальное поведение и наш аккаунт не подвергнется блокировке.

Streamon

Готовое приложение для разных операционных систем. но подойдет для тех, кому надо просто выйти в эфир с помощью ПО типа OBS и т.д. Работа с приложением элементарна и не требует инструкции. Просто вбиваем логин с паролем, авторизуемся. После этого в поле указываем тему прямого эфира.

Тема прямого эфира

И жмем кнопку Start Live Stream.

Ключи трансляции

Копируем сервер и ключ трансляции, вставляем в OBS и начинаем эфир. Все просто. Не забудьте нажать в Streamon кнопку завершающую прямой эфир.

У этого приложения есть один нюанс. В нем не работает двузфакторная авторизация. Не знаю в чем проблема, но приложение выдает ошибку, когда вбиваешь проверочный код.

Скачать Streamon: https://getstreamon.com/downloads

It’s A Gram Live

It’s A Gram Live — это библиотека на языке Python. Данное решение подойдет тем, кто хочет автоматизировать запуск прямых трансляций без необходимости ручного управления. Именно такое решение я искал все это время.

Скачать библиотеку можно по ссылке https://github.com/harrypython/itsagramlive

Для установки библиотеки в системе достаточно выполнить команду:

pip3 install ItsAGramLive

Добавляем в файл:

from ItsAGramLive import ItsAGramLive 

Создаем сессию:

live = ItsAGramLive(username='user', password='pass' )

Где вместо user и pass имя пользователя и пароль.

Теперь рассмотрим основные методы.

live.login() — авторизуемся.

live.create_broadcast() — создаем трансляцию

live.start_broadcast() — запускаем трансляцию

live.end_broadcast() — останавливаем трансляцию

live.stream_server — сервер для трансляции

live.stream_key — ключ трансляции

Дополнительные методы:

live.add_post_live_to_igtv( ‘Комментарий’, ‘Заголовок’ ) — завершает трансляцию и публикует её в IGTV. Редко правда когда срабатывает. Иногда может повесить скрипт в бесконечный цикл запросов. Если так необходимо сохранить эфир в IGTV, то лучше записать эфир и потом загрузить его отдельно.

live.mute_comments() — отключает комментарии

live.unmute_comments() — включает комментарии

live.get_viewer_list() — возвращает информацию о зрителях. Метод вернет массив из двух массивов. Первый массив содержит никнеймы, а второй идентификаторы. С помощью этого метода я собираю статистику и пишу её в файл SQLite3. Удобная штука, когда нужна база данных, а разворачивать сервер типа MySQL избыточно. После каждого эфира можно посмотреть охват, кто дольше всех смотрел и т.д.

Информацию по остальным методам читайте на странице проекта или в исходном коде модуля. По сути их не так много.

Имея на вооружении такой инструмент мы можем вытворять с трансляцией все что угодно.

Поскольку у меня работает сервер RTMP на Nginx, то мне остается только взять поток с сервера и отправить его в инстаграм.

ffmpeg -i 'rtmp://<server-ip>/live/stream' -t 00:30:00 -vcodec libx264 -preset:v ultrafast -acodec aac -f flv '{stream_server}{stream_key}'".format( stream_server=live.stream_server, stream_key=live.stream_key ) 

Если вдруг решите скопировать команду выше, то учтите что параметр -t 00:30:00 указывает программе отработать 30 минут и отключиться, тем самым завершить прямой эфир.

Поскольку видео трансляции в альбомной ориентации, а инстаграм ожидает видео в портретной ориентации, видео в трансляции обрезалось и видно было только середину. Очевидно что никто не будет менять формат видео для инстаграма. Решение оказалось простым: повернуть видео на 90 градусов по часовой стрелке. Для этого ffmpeg надо указать аргумент с соответствующим параметром: -vf ‘transpose=1’

Вот результат:

Прямой эфир в Инстаграме

Смотрится это конечно странно, но зато не нужно ничего обрезать или масштабировать. Подписчику достаточно просто повернуть телефон в горизонтальное положение и можно смотреть видео.

Внимание! При частых авторизациях возможна блокировка IP. Использование прокси не поможет. Система безопасности посчитает что вы просрали свой пароль и потребует сменить.

Если вам нужна автоматизация, но вы не программист, то с удовольствие помогу. Если задача тривиальная, то это обойдется не дорого.

На сайте отсутствует реклама

Автор не получает прямой выгоды. Если считаете что материал полезен, поддержите проект

Номер карты

Заранее спасибо!

Бидюков Денис

Эксперт по сайтам

Занимаюсь продвижением личного бренда с помощью сайта и SEO. Если Вы хотите из обычного сантехника, электрика, врача или фотографа стать востребованным и высокооплачиваемым  специалистом, то я с легкостью Вам помогу.

Оставьте комментарий

Ваш адрес email не будет опубликован.