Как события по экспорту видео из DVR упрощают жизнь стриминговым платформам

23.04.2021

DVR

Есть стример, и есть зритель. Они заходят на одну из стриминговых платформ (UGC-платформу). Первый – чтобы показать прямую трансляцию. (Скажем, стрим популярной компьютерной игры). Второй – чтобы ее посмотреть.

Стример инициирует создание трансляции на веб-сайте (платформе для стриминга) – находит кнопку “хочу стримить” и нажимает ее. Веб-платформа обращается к медиасерверу за созданием точки публикации. После чего отдает стримеру url в личном кабинете. Тот вводит этот url в программе OBS (“1”). Поток формируется и начинает публиковаться на Flussonic Media Server (“2”). После транскодирования, сервер предоставляет точку проигрывания для зрителей (“3”, “4”, “5”).

Теперь этот поток доступен для зрителей в плеере стриминговой платформы. Что делает обычный пользователь, если у него есть желание посмотреть, как играет стример? Он открывает плеер и начинает смотреть видео в виде прямой трансляции с медиасервера(“6”). Все это длится какое-то время. Когда стример показал, что хотел и попрощался с пользователями – он останавливает трансляцию. Последние видят надпись на экране – “Стрим окончен”.

Но есть и другие зрители, которые пропустили эфир и хотят посмотреть стрим после окончания прямой трансляции. Публикуемый поток, все то время, пока шла трансляция, записывался в DVR (“7”). Конечно, можно было бы и дальше хранить запись в DVR и организовывать просмотр через него. Но, пока запись лежит в архиве, возможности менять ее и управлять ею нет. Хотите транскодировать запись в несколько качеств, наложить субтитры, перенести на локальный диск, совершить еще какие-то манипуляции? Тогда необходимо сначала экспортировать нужную часть архива в мр4-файл. Для этого веб-платформа отправляет соответствующую команду в Flussonic.

Тут начинается самое интересное. Экспорт мр4-файла из DVR занимает время. Платформе для стриминга очень желательно сразу по завершению выгрузки получить информацию о ее результате. Если медиасервер не даст эту информацию, то площадке останется лишь постоянно обращаться к нему: “Выгружен ли файл?”, “Выгружен ли файл?”, “Выгружен ли файл?” А об ошибках экспорта, вообще, веб-платформа сможет лишь догадываться в данном случае.

С реализацией событий в версии Flussonic 21.04, общение между медиасервером и веб-платформой сильно упростилось. Flussonic сообщает о результате экспорта, сразу же отправляя следующие события:

  • dvr_mp4_export_start
  • dvr_mp4_export_ready
  • dvr_mp4_export_failed
  • dvr_mp4_export_aborted

Теперь, увидев то или иное событие, веб-платформа может решить:

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

При событии dvr_mp4_export_ready, обозначающем happy end, стриминговая площадка организует доступ к мр4-файлу по модели VOD (“8”). (Video on Demand – система доступа к видео, работает по принципу доставки контента по запросу). После этого, запись стрима будет доступна в любое время неограниченному количеству пользователей (“9”, “10”).


Автор:
Аркадий Велкер
Ключевые слова:
DVR Media Server