Трансляция с IP камеры на Youtube
metroelf — 07.06.2019
Есть такая хрень как профдеформация. Люди работающие в IT сфере, общаются на своём сленге (как и машинисты метро), и для людей далёких это сложно и непонятно. Други, я не айтишник и потому некоторые вещи делаю через пятую точку и иду по пути наименьшего сопротивления. В общем меня тут попросили написать краткий гайд как у трансляция сделана у меня. Попытаюсь расписать коротко, внятно и понятно. Если будут советы, то закиньте в комментарии, может получится проще =)
Итак. Первое что нам надо это канал на Youtube

И не просто канал, а канал с минимум 1 тыс подписчиков, именно при таком количестве подписчиков возможны прямые трансляции (но есть же ещё и Twitch, вот ни разу не пользовался, но для твича этот метод тоже работает. Я буду рассказывать на примере Youtube)
Итак, канал — есть, прямые трансляции доступны. Следующее — ip камера.
Есть камеры которые транслируют сразу на Youtube но там ценник
как крыло от самолёта — не мой вариант. Я поехал на Савёловский
рынок и купил «дешманскую» ip камеру за 2.5 тыс. Главным
требованием было что бы давала RTSP поток и работала в темноте, так
как была необходимость стримить наших летучих мышей, а у них
комфортная «тёмная комната». В общем нужна камера с протоколом
RTSP. Как я её настраивал это отдельная песня (это только для этой
камеры, читайте мануал, может вам повезёт.Мне не повезло — мануал
не помог) но в итоге всё сделано и камера в домашней сети wifi (что
роутер и подтвердил). Да, не забудьте через роутер предоставить
камере фиксированный внутренний ip, что бы при «откл-вкл» питания
камеры IP не менялся и как следствие ссылка на RTSP поток
оставалась неизменной, иначе придётся каждый раз всё настраивать
заново. У меня роутер Keenetik там всё через приложение можно
сделать, в общем ищите инструкцию под свою машинку
Отлично. В настройках камеры берём RTSP поток (он выглядит как-то
так rtsp://192.168.1.188:554/live/main)
По идее можно открыть порт на роутере и заходить напрямую на камеру
с любого места, но я в этом запутался, да и задачи такой не было.
Задача была отправить поток на Youtube
Нужен программный кодер, который будет давать поток с камеры на
Youtube. Я наткнулся на OBS Studio, именно то что надо. Бесплатный
и относительно простой. Берём по ссылке тут https://obsproject.com/download
Чтобы добавить камеру, щелкаем кнопкой мыши на «+» в разделе «Сцены», вводим название сцены (какое вам нравится) и добавляем сцену:

После чего, таким же образом в разделе «Источники» добавляем «Источник Медиа»:

URL-адрес RTSP зависит от производителя и модели камеры. Перейдя
по ссылке: http://www.soleratec.com/support/rtsp/rtsp_listing -
можно попытаться найти RTSP URL-адрес на свою камеру. У меня адрес
был уже в WEB интерфейсе камеры.
Далее, снимаем галочку с ячейки «Локальный файл» и вводим
RTSP-адрес в поле «Ввод», после чего нажмите «ОК».

Ииииии... Есть картинка!
Далее настройки кодировщика.
Вкладка - "Вещание":
Здесь можно выбрать потоковые сервисы, такие как Youtube, Twitch и др. или можно ввести свой собственный адрес потокового сервера. Мы используем Youtube, поэтому в поле «Сервис» выбираем «YouTube».
Далее в поле «Сервер» выбираем строчку «Primary YouTube ingest server». (или Backup YouTube ingest server, я поставил Primary). А вот ключ трансляции берём на своём канале Youtube. Выбираем «прямую трансляцию»

Дальше, на открывшейся страницу, в самом низу
Вкладка «Вывод»:
Кодировщик = x264; Управление битрейтом = CBR; Битрейт = 2500 (Эти значения суммарно зависят от качества вашего потока и доступной пропускной способности канала. Соответственно Вам необходимо оптимизировать эти параметры).
Управление битрейтом:
CBR, VBR или ABR не имеет никакого влияния на качестве вашего потока. Качество видео всегда определяет битрейт. Более высокая скорость передачи данных существенно улучшит качества передаваемого изображения. В зависимости от выбранного режима, зависит то каким образом будут распределены биты. VBR и ABR негативно влияют на передаваемый поток из-за колебаний в пропускной способности. CBR использует общую пропускную способность, при этом передача данных намного стабильнее, а так же предотвращает внезапные перепады данных при вещании. CBR рекомендуется для RTMP потока, но если Вы используете поток HLS, то рекомендуется управление скоростью VBR.
Битрейт:
Чем выше битрейт, тем лучше качество, но нужно учитывать потребление пропускной способности канала, поскольку зритель может не увидеть транслируемый Вами поток.
Интервал ключевых кадров:
Этот параметр определяет, как часто ключевые кадры должны быть отправлены на сервер потоковой передачи. Большинство потоковых услуг рекомендуют использовать в 2 сек.
Предустановка использования ЦП:
Значение «veryfast» обозначает минимальное использование ресурсов центрального процессора и более низкое качество потока. Чем ниже значение, тем больше нагрузка на ЦП, но это значительно улучшает качество передаваемого потока.
Видео:
Значения разрешения и FPS должны устанавливаться с учетом пропускной способности канала и желаемого качества видео.
Фильтр масштабирования (Билинейный / Бикубический / Метод Ланцоша):
При выборе Метода Ланцоша появляются странные артефакты, которые в свою очередь, существенно ухудшают качество передаваемого видеопотока. Бикубический фильтр действительно улучшает качество видеопотока.
Сохраняем. Дальше начинается самое интересное. Создаём трансляцию с видеокодером. Название, описание и прочее. Всё сделали? Вкладка должна быть открыта. Обязательно. Если комп рабочий, то рекомендую скачать другой браузер (у меня например через Опера) и запустить трансляцию там, чтобы не путаться. Теперь OBS Studio. Всё работает, картинка есть. Справа, внизу кнопка «запустить трансляцию». Выдохнув и мысленно сплюнув через левое плечо одновременно стуча в бубен (можно коту) — жмём. И если всё получилось то offline сменится на...

Если у вас всё заработало — поздравляю. Но меня поджидала
засада. Через 2.5-3 минуты картинка останавливалась. Залезал в
настройки, что только не делал, упс и всё. Гугл нам в помощь.
Попробовал по другому. Скачиваем VLC плеер. В разделе «источники»
OBS Studio сносим «источник медиа», ибо уже нафиг не нужен, и
плюсиком добавляем «источник VLC видео» (он у нас появился после
установки VLC плеера, если не появился перезапустите OBS Studio).
«Создать новый», называем как удобнее, вам с ним работать. В
открывшемся окне я оставил всё по умолчанию. В самом низу большое
окно «плейлист». Нажимаем справа «+» и выбираем добавить
путь/URL . В появившемся окне вводим ссылку нашего RTSP
потока. Ок и ок. Всё, картинка на рабочем столе OBS Studio пошла.
Жмём кнопку справа «запустить трансляцию».
Всё работает, всё крутится.
В итоге: работает OBS Studio, в браузере открыта вкладка со стримом (пробовал закрывать, стрим останавливается)
Да не идеально, но главное работает. Из минусов — комп должен работать. Плюс — по сравнению с ценами на IP камеры которые могут давать картинку сразу на Youtube, вышло очень бюджетно.
Ссыль на стрим:
Спасибо nadzor.ua за дельную инструкцию, которая частично тут (со скринами) использована
|
|
</> |
Тайм-менеджмент в финансовых операциях. Как не подвергнуть себя лишнему давлению и сохранить хладнокровность? 
