Как начать работу с интерактивным видеосервисом AWS (IVS) для управляемой прямой трансляции
На этой неделе AWS анонсировала IVS, управляемое решение для обработки видео в реальном времени, вероятно, основанное на том же программном обеспечении, на котором работает гигант потокового вещания Twitch. Он предлагает простой способ интегрировать живое видео в существующие приложения без головной боли, связанной с его самостоятельной настройкой.
Что такое ИВС?
Живой видеоконтент с малой задержкой довольно сложно сделать должным образом, и еще сложнее масштабировать его для обработки множества одновременных потоков по всему миру. Эксплуатация инфраструктуры такого масштаба чрезвычайно сложна, поэтому существует потребность в таком сервисе, как IVS.
Простая настройка делает его особенно полезным для сервисов, которые хотят добавить живые трансляции на свои платформы, и особенно для компаний, которые хотят проводить профессиональные прямые трансляции на своих сайтах, не прибегая к потоковой передаче на официальном канале YouTube или Twitch.
Сам IVS довольно прост. Вы создаете канал и получаете ключ потока. Вы можете передавать контент в IVS с помощью стандартного программного обеспечения, такого как OBS или Streamlabs. На стороне клиента вы можете использовать сторонние проигрыватели видео в реальном времени, но AWS предоставляет SDK клиентского проигрывателя, который при необходимости можно легко интегрировать или настроить.
IVS взимает двухчасовую плату за ввод и вывод видео. Видеовход — это количество людей, активно транслирующих контент, которое оплачивается по-разному в зависимости от разрешения. Контент SD, транслируемый с максимальным разрешением 480p, стоит 0,20 доллара США в час на одного стримера. HD-контент с разрешением 1080p стоит дорого — 2 доллара в час за прямую трансляцию, даже если его никто не смотрит.
Видеовыход заменяет стандартную плату за передачу данных. Вы не платите за ГБ, как большинство сервисов AWS; вместо этого вы платите фиксированную почасовую плату за час вывода видео, в зависимости от разрешения. Эта плата немного снижается после 10 000 часов просмотра, но также значительно выше для таких регионов, как Тайвань и Корея.
Итак, если вы планируете запустить потокового конкурента для таких сервисов, как Twitch и YouTube, вы должны быть готовы заплатить за это. Даже стримеры с относительно небольшой аудиторией могут набрать десятки тысяч часов просмотра.
Однако, даже если вы захотите сделать это самостоятельно, вы все равно будете платить эти сборы. Видеофайлы имеют большой размер, и потоковое видео высокой четкости в течение нескольких часов подряд на множество разных клиентов заполнит ваш счет за пропускную способность на любой платформе хостинга.
Настройка ИВС
Если вы хотите протестировать его, перейдите в консоль IVS и нажмите «Создать канал». Конечно, если вы хотите, чтобы пользователи могли создавать свои собственные каналы, вы должны сделать это за них и создавать каналы с помощью AWS API или SDK.
Дайте ему имя и выберите Standard или Basic для типа канала. Что касается задержки, вы, вероятно, захотите оставить ее в опции с низкой задержкой, если только интерактивность не имеет значения. Конечно, вы также можете добавить стандартные теги AWS, чтобы упростить отслеживание затрат.
Вам будет предоставлен URL-адрес сервера загрузки и ключ потока, а также URL-адрес воспроизведения файла потока m3u8
для пользовательских проигрывателей.
В настоящее время OBS Studio не поддерживает IVS из коробки, поэтому вам нужно выбрать «Пользовательский» и ввести как URL-адрес сервера, так и ключ потока.
Оттуда вы можете начать потоковую передачу, и вы должны увидеть предварительный просмотр Live в консоли управления.
Если вы хотите встроить это на свой собственный сайт, вам нужно добавить проигрыватель IVS и инициализировать его URL-адресом воспроизведения.
<script src="https://player.live-video.net/VERSION_NUMBER/amazon-ivs-player.min.js"></script> <video id="video-player" playsinline></video> <script> if (IVSPlayer.isPlayerSupported) { const player = IVSPlayer.create(); player.attachHTMLVideoElement(document.getElementById('video-player')); player.load(PLAYBACK_URL); player.play(); } </script>
Если вам нужны дополнительные настройки, IVS имеет интеграцию с video.js, популярной библиотекой для настройки видеоплееров HTML5.
Для мобильных платформ можно использовать SDK для iOS или Android.