=================================
UPD2:
приложения для iOS
1)
Live-Reporter Live Camera 2)
Periscope HD(имеет ограничение по разрешению 1280х720)
UPD:
1) OBS Studio и VLC player 2.2.8 прекрасно работают и на MacOS, но, вероятно там есть свои нюансы.
2) Наблюдения показали, что современные смартфоны с несколькими камерами, используют для видео не лучшую из них. И может оказаться так, что видео с фронтальной камеры будет более высокого качества, нежели видео со второй-третьей задней камеры.
3) Приложения для iOS, способные отдавать RTSP-поток тоже существуют. Надеюсь, скоро мы выберем наилучшее.
4) Раздел этого краткого руководства, касающийся настройки OBS Studio для трансляции в фейсбук не является исчерпывающим, но в сети огромное количество материалов по работе с OBS Stidio, а автор данного руководства увидел OBS Studio первый раз в жизни за день до написания этого текста)) OBS Studio - приложение с огромными возможностями и интуитивно-понятным интерфейсом. Надеюсь, все, кто заинтересован, смогут с ним разобраться без помощи с моей стороны.
=================================
Трансляции стали нашей повседневностью. Но механизмы, которые предлагают сервисы типа Facebook и Youtube в своих приложениях весьма ограничены по своим возможностям. К тому же, аппаратура разделилась на "потребительскую" (смартфоны) и "созидательную" (настольные компьютеры, лаптопы). Смартфоны имеют на борту хорошую камеру, но ограниченные возможности по подключению периферийных устройств (в частности - звуковых) и работе с медиаконтентом. К настольному же компьютеру, часто подключен внешний аудиоинтерфейс, подведен проводной скоростной интернет, есть большое количество приложений для работы с медиаконтентом, но из дешевой видео-периферии предлагаются только USB-вебкамеры, которые ощутимо отстают от камер современных смартфонов.
Как выяснилось, решение существует! Если ваша домашняя сеть в хорошем состоянии (роутер достаточно мощный и WiFi не забит помехами), возможно вести полноценный эфир с несколькими камерами в разрешении FullHD (1920x1280).
Сразу оговорюсь: лично мне не хватило в приложении для телефона функции Lock Exposure - отключения автоматической подстройки под освещённость сцены (или, что было бы совсем шикарно, управления экспозицией камеры, но это, скорее всего невыполнимо для многих моделей телефонов). Поэтому, предлагаю всем написать разработчикам запрос на включение этой функции в новую версию приложения.
Итак, нам нужно установить на телефоны, которые будут работать видеокамерами, бесплатное приложение
CamON, а на настольный компьютер/лаптоп - известную программу
OBS Studio. Последняя версия (сегодня - 25.0.1) официально предназначена для работы под Windows 8/10, поэтому я установил себе на Win 7 предыдущую версию (
24.0.3). Пользователям Мака, не перешедшим на поздние версии МакОс, вероятно так же придётся найти соответствующие версии OBS Studio, благо этот проект разрабатывается не жадным предпринимателем, а группой энтузиастов, и все предыдущие версии
свободно доступны и работоспособны.
Чтобы OBS Studio смогла работать с камерами, на компьютер необходимо установить VLC media player. В данном случае он будет использоваться в качестве "плагина": в списке источников сигнала в OBS Studio появится строчка "VLC video". Существует проблема несовместимости версий между OSB Studio и VLC media player, поэтому рекомендуется установить
VLC предыдущей версии 2.2.8 и не обновлять его до тех пор, пока эта проблема не решится. Чтобы всё заработало, необходимо устанавливать 64-битную версию VLC media player!
Запускаем на телефоне приложение CamON.
В разделе Camera выбераем заднюю камеру - передняя, как правило, имеет более низкое качество картинки. К тому же, "оператору" камеры будет удобнее наблюдать за экраном (если, конечно, вы не снимаете себя сами). Разрешение, выбираем Full HD (1920x1080), если ресурсы телефона и вашей локальной сети позволят сформировать и передать на настольный компьютер картинку такого размера. Для экономии ресурсов можно выбрать обычный HD (1280x720), особенно если вы будете транслировать эфир в фейсбук - больше он всё равно не позволит.
Режим On-Touch auto-focus позволяет оператору самому (прикосновением пальца) выбирать объект, на который сфокусируется оптика. Если в вашей камере хорошо работает полный автофокус, можете выбирать другие режимы фокусировки.
Если включить Hardware acceleration, кодировать видео будет графический чип, а не центральный процессор. В разных смартфонах это по-разному отразится на качестве картинки и энергопотреблении. На моём Xiaomi redmi 4X Note включенная опция hardware acceleration не позволяет достичь нужного (25fps) фреймрейта на разрешении FullHD, хотя нагрев и потребление, скорее всего, уменьшаются.
В разделе RTSP выбираем битрейт. При разрешении Full HD (1920x1080) имеет смысл выбрать 6000 kbps, но, возможно с таким битрейтом не справится ваша домашняя сеть (особенно если камер будет несколько) или процессор смартфона (если у вас не очень свежая модель). Для разрешения 1280x720 достаточно будет 3000-4000 kbps. Частоту кадров (фреймрейт) имеет смысл выбрать "европейскую" - 25 fps, поскольку американская 30 fps потребует больше ресурсов, а с точки зрения картинки разницы между ними нет. Аудио мы будем транслировать с компьютера, поэтому на телефоне мы его отключаем.
Выходим из раздела настроек и записываем цифры адреса - он будет индивидуальным у каждой камеры. Обычно адреса устройствам назначает ваш WiFi-роутер по собственному разумению, поэтому есть вероятность того, что на следующем вашем "выходе в эфир" эти адреса поменяются. Вы можете попросить специалиста привязать конкретные адреса к конкретным телефонам, чтобы не проверять их соответствие каждый раз перед трансляцией.
Переходим к настройке нашей телестудии.
В разделе Видео выбираем базовое разрешение - такое же, какое мы выбрали на камерах. Если позволяют ресурсы - это должно быть 1920x1080. Выходное разрешение зависит от того, куда мы отправляем трансляцию и насколько хорош наш интернет-канал. В идеале - это тоже 1920x1080. Для фейсбука достаточно 1280x720 это на сегодняшний день его предел. Выбор фильтра масштабирования может повлиять на характер картинки, если базовое разрешение отличается от выходного, но не думаю, что мы увидим отличия на экране у зрителя)) Значение фреймрейта также следует выбрать одинаковым с камерами (25 fps).
Как ни странно, фейсбук и youtube рекомендуют транслировать звук с частотой дискретизации 44,1кГц, хотя в видео обычноиспользуется 48 кГц.
Последние версии OBS Studio позволяют микшировать звук из 6 источников, 2 из которых это "выходы" ваших аудиоинтерфейсов, а 4 - "входы". Через "выходы" можно проигрывать аудиозапись на том же компьютере, который используется в качестве "телестудии". А на "входы" назначить входы вашей звуковой карты, и подключить к ним микрофон(-ы) или внешний микшер. Если вы используете в качестве микшера свою звуковую карту, вам нужно назначить выход её внутреннего микшера на один из "входов" OBS Studio (у разных производителей аудиоинтерфейсов эта функция может быть реализована по-разному).
Переходим к настройке "телестудии". В списке Источников выбираем VLC видео.
Называем его, например, Камера 1
Выбираем "Всегда играть, даже когда не видно", нажимаем на "плюс", выбираем "Добавить путь/URL".
Вбиваем цифры с нашей первой камеры в строку rtsp://цифры-с-камеры/video/h264
Если всё было сделано верно и ваша камера с приложением CamON сейчас работает, после нажатия на ОК/ОК вы увидите в окне OBS Studio картинку, транслируемую с камеры.
Для добавления новой камеры делаем новую "сцену".
И далее заводим в этой сцене новую камеру аналогично предыдущей. В дальнейшем, чтобы перезапустить передачу изображения с камеры (это бывает нужно, например, после перезапуска смартфона или при потере сигнала), дважды кликнете на строчку "Камера 1" (2-3-4 итд) и нажмите ОК в открывшемся окне "Свойства Камера 1".
После того, как все камеры прописаны, необходимо прописать задержки. Задержки при передаче потокового видео неизбежны, и в случае использования в качестве видеокамер смартфонов с WiFi они достигают существенных величин (порядка 1-2 секунд). Для начала нам будет необходимо выровнять по времени картинку с разных камер. Для этого нужно в меню Вид выбрать пункт "Мультиобзор (оконный)". В появившемся окне мы увидим изображения со всех камер одновременно.
Камеру с наибольшей задержкой мы трогать не будем, а приведём к ней все остальные: кликнем правой кнопкой мыши на строчку "Камера" и выберем "Фильтры".
Выберем фильтр "Задержка видео"
Введём значение.
После того, как все наши камеры выровнены по времени, нужно ввести задержку для аудио, которое мы заводим напрямую в компьютер.
Значение требуется подобрать экспериментально таким образом, чтобы аудио, синхронизировалось с приходящим с камер видео.
Это же значение нужно установить для "выходов" - "устройств воспроизведения".
Выбор камеры, идущей в данный момент в эфир осуществляется простым кликом на нужную сцену в Мультиобзоре:
И вот, наконец, последний этап - отправка потока на трансляцию (на примере Facebook).
Выбираем в настройках "Вещание", жмём на ссылку "Ключ потока". Броузер, установленный на компьютере по умолчанию, автоматически откроется на странице создания трансляции фейсбука. На этой странице нужно найти ключ (длинную комбинацию букв и цифр) и скопировав его, вставить в графу "Ключ потока" в настройках OBS Studio.
Жмём "Запустить трансляцию"
Через несколько секунд транслируемое изображение появится в броузере. Жмём "Выйти в эфир".