Стриминг
Начало работы c продуктом
Стриминг: основные понятия, типы передаваемого контента и принцип работы услуги
Что такое стриминг?
Стриминг — это технология передачи аудио- и видеоконтента через интернет в режиме реального времени. В отличие от традиционной загрузки файлов, когда необходимо дождаться полной загрузки перед просмотром, стриминг позволяет начать воспроизведение практически мгновенно.
Если объяснить простыми словами, стриминг — это способ мгновенной доставки медиа-данных без необходимости предварительного скачивания их на устройство. Ваше устройство получает данные небольшими порциями, декодирует их и отображает контент, одновременно запрашивая следующие фрагменты. Таким образом достигается непрерывность воспроизведения.
Современный стриминг используется повсеместно: от просмотра фильмов до прямых трансляций, от онлайн-лекций до корпоративных видеоконференций. Это технология, которая изменила способ потребления медиаконтента во всём мире.
Как работает стриминг?
Принцип работы стриминга основан на последовательной передаче медиаданных небольшими фрагментами. Ключевые этапы этого процесса:
- Подготовка контента — исходный материал кодируется в специальный формат для стриминга.
- Сегментация — видео разбивается на небольшие фрагменты.
- Буферизация — устройство зрителя загружает несколько сегментов вперёд.
- Адаптивный битрейт — качество видео автоматически подстраивается под скорость интернет-соединения.
Благодаря такому подходу зритель может начать просмотр почти мгновенно, а качество изображения адаптируется к возможностям сети, предотвращая зависания и обрывы трансляции.
Что такое стриминговые платформы?
Стриминговые платформы — это сервисы, обеспечивающие инфраструктуру для потоковой передачи медиаконтента. По сути, это цифровые экосистемы, состоящие из множества самодостаточных сервисов, которые вместе осуществляют всестороннюю обработку и распространение контента. Каждый из этих сервисов может использоваться как самостоятельно для решения конкретных задач, так и в комбинации с другими для реализации более сложных сценариев.
Основные типы стриминговых платформ:
1. Платформы для прямых трансляций
Специализируются на трансляции событий в режиме реального времени. Обеспечивают высокую скорость обработки данных и минимальные задержки, а также позволяют взаимодействовать со зрителями в реальном времени. Они популярны среди геймеров, блогеров, образовательных учреждений и бизнеса.
2. Платформы видео по запросу (VOD)
Предоставляют доступ к предварительно записанному контенту. Позволяют пользователям смотреть видео в любое удобное время.
3. Гибридные платформы
Сочетают возможности прямых трансляций и видео по запросу, предоставляя комплексное решение для различных сценариев использования.
Что такое стриминговый сервис?
Стриминговый сервис — это комплексное решение для доставки медиаконтента конечным пользователям. Такие сервисы обычно включают не только технологическую инфраструктуру, но и дополнительные функции для управления контентом, аналитики и монетизации.
В базовом варианте современные медиаплатформы включают в себя следующие компоненты:
- Видеохостинг: позволяет загружать, обрабатывать, хранить и распространять видеоконтент.
- Live-стриминг: обеспечивает приём, обработку, запись и распространение трансляций в реальном времени.
- Плейлисты: компонент позволяет формировать списки воспроизведения из загруженных видео.
- Рестриминг: ретранслирует контент на другие площадки и социальные сети.
- Плеер: отвечает за воспроизведение контента и его представление конечному потребителю.
- Реклама: является как источником дохода, так и инструментом продвижения.
- Статистика и аналитика: предоставляет данные о просмотрах, аудитории и взаимодействии с контентом.
Какие технологии и параметры стриминга существуют?
Адаптивный битрейт: обеспечение плавного просмотра
Одна из ключевых технологий современного стриминга — адаптивный битрейт. Эта технология автоматически регулирует качество видео в зависимости от скорости интернет-соединения пользователя и производительности устройства.
Принцип работы адаптивного битрейта:
- Видео кодируется в нескольких качествах (от низкого до высокого).
- Плеер постоянно анализирует состояние сети и возможности устройства.
- В зависимости от условий, автоматически выбирается оптимальное качество.
- При изменении условий качество плавно переключается.
Благодаря адаптивному битрейту зрители с высокоскоростным интернетом получают видео в максимальном качестве, а пользователи с ограниченным соединением могут смотреть тот же контент без зависаний, но в более низком разрешении.
Транскодирование: адаптация видео для разных устройств
Транскодирование — это процесс преобразования видео из одного формата в другой. В контексте стриминга, транскодирование позволяет создавать версии контента, оптимизированные для различных устройств и условий воспроизведения.
Основные параметры стриминга:
- Кодеки: современные стриминг платформы поддерживают наиболее эффективные кодеки, такие как H.264 и H.265 (HEVC).
- Разрешение и битрейт: определяют качество изображения.
- Кадровая частота: влияет на плавность движения в видео.
- Протоколы стриминга: HLS, MPEG-DASH, RTMP, SRT, WebRTC и другие.
- Поддерживаемые форматы: MP4, MOV, AVI и другие популярные видеоформаты.
Кто использует стриминг?
Технологии потокового вещания сегодня применяются в самых разных сферах деятельности, обеспечивая высокое качество передачи медиаконтента и интерактивного взаимодействия с аудиторией. Рассмотрим основные области, где стриминг стал неотъемлемой частью бизнес-процессов и пользовательского опыта.
Развлекательный сектор и медиаиндустрия. Стриминговые сервисы произвели революцию в сфере развлечений, предлагая пользователям доступ к фильмам, сериалам и музыке по запросу. Современные платформы активно используют адаптивный стриминг, который автоматически регулирует качество контента в зависимости от скорости соединения пользователя. В музыкальной индустрии стриминговые платформы изменили модель потребления контента, предоставляя доступ к миллионам треков по подписке.
Игровая индустрия. Облачный гейминг и стриминг игрового процесса стали трендом последних лет. Специализированные сервисы позволяют играть в требовательные к ресурсам игры даже на слабых устройствах, поскольку все вычисления происходят на удалённых серверах. Одновременно с этим игровые стриминговые платформы дали возможность геймерам транслировать свой игровой процесс миллионам зрителей, создав новую нишу в развлекательном секторе и профессию стримера.
Образование и дистанционное обучение. Пандемия резко ускорила внедрение стриминговых технологий в образовательный процесс. Учебные заведения используют потоковое вещание для проведения лекций, семинаров и практических занятий. Образовательные платформы интегрируют функции интерактивного взаимодействия, позволяя студентам задавать вопросы в реальном времени и участвовать в дискуссиях.
Корпоративный сектор. Компании активно используют стриминг для внутренних коммуникаций, проведения совещаний и конференций. Технология обеспечивает высокое качество видеосвязи между офисами и удалёнными сотрудниками. Корпоративные вебинары, презентации продуктов и прямые трансляции с мероприятий стали стандартной практикой для бизнеса любого масштаба.
Спортивные трансляции. Спортивная индустрия была одним из первых массовых пользователей технологий потокового вещания. Сегодня спортивные стриминговые сервисы предлагают расширенные возможности: просмотр с разных ракурсов, доступ к статистике в реальном времени, использование технологий дополненной реальности для визуализации тактических схем.
Телемедицина. Стриминговые технологии становятся все более востребованными в здравоохранении. Дистанционные консультации с использованием видеосвязи позволяют пациентам получить медицинскую помощь без необходимости посещения клиники. В этой сфере критически важны надёжность соединения, конфиденциальность данных и высокое качество изображения.
Социальные медиа и пользовательский контент. Функции прямых трансляций в социальных платформах демократизировали стриминг, сделав его доступным для миллиардов пользователей со смартфонами. Это создало новые форматы взаимодействия с аудиторией и способствовало развитию индустрии инфлюенсеров.
Электронная коммерция. Стриминговые технологии трансформируют шоппинг с появлением формата live commerce. Продавцы проводят прямые трансляции, демонстрируя товары и отвечая на вопросы потенциальных покупателей в режиме реального времени. Это сочетание развлекательного контента и возможности совершать покупки напрямую во время трансляции быстро набирает популярность.
Культура и искусство. Музеи, театры, концертные залы используют стриминг для расширения доступа к культурным событиям. Онлайн-трансляции спектаклей, виртуальные экскурсии по выставкам, прямые эфиры с концертов позволяют приобщиться к искусству людям из разных уголков планеты.
Каждая из этих сфер предъявляет свои специфические требования к стриминговым технологиям, что стимулирует постоянное совершенствование существующих решений и разработку новых подходов к организации потокового вещания.
Выбор стриминговой инфраструктуры
При выборе стриминговой инфраструктуры компании сталкиваются с тремя основными вариантами:
- Собственное решение. Обеспечивает максимальный контроль над процессом, но требует значительных инвестиций и технических ресурсов.
- Готовые стриминговые платформы. В этой категории следует различать: \ — Бесплатные общедоступные платформы. Предлагают быстрый старт и низкий порог входа, но существенно ограничивают возможности брендирования и контроля. \ — Профессиональные платные решения. Обеспечивают быстрый старт с сохранением полного контроля над контентом, гибкой настройкой под потребности бизнеса и профессиональной технической поддержкой, включая разработку индивидуальных функций под требования клиента.
- Гибридный подход. Сочетает преимущества готовых платформ и собственных возможностей, позволяя оптимизировать затраты и достичь необходимого уровня контроля.
Выбор оптимального варианта зависит от целей бизнеса, бюджетных ограничений, технических возможностей и стратегических задач.
Дополнительные возможности современных стриминг платформ
Современные стриминг платформы, предлагают расширенный функционал:
- Запись трансляций: сохранение эфиров в записи для последующего просмотра.
- DVR: возможность перематывать и ставить на паузу прямую трансляцию во время её просмотра.
- Мультикамера: объединение нескольких видеопотоков в одну трансляцию.
- Брендированный плеер: настройка внешнего вида плеера в соответствии с фирменным стилем.
- Монетизация контента: интеграция различных моделей монетизации.
- Защита контента: методы защиты от несанкционированного доступа.
- Компьютерное зрение: анализ и модерация контента, распознавание объектов.
- Видеоконференции: решения для проведения онлайн-встреч с низкой задержкой.
О чём важно помнить?
При внедрении и использовании стриминговых технологий критически важно учитывать несколько ключевых аспектов:
- Качество интернет-соединения — основа успешного стриминга.
- Оптимизация настроек кодирования существенно влияет на качество передаваемого контента.
- Аппаратное обеспечение играет ключевую роль в производительности стриминга.
- Безопасность данных и защита авторских прав требуют особого внимания.
- Мониторинг и аналитика помогают выявлять проблемы и оптимизировать сервис.
- Законодательные требования различаются в разных странах и требуют соблюдения.
2 способа вещания: какой выбрать и с чего начать
Способ 1: Вещание напрямую через CDN
Если у вас свой медиасервер, который отправляет поток в формате HLS, вам понадобится один CDN-ресурс со специальными настройками для плейлистов (M3U8) и чанков (TS).
Подробнее о настройках читайте в статье «Настроить вещание через CDN по протоколу HLS».
Вещание можно защитить с помощью токена. Токен настраивается через скрипт на источнике и включение опции Secure Token в настройках CDN-ресурса. Подробнее о настройках читайте в статье «Secure Token. Настроить и использовать».
Способ 2: Вещание через Стриминг с доставкой через CDN
Воспользуйтесь этим способом, если поток с источника не в формате HLS.
Вещание через Стриминг даёт ряд преимуществ и дополнительных возможностей, например:
- Запись потока — записывает трансляцию и сохраняет как VOD.
- DVR — возможность перематывать и останавливать стрим, возвращаться к его просмотру позже.
- Ретрансляция — опция, которая позволяет единовременно отправлять трансляцию в несколько медиасервисов, например, Вконтакте, YouTube, Одноклассники.
- Собственный плеер и статистика — позволяет собирать статистику по просмотрам, географии и популярности отдельных трансляций.
- Реклама — позволяет интегрировать в видео или трансляцию рекламу по пяти типам воспроизведения (преролл, мидролл и т.д.).
Поддерживаемые Стримингом форматы и технические характеристики описаны в статье «Прямые трансляции. Рекомендуемые параметры потока».
При вещании через Стриминг есть два типа отправки нам начального потока: PUSH и PULL.
- PULL — предполагает, что у вас есть сервер, который отдаёт поток в RTMP (или другом формате) нашей Стриминговой платформе, которая перерабатывает его в HLS, добавляя к трансляции разные полезные штучки.
- PUSH — если вы вещаете напрямую со своего компьютера, камеры или любого другого устройства с использованием стороннего приложения (OBS, LiveU Solo, Wirecast, Adobe Flash Media Live Encoder и т. п.). В таком случае в личном кабинете вам выдаётся специальная ключ-ссылка, которую вы вставляете в приложение для стриминга. Поток доставляется на Стриминговую платформу, форматируется в HLS и отправляется конечным пользователям.
Подробнее про PULL и PUSH потоки в статье «Прямые трансляции. Создать поток».
Что нужно, чтобы начать вещать через Стриминг?
Независимо от типа вещания через Стриминг (PULL или PUSH), создайте CDN-ресурс и подготовьте его к работе со Стриминговой платформой.
Вещание можно защитить с помощью токена. Токен настраивается через скрипт на источнике и включение опции Secure Token в настройках CDN-ресурса. Читайте, как настроить токен для вещания через Стриминг.
Настроить CDN-ресурс для стриминга и раздачи видео
Как Стриминг раздаёт видео?
Стриминг раздаёт контент через CDN: CDN-серверы забирают ваше видео из хранилища и отправляют конечным пользователям, ускоряя доставку. Файлы уходят зрителям с поддомена CDN-ресурса.
Раздавать видео с нашего домена
Как только вы создаёте поток или загружаете видео, мы автоматически создаём для вас CDN-ресурс c нашим доменным именем, например, *.macloud.su. Все файлы видео будут отправляться зрителям именно с этого домена. Вам ничего не нужно настраивать.
Внимание. Внесение изменений в настройки такого ресурса может привести к ошибкам в раздаче контента. Если вы хотите изменить настройки ресурса, обратитесь за помощью к технической поддержке по адресу support@macloud.pro.
Раздавать видео с собственного домена (если опция активна)
Если вы хотите отправлять видео конечным пользователям с вашего персонального домена, создайте CDN-ресурс с нужным поддоменом и настройте раздачу через него.
1. (Пропустите, если у вас уже есть CDN-ресурс). В разделе Настройки CDN нажмите Создать CDN-ресурс.
2. (Пропустите, если у вас уже есть CDN-ресурс).
- Если хотите изменить только поддомен *.macloud.su, выберите «На поддомене macloud.su». Введите поддомен и нажмите Создать. \ Перейдите к 4 шагу инструкции.
- Если хотите изменить доменное имя целиком, выберите «Свое значение», введите поддомен вида cdn.example.ru и нажмите Создать.\ Затем вам нужно выполнить два действия вне личного кабинета MaCloud. Сначала откройте личный кабинет регистратора вашего домена и добавьте для поддомена CNAME-запись, указывающую на нашу CDN — благодаря этому зрители будут получать контент через нашу CDN, но от имени вашего поддомена. Добавить CNAME-запись можно по инструкции «Персональный домен. Задать доменное имя для доставки контента через CDN». Чтобы вести потоки или передавать видео по протоколу HTTPS, добавьте SSL-сертификат для CDN-ресурса. Бесплатный SSL-сертификат Let’s Encrypt вы можете выпустить по инструкции «SSL-сертификат. Добавить SSL-сертификат к ресурсу для передачи контента по HTTPS». Иначе ваши Live потоки и видео будут доступны только по протоколу HTTP.
3. Рядом с нужным ресурсом нажмите Привязать ресурс. Так вы подключите ресурс к Стриминговой платформе, и мы автоматически его настроим: привяжем правила кеширования, подходящие для раздачи видео-контента. Если этот ресурс использовался для раздачи другого статического контента, учтите: он отвяжется от прежнего источника и привяжется к Стримингу. Изменятся также и правила ресурса — он будет перенастроен под раздачу видео.
4. Установите CDN-ресурс по умолчанию — через него будут раздаваться все будущие видео. Можно выбрать разные ресурсы для раздачи видео и потоков или использовать один и тот же. Выберите ресурс и нажмите Сохранить.
Внимание. Внесение изменений в настройки такого ресурса может привести к ошибкам в раздаче контента. Если вы хотите изменить настройки ресурса, обратитесь за помощью к технической поддержке по адресу support@macloud.pro.
Миграция видео из других платформ
О миграции
Если вы хотите перейти на наш Стриминг, но не знаете, как перенести свою коллекцию видео из YouTube, Vimeo, VK или другой платформы, просто обратитесь к нам.
Мы бесплатно произведем миграцию и позаботимся обо всех технических деталях, чтобы сделать этот процесс простым и удобным для вас.
При переносе видео мы также постараемся сохранить:
- обложки видео,
- оглавление или эпизоды видео,
- описания и аннотации.
Процесс миграции
1. Свяжитесь с нашей службой поддержки в чате или по почте support@macloud.pro и запросите перенос ваших видео. Мы ответим на все вопросы и сопроводим вас на каждом этапе миграции.
2. Предоставьте информацию для переноса, исходя из типа вашей платформы:
- Если ваша платформа поддерживает прямое API для работы с видео (например, Vimeo), отправьте нам API-ключ c правами read-only.
- Если ваша платформа не поддерживает прямое API (например, Youtube или VK), отправьте нам ссылку на ваш канал. Мы проведём полное сканирование содержимого и скачаем все публично доступные видео.
- Если ваши видео хранятся в облачном хранилище или на другой площадке — сообщите нам, и команда Стриминга проработает индивидуальное решение.
3. Дождитесь сообщения о завершении миграции и начинайте пользоваться всеми преимуществами Стриминга!
Видео хостинг
Видео. Загрузить, экспортировать или удалить видео
Загрузить и настроить видео
1. Чтобы загрузить видео, перейдите в раздел Видео хостинг → Все видео. Нажмите Добавить → Загрузить видео.
2. Загрузите видео одним из способов:
- Перетащите видео в область загрузки.
- Нажмите Выбрать файл и выберите видео из папки на компьютере.
- Нажмите Скачать из источника и укажите URL видео.
3. Дождитесь, пока видео загрузится и обработается. Время ожидания зависит от размера видео и скорости соединения.
4. Кликните на название видео либо кнопку Настройки в выпадающем меню, чтобы перейти к настройкам загруженного видео.
5. Настройте видео. Вот что можно сделать:
- Изменить название видео
- Добавить описание
- Добавить теги
- Выбрать и добавить собственный плеер, если вы подключили эту опцию
- Добавить файл с субтитрами в формате SRT
- Указать проекцию видео
- Выбрать заставку из предложенных стоп-кадров или загрузить своё изображение
Нажмите Сохранить, когда работа над видео будет завершена.
Экспортировать видео
Чтобы экспортировать видео на сайт или в приложение, перейдите в настройки видео, во вкладку Экспорт и скопируйте iFrame-код для вставки на сайт, ссылку на страницу с видео или ссылку для собственного плеера.
На этой же странице вы можете скачать загруженное видео в нужном качестве, нажав Скачать видео.
Видео раздаётся через CDN-ресурс. В пути видео указывается наш домен, например, *.macloud.su, который мы автоматически сгенерировали и настроили для аккаунта. Если хотите использовать персональный домен (а не *.macloud.su), измените настройки CDN.
Если видео смотрят по прямой ссылке либо с сайта, куда вы вставили iframe-код, вам будет доступна статистика по просмотрам. Чтобы увидеть её, откройте настройки видео и перейдите во вкладку Статистика.
Удалить и восстановить видео
Чтобы удалить видео, на вкладке Все видео нажмите на иконку ··· напротив нужного видео и выберите Удалить. Подтвердите удаление.
Удалённые видео будут храниться в вашей корзине в течение 30 дней, затем они будут удалены навсегда. Но вы можете удалить видео ещё раньше. Для этого перейдите на вкладку Корзина и раскройте меню напротив нужного видео. Выберите Удалить, чтобы удалить видео навсегда.
Чтобы восстановить удалённое видео из Корзины, раскройте меню напротив нужного видео, выберите Восстановить и подтвердите действие. Видео вернётся на вкладку Все видео.
Папки и теги. Как фильтровать загруженные видео?
Как фильтровать видео?
Вы можете фильтровать загруженные на аккаунт видео:
- По папкам — отдельным директориям с видео
- По тегам — ключевым словам для группировки видео
В чём разница? Например, вы загрузили на аккаунт 100 видео. Сгруппировали эти видео по датам и переместили их в две папки: 50 видео в папку 10.10.20 и 50 видео — в 27.02.12. Вам нужно сгруппировать видео по другим критериям: Пейзаж, Машины и Цветы. Чтобы это сделать, не нужно создавать новые папки и терять группировку по датам. Вы можете добавить теги в настройках соответствующих видео. Теги появятся в личном кабинете, и вы сможете использовать их для фильтрации видео, а видео останутся в тех же двух папках.
Как управлять папками?
Создать папку и загрузить в неё видео
1. Перейдите в раздел Видео хостинг → Все видео, нажмите Добавить и выберите Создать папку.
2. Введите имя папки и нажмите Создать в открывшемся окне.
3. Откроется созданная папка. Нажмите Добавить и выберите Загрузить видео, чтобы добавить в папку видео со своего компьютера или по ссылке с источника.
Переместить видео в папку
1. Перейдите в раздел Все видео и поставьте галочки слева от видео, которые хотите переместить в папку.
2. Нажмите Переместить в строке сверху.
{width="602" height="337"}
3. Выберите папку и нажмите Переместить в открывшемся окне.
Удалить папку
Видео, которые находятся в папке, будут удалены вместе с папкой, и вы не сможете восстановить их. Если вы хотите удалить только папку, переместите её содержимое перед удалением. Для этого нажмите значок ··· напротив видео, которое нужно убрать из папки и нажмите Переместить.
Чтобы удалить папку с содержимым, нажмите значок ··· напротив папки, выберите Удалить папку и подтвердите действие.
{width="602" height="263"}
Как управлять тегами?
Добавить тег к видео
1. Перейдите в раздел Все видео и откройте настройки видео, к которому хотите добавить тег.
2. Укажите название тега в поле «Теги» и нажмите Enter или на любое поле на странице — тег добавится. Чтобы добавить существующий тег, выберите его из выпадающего списка.
Вы можете добавить неограниченное количество тегов.
Обратите внимание. Длина тега не должна превышать 30 символов. Если длина вашего существующего тега превышает 30 символов, его необходимо сократить, иначе вы не сможете вносить изменения в настройки ваших видео.
{width="602" height="365"}
3. Сохраните изменения.
Фильтровать видео по тегам
Чтобы фильтровать видео по тегу, нажмите на поисковую строку в меню слева, введите название тега или выберите его из списка.
Плейлисты. Создать и настроить
Что такое Плейлисты?
Плейлисты — платная опция, которая позволяет помещать несколько видео в единый список и воспроизводить их по очереди.
Как подключить опцию?
Отправьте запрос на подключение опции Плейлисты в техническую поддержку по почте support@macloud.pro или через вашего менеджера.
В запросе укажите ID вашего аккаунта, чтобы мы могли вас идентифицировать. ID аккаунта находится на главной странице вашего личного кабинета.
Пример запроса: «Добрый день! Пожалуйста, подключите опцию Плейлисты для аккаунта ID … ».
Мы сообщим вам, когда опция будет подключена. Далее вы сможете приступить к настройке вашего плейлиста.
Как создать и настроить плейлисты?
1. Перейдите в раздел Видео хостинг → Плейлисты и нажмите Создать плейлист.
2. Введите название вашего плейлиста и нажмите Создать. Плейлист будет доступен в разделе Плейлисты.
Откроется окно с настройками плейлиста. Следующие шаги выполняйте в нём.
3. Включите или выключите плейлист. Выключенный плейлист не будет доступен конечным пользователям.
4. Включите опцию Имитация Live потока, чтобы активировать плейлист в определённое время. Задайте дату и время запуска плейлиста в соответствующем поле ниже. Плейлист отключится после воспроизведения последнего видео в списке плейлиста.
5. Если вы хотите, чтобы список видео запускался заново после воспроизведения последнего видео в плейлисте, включите опцию Зациклить.
6. Спуститесь в раздел Редактор. Здесь отображены все видео, загруженные на ваш аккаунт. Нажмите кнопку Добавить напротив видео, которое хотите добавить в плейлист. Видео передвинется вверх из списка всех видео в отдельный список видео для плейлиста.
7. (опционально) Установите порядок видео в плейлисте. Нажмите на иконку ::: слева от видео и перетащите видео вниз или вверх по списку.
8. (опционально) Нажмите на иконку ··· напротив видео в плейлисте, чтобы продублировать его, тогда копии видео уйдут вниз списка, или удалить из плейлиста — видео перейдёт в список всех видео аккаунта.
9. Нажмите Сохранить изменения, когда закончите редактировать плейлист.
10. Поднимитесь в раздел Экспорт. Скопируйте код iframe, чтобы вставить плейлист на ваш сайт.
Теперь зрители могут смотреть видео в вашем плейлисте.
Вы можете просмотреть статистику по плейлисту. Для этого перейдите в Настройки плейлиста и откройте вкладку Статистика.
Настроить CDN-ресурс для стриминга и раздачи видео
Как Стриминг раздаёт видео?
Стриминг раздаёт контент через CDN: CDN-серверы забирают ваше видео из хранилища и отправляют конечным пользователям, ускоряя доставку. Файлы уходят зрителям с поддомена CDN-ресурса.
Раздавать видео с нашего домена
Как только вы создаёте поток или загружаете видео, мы автоматически создаём для вас CDN-ресурс c нашим доменным именем, например, *.macloud.su. Все файлы видео будут отправляться зрителям именно с этого домена. Вам ничего не нужно настраивать.
Внимание. Внесение изменений в настройки такого ресурса может привести к ошибкам в раздаче контента. Если вы хотите изменить настройки ресурса, обратитесь за помощью к технической поддержке по адресу support@macloud.pro.
Раздавать видео с собственного домена (если опция активна)
Если вы хотите отправлять видео конечным пользователям с вашего персонального домена, создайте CDN-ресурс с нужным поддоменом и настройте раздачу через него.
1. (Пропустите, если у вас уже есть CDN-ресурс). В разделе Настройки CDN нажмите Создать CDN-ресурс.
2. (Пропустите, если у вас уже есть CDN-ресурс).
-
Если хотите изменить только поддомен *.macloud.su, выберите вторую опцию, введите поддомен и нажмите Создать. \ Перейдите к 4 шагу инструкции.
-
Если хотите изменить доменное имя целиком, выберите «Свое значение», введите поддомен вида cdn.example.ru и нажмите Создать.\ Затем вам нужно выполнить два действия вне личного кабинета MaCloud. Сначала откройте личный кабинет регистратора вашего домена и добавьте для поддомена CNAME-запись, указывающую на нашу CDN — благодаря этому зрители будут получать контент через нашу CDN, но от имени вашего поддомена. Добавить CNAME-запись можно по инструкции «Персональный домен. Задать доменное имя для доставки контента через CDN». Чтобы вести потоки или передавать видео по протоколу HTTPS, добавьте SSL-сертификат для CDN-ресурса. Бесплатный SSL-сертификат Let’s Encrypt вы можете выпустить по инструкции «SSL-сертификат. Добавить SSL-сертификат к ресурсу для передачи контента по HTTPS». Иначе ваши Live потоки и видео будут доступны только по протоколу HTTP.
3. Рядом с нужным ресурсом нажмите Привязать ресурс. Так вы подключите ресурс к Стриминговой платформе, и мы автоматически его настроим: привяжем правила кеширования, подходящие для раздачи видео-контента. Если этот ресурс использовался для раздачи другого статического контента, учтите: он отвяжется от прежнего источника и привяжется к Стримингу. Изменятся также и правила ресурса — он будет перенастроен под раздачу видео.
4. Установите CDN-ресурс по умолчанию — через него будут раздаваться все будущие видео. Можно выбрать разные ресурсы для раздачи видео и потоков или использовать один и тот же. Выберите ресурс и нажмите Сохранить.
Внимание. Внесение изменений в настройки такого ресурса может привести к ошибкам в раздаче контента. Если вы хотите изменить настройки ресурса, обратитесь за помощью к технической поддержке по адресу support@macloud.pro
Эпизоды видео. Как разделить видео на фрагменты?
Что такое эпизоды видео?
Эпизоды видео — это способ разбить запись на отдельные смысловые части, чтобы зрители могли легко ориентироваться в контенте. Каждый эпизод имеет свою временную метку и название.
Разделить видео на эпизоды можно в личном кабинете, а также через API. После добавления эпизодов они отобразятся на таймлайне в плеере.
Как добавить эпизоды к видео?
1. Перейдите в раздел Видео хостинг → Все видео и откройте Настройки нужного видео.
2. В поле Эпизоды видео укажите:
- Временную метку в формате ММ:СС или ЧЧ:ММ:СС
- Название эпизода
3. Добавьте необходимое количество эпизодов, нажимая Enter после каждого.
4. Сохраните изменения.
Теперь вы можете видеть отображение эпизодов в плеере.
{width="602" height="328"}
Ограничения и рекомендации
- Максимальная длина одной строки с эпизодом не должна превышать 79 символов, включая временную метку и название.
- Каждый эпизод должен иметь уникальную временную метку.
- Временные метки должны быть расположены в хронологическом порядке.
- Для первого эпизода необходимо указывать метку времени 00:00. Если первая метка в списке будет установлена на другое время (например, 00:30), то начальный фрагмент видео (от 00:00 до первой указанной метки) останется без названия, что может запутать зрителей.
- Формат строки:
Видео. Поддерживаемые форматы видео
Мы поддерживаем загрузку видео практически в любом формате. Загруженное видео транскодируется, чтобы получить качества ниже исходного, и раздаётся с адаптивным битрейтом через CDN в формате HLS.
Рекомендуемые требования для корректной обработки видео:
Параметр | Значение | ||||
Качество Разрешение Битрейт видео | 4К 3840x2160 (30 fps) 13 000 — \ 34 000 Кбит/с (60 fps) 20 000 — \ 51 000 Кбит/с | 1440 2560x1440 (30 fps) 6 000 — \ 13 000 Кбит/с (60 fps) 9 000 — \ 18 000 Кбит/с | 1080 1920x1080 (30 fps) 3 000 — \ 6 000 Кбит/с (60 fps) 4 500 — \ 9 000 Кбит/с | 720 1280x720 (30 fps) 1 500 — \ 4 000 Кбит/с (60 fps) 2 250 — \ 6 000 Кбит/с | 480 854x480 (30 fps) 500 — \ 2 000 Кбит/с |
Контейнер | 3G2, 3GP, ASF, AVI, DIF, DV, FLV, F4V, M4V, MOV, MP4, MPEG, MPG, MTS, M2T, M2ST, QT, WMV, VOB, MKV, OGV, WebM, OGG, MXF, QuickTime, X-MS-WMV, MPEG-TTS, vnd.dlna.mpeg-tts | ||||
Кадровая частота | До 60 fps | ||||
Соотношение сторон | 16:9 — рекомендуемое значение для оптимального заполнения экрана | ||||
Аудиокодек | AAC, MP3 | ||||
Видеокодек | H.264, H.265 | ||||
Пропорции пикселя | Квадрат | ||||
Частота дискретизации звука | 44.1 кГЦ | ||||
Битрейт аудио | 128 Кбит/с, стереозвук |
Если параметры, указанные выше, не подходят для вашего видео, или видео не обработалось в личном кабинете, напишите нам в чат или по почте support@macloud.pro, или вашему менеджеру.
Адаптивный битрейт. Что это и как работает?
Адаптивный битрейт загружает поток или видео в браузере пользователя с оптимальной скоростью. Стриминговая платформа включает адаптивный битрейт для всех трансляций и видео по умолчанию.
Отправляйте нам поток или загружайте видео в максимальном качестве, а мы разделим их на несколько потоков или видео с разным уровнем битрейта.
Механизм работы адаптивного битрейта
1. Мы создаём мастер-плейлист со встроенными в него потоками с разными разрешениями и битрейтами.
2. Плеер в браузере конечного пользователя оценивает скорость интернет-соединения, размер окна воспроизведения, разрешение видео и загруженность процессора.
3. На основании полученных данных воспроизводится самый подходящий поток. Например, если у пользователя медленная скорость соединения, автоматически загрузится поток с меньшим битрейтом.
Транскодирование видео. Транскодирование в протокол HLS
Мы поддерживаем загрузку видео практически в любом формате. Загруженное видео транскодируется для получения видео в качествах ниже и раздаётся с адаптивным битрейтом через CDN в формате HLS.
HLS (HTTP Live Streaming) — это адаптивный протокол на основе HTTP, который был разработан компанией Apple для потоковой передачи видео.
Возможности HLS по доставке плейлистов и чанков увеличивают скорость загрузки видео через CDN для конечных пользователей.
Механизм работы HLS
HLS разбивает видео на небольшие фрагменты (чанки в формате MPEG-TS), информация о которых хранится в специально созданном файле (манифесте в формате M3U8).
Приложение (например, браузер) запрашивает манифест и последовательно воспроизводит фрагменты, которые в нём содержатся.
Видео загружается быстрее, потому что на скачивание одного небольшого фрагмента тратится меньше времени, чем на скачивание всего файла.
Итоговые кадровая частота и кодеки
Кадровая частота
Кадровая частота — это количество кадров, сменяющих друг друга за секунду.
Оптимальная кадровая частота для раздачи в интернете, работающая на всех устройствах — 30 fps, поэтому мы по умолчанию транскодируем исходную кадровую частоту видео до этого значения.
При необходимости можно сохранить исходную кадровую частоту видео или транскодировать до необходимого значения.
Для настройки индивидуального значения кадровой частоты напишите нам в чат, на почту support@macloud.pro, или обратитесь к вашему менеджеру.
Аудио- и видеокодеки
Кодек — это программа, предназначенная для кодирования и декодирования аудио- и видеопотоков.
После транскодирования у видео будут следующие кодеки:
Аудио: AAC
Видео: H264
Транскодирование видео. Итоговые битрейты для разных качеств
Транскодирование — это преобразование параметров видеофайла. Оно включает в себя не только изменение протокола передачи, но и разделение на более низкие качества с подходящим битрейтом.
Важно. Мы также меняем битрейт загружаемого видео в большую или меньшую сторону, опираясь на стандартный набор битрейтов, оптимальных для каждого разрешения.
Например, если вы загружаете видео в качестве 1080р с битрейтом меньше или больше 4,05 Мбит/с, мы преобразуем его в стандартные 4,05 Мбит/с.
Обратите внимание. После такого преобразования объём видео увеличится. Пожалуйста, учитывайте это при оценке расходов на хранение.
Мы также поддерживаем:
- Транскодирование с сохранением оригинального битрейта
- Транскодирование в любой битрейт по запросу
- Разделение на нестандартные разрешения (например, 1440p QHD или 4320p 8k FUHD)
Для настройки пишите на support@macloud.pro или вашему менеджеру.
Прямые трансляции
Прямые трансляции. Создать поток
Чтобы создать поток:
1. В личном кабинете перейдите в раздел Прямые трансляции и нажмите Создать поток.
2. В появившемся окне введите название потока и нажмите Создать.
Если кнопка неактивна, у вас исчерпан лимит потоков. Чтобы создать новый, удалите один поток из списка. Или просто измените настройки уже созданного потока.
3. Откроется новая страница. Нажмите на переключатель Включить поток, чтобы активировать поток.
4. Нажмите на переключатель Включить Low Latency, чтобы доставлять поток с низкими задержками. Если переключатель отсутствует, обратитесь в техническую поддержку по почте support@macloud.pro. Мы подключим и активируем опцию.
5. Укажите проекцию вашего видео: обычное видео, 360° панорама, 180° панорама или 3D 360° Top-Bottom.
6. (опционально) Включите опцию DVR, чтобы позволить зрителям перематывать поток на 1 час назад.
7. (опционально) С помощью опции Наложение вставьте изображение поверх потока.
Особенности опции:
- Допускаются только GIF-изображения.
- Размер изображения должен совпадать с разрешением трансляции, иначе изображение будет растянуто. \ Например, вы будете стримить в разрешении 1920х1080 и хотите добавить GIF-логотип в правый верхний угол. Вам необходимо создать GIF-файл с размерами 1920х1080, в котором большая часть изображения должна быть прозрачной, а в правом верхнем углу располагается ваш логотип. \ Пример растянутого изображения:
- Для изменения изображения необходимо перезапустить трансляцию.
- При использовании опции Запись, наложение не отображается в видеозаписи трансляции.
8. Выберите подходящий тип потока: Push или Pull.
- Используйте тип потока Pull, если у вас есть собственный медиа сервер для стриминга. Поток будет идти через ваш медиа сервер. Наш сервер изменит поток из формата RTMP, RTSP или SRT в формат HLS или CMAF (Low Latency DASH). Далее наш CDN доставит поток конечным пользователям.
- Используйте тип потока Push, если у вас нет собственного медиа сервера. Добавьте URL нашего сервера и уникальный ключ потока в ваш энкодер (например, OBS, Wirecast, LiveU Solo и другие). Поток будет идти через наш сервер, конвертироваться в формат HLS или CMAF (Low Latency), а наш CDN доставит его конечным пользователям.
Следующий шаг настройки зависит от выбранного типа потока Push или Pull.
9. Настройте поток.
- (Если выбран тип потока Pull) в поле URL добавьте ссылку на поток из вашего медиа сервера.
Чтобы повысить отказоустойчивость, добавьте ссылки на поток из нескольких медиа серверов через пробел. Тогда первый указанный медиа сервер будет считаться основным, а остальные — запасными. Если мы перестанем получать сигнал от первого сервера, мы автоматически переключимся на запасной.
- (Если выбран тип потока Push) из выпадающего списка выберите энкодер, который будете использовать для стриминга. Скопируйте значения полей Server URL и Stream Key. На изображении ниже rtmp://vp-push-ix1.macloud.su/in — URL сервера, 100000?e1033cf… — Ключ потока.
Вставьте скопированные значения в настройки вашего энкодера.
10. Запустите поток на вашем медиа сервере или энкодере. Если всё настроено верно, в плеере появится предпросмотр.
11. Скопируйте код, чтобы вставить поток на сайт, или добавьте ссылку на поток в собственный плеер. После этого трансляция станет доступна вашим зрителям.
Настроить CDN-ресурс для стриминга и раздачи видео
Как Стриминг раздаёт видео?
Стриминг раздаёт контент через CDN: CDN-серверы забирают ваше видео из хранилища и отправляют конечным пользователям, ускоряя доставку. Файлы уходят зрителям с поддомена CDN-ресурса.
Раздавать видео с нашего домена
Как только вы создаёте поток или загружаете видео, мы автоматически создаём для вас CDN-ресурс c нашим доменным именем, например, *.macloud.su. Все файлы видео будут отправляться зрителям именно с этого домена. Вам ничего не нужно настраивать.
Внимание. Внесение изменений в настройки такого ресурса может привести к ошибкам в раздаче контента. Если вы хотите изменить настройки ресурса, обратитесь за помощью к технической поддержке по адресу support@macloud.pro.
Раздавать видео с собственного домена (если опция активна)
Если вы хотите отправлять видео конечным пользователям с вашего персонального домена, создайте CDN-ресурс с нужным поддоменом и настройте раздачу через него.
1. (Пропустите, если у вас уже есть CDN-ресурс). В разделе Настройки CDN нажмите Создать CDN-ресурс.
2. (Пропустите, если у вас уже есть CDN-ресурс).
-
Если хотите изменить только поддомен *.macloud.su, выберите вторую опцию, введите поддомен и нажмите Создать. \ Перейдите к 4 шагу инструкции.
-
Если хотите изменить доменное имя целиком, выберите «Свое значение», введите поддомен вида cdn.example.ru и нажмите Создать.\ Затем вам нужно выполнить два действия вне личного кабинета MaCloud. Сначала откройте личный кабинет регистратора вашего домена и добавьте для поддомена CNAME-запись, указывающую на нашу CDN — благодаря этому зрители будут получать контент через нашу CDN, но от имени вашего поддомена. Добавить CNAME-запись можно по инструкции «Персональный домен. Задать доменное имя для доставки контента через CDN». Чтобы вести потоки или передавать видео по протоколу HTTPS, добавьте SSL-сертификат для CDN-ресурса. Бесплатный SSL-сертификат Let’s Encrypt вы можете выпустить по инструкции «SSL-сертификат. Добавить SSL-сертификат к ресурсу для передачи контента по HTTPS». Иначе ваши Live потоки и видео будут доступны только по протоколу HTTP.
3. Рядом с нужным ресурсом нажмите Привязать ресурс. Так вы подключите ресурс к Стриминговой платформе, и мы автоматически его настроим: привяжем правила кеширования, подходящие для раздачи видео-контента. Если этот ресурс использовался для раздачи другого статического контента, учтите: он отвяжется от прежнего источника и привяжется к Стримингу. Изменятся также и правила ресурса — он будет перенастроен под раздачу видео.
4. Установите CDN-ресурс по умолчанию — через него будут раздаваться все будущие видео. Можно выбрать разные ресурсы для раздачи видео и потоков или использовать один и тот же. Выберите ресурс и нажмите Сохранить.
Внимание. Внесение изменений в настройки такого ресурса может привести к ошибкам в раздаче контента. Если вы хотите изменить настройки ресурса, обратитесь за помощью к технической поддержке по адресу support@macloud.pro
Ретрансляция. Создать и настроить
Об опции Ретрансляция
Что это? Ретрансляция — это платная опция, которая помогает одновременно транслировать ваши Live потоки и плейлисты на различных платформах для стриминга: YouTube, Одноклассники, ВКонтакте и других.
Например: вы используете Стриминг MaCloud для образовательного сайта, на котором вы проводите вебинары. Однажды вы решаете расширить аудиторию и начать транслировать вебинары ещё на нескольких платформах (например, ВКонтакте и YouTube). В этом случае вам потребуется передавать три потока: один для сайта через наш Стриминг, другой — для ВКонтакте, третий — на YouTube. Для этого требуется мощное устройство для стриминга, потому что вы одновременно транслируете три отдельных потока — это создаёт высокую нагрузку на процессор. Оптимизировать этот процесс можно с помощью опции Ретрансляция. В этом случае вы передаёте только один поток на наш Стриминг, а затем направляете его на те платформы, которые вам нужны.
Как работает? Вы получаете данные для авторизации (URL стрима и ключ) на тех платформах, на которые хотите передавать ваш поток или плейлист. Затем создаёте рестрим в личном кабинете MaCloud. При создании указываете данные для авторизации и выбираете тот поток или плейлист, который хотите транслировать. Больше ничего не требуется. Вы можете начинать трансляцию, она будет передаваться в нашем плеере и на указанных платформах.
Особенности. Ретрансляции можно передавать на неограниченное число платформ. Цена опции зависит от количества платформ, на которое вы будете стримить: чем их меньше — тем ниже цена. По умолчанию, когда вы подключаете опцию, будет доступна только одна платформа. Чтобы увеличить число, свяжитесь с технической поддержкой — мы изменим лимит и цену опции.
Настроить ретрансляцию
1. Чтобы подключить опцию, отправьте запрос нашей техподдержке через чат или по почте support@macloud.pro. Пожалуйста, укажите ID вашего аккаунта при обращении. Вы можете найти его на главной странице в личном кабинете.
Шаблон сообщения: «Здравствуйте! Пожалуйста, подключите опцию Ретрансляция для аккаунта с ID … (ваш ID)».
По умолчанию на ваш аккаунт мы подключаем только одну рестрансляцию. Если вы хотите использовать больше одной, укажите необходимое число платформ для ретрансляции в сообщении.
Мы напишем вам, когда опция будет активирована. После этого вы сможете настроить её в личном кабинете.
2. Получите данные для авторизации на той платформе, на которой хотите стримить. Прикладываем ссылки на инструкции для часто используемых платформ: YouTube, ВКонтакте, Одноклассники.
Например, мы хотим транслировать наш поток на YouTube. Для этого нужно перейти на YouTube и нажать Начать трансляцию. На открывшейся странице настройки трансляции вы сможете скопировать ключ и URL трансляции.
3. Перейдите в раздел Ретрансляция потока и нажмите Создать ретрансляцию.
Откроется страница настройки. Выполните оставшиеся шаги на ней.
4. Оставьте опцию включённой, если собираетесь передавать трансляцию сразу после настройки. Если вы настраиваете ретрансляцию предварительно, а трансляция начнётся позднее, выключите опцию. Если опция выключена, ретрансляция передаваться не будет.
5. Дайте название ретрансляции. Оно будет отображаться только в личном кабинете.
6. Вставьте данные для авторизации из шага 2 в формате:
URL/КЛЮЧ
Например, URL нашего стрима: rtmp://a.rtmp.youtube.com/live2, а ключ — abc123. Поэтому в поле URL мы должны вставить следующее:
rtmp://a.rtmp.youtube.com/live2/abc123
где:
- rtmp://a.rtmp.youtube.com/live2 — это URL трансляции
- / — это обязательный соединительный символ
- abc123 — это ключ трансляции
7. Выберите, какой тип видеоконтента вы хотите ретранслировать. Вы можете транслировать поток и плейлисты.
Если нужно ретранслировать плейлисты, они должны быть зациклены.
8. Выберите поток или плейлист из списка.
9. Сохраните изменения.
Затем нужно включить поток или плейлист (в зависимости от вашего выбора), подождать несколько минут, пока настройки применятся, и перезагрузить страницу Ретрансляция потока. Если всё было настроено корректно, вы увидите надпись Live напротив ретрансляции, а при переходе на стриминговую платформу в окне предпросмотра — видеоконтент, который вы передаёте в потоке.
После завершения трансляции вы можете использовать созданную ретрансляцию повторно. Если ключ и URL трансляции не изменились, тогда вам просто нужно активировать ретрансляцию в личном кабинете — и трансляция будет передаваться на нужную платформу. Если данные для авторизации изменились или если вы хотите сменить платформу, перенастройте ретрансляцию, добавив актуальные URL и ключ в настройках.
Мультикамера. Объединить несколько потоков
Что такое Мультикамера?
Мультикамера — это бесплатная опция для объединения двух и более потоков. Вы отдаёте зрителю сразу несколько видеопотоков, между которыми он может переключаться с помощью кнопки в плеере.
Опция пригодится, чтобы показать событие сразу с нескольких ракурсов или на разных языках.
С разных ракурсов. Вы ведёте трансляцию вручения кинопремии. Зрители хотят видеть не только сцену, где ведущий объявляет победителей, но и зал со знаменитостями. Через Мультикамеру вы отправляете потоки сразу с двух камер — одна снимает сцену, другая — зал. У зрителя в плеере появляется кнопка, с помощью которой он может в любой момент переключаться между камерами.
На разных языках. Вы ведёте трансляцию для мультиязычной аудитории: немцев, англичан и французов. Вы создаёте три потока с разной озвучкой — на английском, немецком и французском. Отправляете эти потоки через Мультикамеру, и зрители получают возможность мгновенно переключаться между разными озвучками.
Настроить Мультикамеру
Прежде чем перейти к настройке Мультикамеры, создайте как минимум два потока; сделать это можно по инструкции «Создать поток». Затем настройте Мультикамеру.
1. Перейдите в раздел Прямые трансляции → Мультикамера. Нажмите Создать мультикамеру, введите название (оно будет отображаться в личном кабинете, зрители его не увидят) и выберите потоки, которые хотите объединить. Нажмите Создать.
Откроется новое окно. Остальные шаги инструкции выполняйте в нём.
2. Выберите статус трансляции. Статус определяет, что зритель увидит в плеере:
- Live — ваш видеопоток.
- Ожидает запуска — чёрный экран либо изображение, которое вы добавите на шаге № 5, с текстом «Трансляция еще не начата».
- Приостановлена — чёрный экран либо изображение, которое вы добавите на шаге № 5, с текстом «Трансляция на паузе».
- Завершена — чёрный экран либо изображение, которое вы добавите на шаге № 5, с текстом «Трансляция завершена».
Вы сможете менять статус на ходу. Например, при технической неполадке установите статус Приостановлена, чтобы приостановить трансляцию. Когда решите проблему, смените статус на Live, и трансляция продолжится.
3. Если вы подключили опции Плеер и Реклама, вы можете подключить их для Мультикамеры.
4. Установите порядок потоков. Первый в списке поток зритель сразу увидит в плеере, к другим сможет перейти с помощью кнопок. На этом этапе вы можете удалять и добавлять потоки.
5. Загрузите заставку, если хотите заменить текстовую заглушку в статусах Ожидает запуска, Приостановлена и Завершена изображением.
6. Нажмите Сохранить изменения.
7. Скопируйте iframe-код и вставьте его в код вашей страницы. В плеере появится основной видеопоток, и будет возможность переключиться на другие потоки с помощью кнопки шестерёнки в правом нижнем углу.
Запись. Включить запись потока
Что такое Запись?
Запись — платная опция, которая позволяет записывать потоки и хранить их в видео-хранилище. Вы можете записать весь поток или желаемый фрагмент.
Как подключить опцию?
Отправьте запрос на подключение опции Запись в техническую поддержку по почте support@macloud.pro или через чат с менеджером.
В запросе укажите ID вашего аккаунта, чтобы мы могли вас идентифицировать. ID аккаунта находится на главной странице вашего личного кабинета.
{width="602" height="96"}
Пример запроса: «Добрый день! Пожалуйста, подключите опцию Запись для аккаунта ID … (ваш ID)».
Мы сообщим вам, когда опция будет подключена. Далее вы сможете приступить к записи ваших потоков.
Как записать поток?
Записать поток через личный кабинет
1. Запустите поток в вашем энкодере.
2. В личном кабинете откройте настройки потока, который вы запустили.
3. Нажмите кнопку Начать запись.
Запись начнется через 5–10 секунд. Вы увидите таймер и кнопку Остановить запись.
Поток может приостановиться из-за проблем с интернет-соединением, энкодером или повреждённым кабелем. В таком случае запись возобновится, когда поток будет снова активен. Запись сохранится единым видео, если поток останавливался менее чем на минуту. Если он останавливался более чем на минуту, запись будет разделена на несколько видео.
4. Если вы хотите записать не весь поток, а отдельный фрагмент, нажмите Остановить запись в нужный вам момент. Фрагмент сохранится. Обратите внимание: длительность фрагмента должна быть не менее 10 секунд.
Если вы хотите записать весь поток, не нажимайте кнопку Остановить запись. Запись остановится автоматически, когда завершится поток. Обратите внимание: запись продолжительностью более 4 часов будет разделена на фрагменты по 4 часа каждый — это оптимальный размер фрагмента записи для обработки видео.
После остановки записи она обработается и сохранится в видео-хранилище.
Записать поток через API
Вы можете включить автоматическую запись, когда вы создаёте или редактируете поток. Для этого в API-запросе добавьте параметр auto_record: true.
Запись будет сохранена в видео-хранилище.
Где хранятся записи?
Записи сохраняются в видео-хранилище. Чтобы их получить:
1. Откройте раздел Видео хостинг → Все видео.
2. Найдите запись потока и перейдите в настройки видео.
3. Откройте вкладку Экспорт. Здесь вы можете скачать видео в нужном качестве и скопировать код iframe, чтобы вставить видео на ваш сайт.
Адаптивный битрейт. Что это и как работает?
Адаптивный битрейт загружает поток или видео в браузере пользователя с оптимальной скоростью. Стриминговая платформа включает адаптивный битрейт для всех трансляций и видео по умолчанию.
Отправляйте нам поток или загружайте видео в максимальном качестве, а мы разделим их на несколько потоков или видео с разным уровнем битрейта.
Механизм работы адаптивного битрейта
1. Мы создаём мастер-плейлист со встроенными в него потоками с разными разрешениями и битрейтами.
2. Плеер в браузере конечного пользователя оценивает скорость интернет-соединения, размер окна воспроизведения, разрешение видео и загруженность процессора.
3. На основании полученных данных воспроизводится самый подходящий поток. Например, если у пользователя медленная скорость соединения, автоматически загрузится поток с меньшим битрейтом.
DVR. Включить навигацию по прямому эфиру
Что такое DVR?
DVR (Digital Video Recorder) — платная опция, которая позволяет вашим зрителям останавливать и перематывать поток в прямом эфире.
Красный круг напротив надписи В ЭФИРЕ означает, что вы смотрите прямой эфир.
Если вы останавливаете или перематываете поток с включённой опцией DVR, круг станет серым.
DVR основан на технологии кеширования. Когда опция включена, мы кешируем ваши потоки на 1 час. Это значит, что зрители могут перематывать поток на 1 час назад.
Если ваши потоки длятся дольше, вы можете увеличить время DVR перемотки до 4 часов, обратившись в техническую поддержку. Увеличение времени настраивается бесплатно.
Как подключить опцию?
Отправьте запрос на подключение опции DVR в техническую поддержку по почте support@macloud.pro или через чат с менеджером.
В запросе укажите ID вашего аккаунта, чтобы мы могли вас идентифицировать. ID аккаунта находится на главной странице вашего личного кабинета.
{width="602" height="96"}
Пример запроса: «Добрый день! Пожалуйста, подключите опцию DVR для аккаунта ID … (ваш ID)». Дополните запрос, если хотите увеличить время перемотки.
Мы сообщим вам, когда опция будет подключена. Далее вы сможете использовать её для ваших потоков.
Как использовать DVR?
1. Создайте поток или откройте существующий поток.
Следующие шаги выполняйте на странице Настройка прямых трансляций.
2. Чтобы включить опцию, активируйте переключатель DVR. Контент для перемотки потока сохраняется в кеше в течение 10 минут после начала прямого эфира с включённой опцией DVR. Первые 10 минут зритель не сможет останавливать или перематывать поток.
3. Напротив переключателя есть кнопка Очистить. Эта кнопка позволяет очищать кеш DVR. Очищайте его каждый раз, когда запускаете новый эфир в существующем потоке. Иначе ваши зрители смогут увидеть закешированный конец предыдущего эфира.
4. Сохраните изменения.
В плеере появится линия времени, по которой зрители смогут перемещаться в потоке.
Двойное нажатие на экран перематывает эфир на 10-15 секунд вперёд или назад, в зависимости от области нажатия: слева или справа. Доступно на смартфонах (Android) при использовании нашего плеера.
Транскодирование потоков в протоколы HLS и MPEG-DASH (CMAF для Low Latency)
Стриминговая платформа поддерживает приём потоков с вашего источника (PULL) или с выделенной вам точки публикации (PUSH) по протоколам: SRT и RTMP.
Входящий поток транскодируется для получения потоков в качествах ниже и раздаётся с адапативным битрейтом через CDN в протоколах HLS и MPEG-DASH (CMAF).
Для настройки передачи видео с помощью Low Latency MPEG-DASH обратитесь в техническую поддержку support@macloud.pro.
Задержка потока и её причины
Что это? Задержка потока — это временной интервал с момента захвата кадра до его отображения на экранах зрителей.
Традиционная задержка видеопотока составляет 30–40 с.
Почему возникает? Видеопоток в процессе доставки до конечного пользователя проходит несколько этапов:
- Кодирование и упаковка: обработка контента для создания сегментов потока.
- Передача: загрузка в CDN и доставка на устройство воспроизведения пользователя.
- Плееры: загрузка сегментов и их буферизация.
Каждый этап преобразования видеопотока увеличивает время задержки видео, что может быть критично для определённых типов контента: спортивных мероприятий, новостных выпусков, мероприятий, связанных с киберспортом и интерактивом.
С помощью нашей Стриминговой платформы вы можете сократить время доставки потока, транскодировав его в форматы HLS или MPEG-DASH (CMAF для Low Latency вещания). Подробнее о каждом протоколе рассказываем ниже.
HLS
Что это? HLS (HTTP Live Streaming) — это адаптивный протокол на основе HTTP, который был разработан компанией Apple для потоковой передачи как записанного видео, так и видео в режиме реального времени.
Потоки в HLS формате кешируются на CDN-серверах и раздаются через CDN как статический контент. При использовании стриминговой платформы вместе с CDN видеопоток, передающийся через HLS протокол, доставляется от источника до конечного зрителя с задержкой до 8-10 секунд. Это быстрее, чем передача видео через спутник или IPTV.
Механизм работы. HLS разбивает поток на небольшие фрагменты (чанки в формате mpeg-ts), информация о которых хранится в специальном файле (манифесте в формате m3u8). Приложение, например браузер, запрашивает манифест и последовательно воспроизводит фрагменты, которые в нём содержатся. Далее оно воспроизводит все фрагменты и снова запрашивает манифест и, если в нём содержатся новые фрагменты, загружает и последовательно воспроизводит их.
Low Latency MPEG-DASH
Что это? MPEG-DASH (от MPEG и англ. Dynamic Adaptive Streaming over HTTP) — технология адаптивной потоковой передачи данных для доставки медиаконтента через Интернет по протоколу HTTP. Использование такого метода доставки видео сокращает задержку до 4–5 с.
CMAF (Common Media Application Format) — инструмент, позволяющий сократить размер чанков.
Low Latency MPEG-DASH — технология доставки видео с низкой задержкой за счет использования MPEG-DASH протокола и технологии CMAF.
Механизм работы. Как правило, при обычном способе доставки видео кодировщик отправляет сегмент на CDN после его полного создания. Как только CDN получает полный сегмент, он передаёт его плееру. При таком подходе задержка видео преимущественно зависит от длины сегментов. Например, если длина сегмента 7 с., при запросе и обработке первого сегмента плеер отображает пользователю кадр, который уже на 7 с. отстаёт от фактического времени.
При использовании CMAF-CTE LL-DASH-сегменты разбиваются на независимые друг от друга чанки — ещё более маленькие сегменты — по 2–4 с. Независимость чанков позволяет кодировщику не дожидаться окончания полной загрузки сегмента, а отправлять его на CDN и в плеер уже готовыми маленькими фрагментами.
Такой подход помогает исключить фактор продолжительности сегмента, ранее влияющий на задержку видео. Это означает, что для сегмента длиною 10 с. и сегмента длиною 2 с. задержка будет одинаковая.
Итоговая задержка между сервером отдачи контента и конечными зрителями составляет не более 4 секунд.
Чтобы использовать технологию Low Latency MPEG-DASH, необходимо, чтобы на всех этапах передачи видео присутствовала поддержка CMAF, поэтому рекомендуем использовать плеер, поддерживающий библиотеку dash.js.
Используйте свой плеер с поддержкой dash.js или воспользуйтесь плеером MaCloud.
Важно. На iOS устройствах нет поддержки dash.js, поэтому для нашего плеера создаём резервный поток в HLS. Если вы используете другой плеер, удостоверьтесь, что выполнены определённые настройки для поддержки Low Latency MPEG-DASH на iOS-устройствах.
Прямые трансляции. Рекомендуемые параметры потока
Стриминговая платформа поддерживает приём потоков с вашего источника (PULL) или с выделенной вам точки публикации (PUSH) по протоколам: SRT и RTMP.
Обратите внимание. Чтобы получить PUSH точку для протокола SRT, напишите нам в чат или на support@macloud.pro.
Входящий поток транскодируется для получения потоков в качествах ниже и раздаётся с адапативным битрейтом через CDN в протоколах HLS/MPEG-DASH (CMAF).
Рекомендуемые требования для отправки потока:
Параметр | Значение | ||||
Качество Разрешение Битрейт видео | 4К 3840x2160 (30 fps) 13 000 — \ 34 000 Кбит/с (60 fps) 20 000 — \ 51 000 Кбит/с Важно: нежелательно устанавливать битрейт потока выше 16 000 Кбит/с, так как возможны подрывы сигнала. | 1440 2560x1440 (30 fps) 6 000 — \ 13 000 Кбит/с (60 fps) 9 000 — \ 18 000 Кбит/с Важно: нежелательно устанавливать битрейт потока выше 16 000 Кбит/с, так как возможны подрывы сигнала. | 1080 1920x1080 (30 fps) 3 000 — \ 6 000 Кбит/с (60 fps) 4 500 — \ 9 000 Кбит/с | 720 1280x720 (30 fps) 1 500 — 4 000 Кбит/с (60 fps) 2 250 — 6 000 Кбит/с | 480 854x480 (30 fps) 500 — \ 2 000 Кбит/с |
Кадровая частота | До 60 fps | ||||
Соотношение сторон | 16:9 — рекомендуемое значение для оптимального заполнения экрана | ||||
Аудиокодек | AAC, MP3 | ||||
Видеокодек | H.264, H.265 | ||||
Частота следования ключевых кадров |
4 секунды, но не более 6 секунд | ||||
Метод кодирования | VBR | ||||
Пропорции пикселя | Квадрат | ||||
Частота дискретизации звука | 44.1 кГЦ | ||||
Битрейт аудио | 128 Кбит/с, стереозвук |
Если у вас особенный поток, и вам не подходят рекомендуемые параметры, напишите нам, мы поможем найти решение.
Важно. Чтобы запустить Live поток в качестве 4К или выше, напишите нам в чат, на почту support@macloud.pro или обратитесь к вашему менеджеру.
Транскодирование потоков. Итоговые кадровая частота и кодеки
Кадровая частота
Кадровая частота — это количество кадров, сменяющих друг друга за секунду.
Оптимальная кадровая частота для раздачи в интернете, работающая на всех устройствах — 30 fps, поэтому мы по умолчанию транскодируем исходную кадровую частоту потока до этого значения.
При необходимости можно сохранить исходную кадровую частоту потока или транскодировать до необходимого значения.
Для настройки индивидуального значения кадровой частоты напишите нам в чат, на почту support@macloud.pro или обратитесь к вашему менеджеру.
Аудио/видеокодеки
Кодек — это программа, предназначенная для кодирования и декодирования аудио- и видеопотоков.
После транскодирования у видео-потока будут следующие кодеки:
Аудио: AAC
Видео: H264
Транскодирование потоков. Итоговые битрейты для разных качеств
Транскодирование — это преобразование параметров видеофайла.
Оно включает в себя не только изменение протокола передачи, но и разделение на более низкие качества с подходящим битрейтом.
Важно. Мы также меняем битрейт исходящего от вас потока в большую или меньшую сторону, опираясь на стандартный набор битрейтов, оптимальных для каждого разрешения.
Например, если вы присылаете поток в качестве 1080р с битрейтом меньше или больше 4,05 Мбит/с, мы преобразуем его в стандартные 4,05 Мбит/с.
Обратите внимание. Чтобы запустить Live поток в качестве 4К или выше, напишите нам в чат, на почту support@macloud.pro или обратитесь к вашему менеджеру.
Мы также поддерживаем:
- Транскодирование с сохранением оригинального битрейта
- Транскодирование в любой битрейт по запросу
- Разделение на нестандартные разрешения (например, 1440p QHD или 4320p 8k FUHD)
Для настройки напишите на support@macloud.pro или вашему менеджеру.
Популярные приложения для стриминга
Трансляция через Open Broadcaster Software (OBS)
Что такое OBS?
Open Broadcaster Software (OBS) — бесплатная программа-энкодер с открытым исходным кодом для записи видео, захвата экрана и потокового вещания. Подходит для трансляции игр, ведения блогов, создания образовательного контента и иных целей.
OBS подключает ваше устройство (ноутбук или ПК) к стриминговым платформам (Стриминг MaCloud, YouTube и так далее). Энкодер обрабатывает картинку, конвертирует её в видеопоток и отправляет на стриминговую платформу.
Как настроить OBS для Стриминга?
1. Скачайте Open Broadcaster Software (OBS) на официальном сайте и установите программу.
2. Нажмите на кнопку Настройки и откройте вкладку Трансляция.
3. В поле «Сервис» из выпадающего списка выберите вариант «Настраиваемый».
4. Введите URL сервера Стриминговой платформы в поле «Сервер» и ключ вашего видеопотока в поле «Ключ потока».
Чтобы получить URL и ключ, перейдите в раздел Прямые трансляции в личном кабинете и откройте настройки потока. В разделе Ссылки для энкодера выберите OBS в качестве энкодера и скопируйте значения полей Server и Stream Key. Если у вас ещё нет потока, создайте его по инструкции.
Например, вы видите такие значения:
Скопируйте их и вставьте в OBS следующим образом:
- rtmp://vp-push-ix1.macloud.su/in в поле «Сервер»
- 100000?e1033cf2f6998965… в поле «Ключ потока»
5. Нажмите на кнопку Применить, чтобы сохранить настройки.
После этого этапа вы можете начать трансляцию, но мы рекомендуем внести все необходимые настройки в поток OBS. Если хотите начать трансляцию сейчас, перейдите к разделу «Как запустить трансляцию» — мы расскажем, как это сделать.
Чтобы завершить настройку потока, измените параметры во вкладках Вывод, Аудио и Видео. Для этого следуйте инструкции ниже.
Параметры Вывода
1. Откройте настройки OBS и перейдите на вкладку Вывод. Выберите Режим вывода «Простой».
2. Установите значения:
- Битрейт видео: чем выше разрешение видео, тем большее значение битрейта нужно установить. Проверьте, какое значение подойдёт для вашего разрешения с помощью таблицы рекомендуемых параметров потока.
- Битрейт аудио: 128
- Кодировщик: Программный (x264)
3. Выберите Режим вывода «Расширенный».
4. Установите значения:
- Управление битрейтом: VBR (значение Битрейт по умолчанию — 2500 Кбит/c).
- CRF: 21
- Интервал ключевых кадров: 4 с
- Предустановка использования ЦП: veryfast
- Профиль: main
5. Нажмите на кнопку Применить, чтобы сохранить изменения
Параметры Аудио
1. Откройте настройки OBS и перейдите на вкладку Аудио.
2. Установите Частоту дискретизации на 48 kHz и Стерео Канал.
3. Нажмите Применить.
Параметры Видео
1. Откройте настройки OBS и перейдите на вкладку Видео.
2. Установите значения:
- Выходное (масштабированное) разрешение: 1280×720
- Фильтр масштабирования: Бикубический
- Общие значения частоты кадров: 30
3. Нажмите Применить.
Подсказка. Если вы хотите вести трансляции в разрешении 1920×1080, установите значение Битрейт видео на 4000 Кбит/c (вместо 2500 Кбит/c) в настройках Вывода. Если нужно увеличить частоту кадров до 60, установите значение Битрейт видео на 8000 Кбит/c.
При установке значения для Базового разрешения (холста) на 1920×1080, трансляция будет транскодирована в три разрешения: 720p, 480p и 240p.
Готово. Теперь вы можете запустить трансляцию!
Как запустить трансляцию?
1. Перейдите в главное меню OBS, выберите источник трансляции, нажав на + в разделе Источники.
2. Нажмите на кнопку Запустить трансляцию.
3. Когда трансляция начнётся, в личном кабинете перейдите в настройки потока и скопируйте ссылку для экспорта потока. Вы можете вставить её на сайт или распространить другим способом.
Теперь трансляция из OBS успешно передаётся через нашу Стриминговую платформу для ваших пользователей.
Трансляция через Wirecast
Чтобы вести трансляции через Wirecast:
1. Установите и запустите программу Wirecast.
2. Выберите Create Empty Document и нажмите Continue.
3. В верхнем меню перейдите в секцию Output и выберите Output Settings.
4. В поле Destination выберите RTMP Server.
5. Откройте настройки созданного потока в личном кабинете MaCloud.
6. Спуститесь в секцию Ссылки для энкодера и выберите энкодер Wirecast. В следующем шаге вам понадобятся ссылка из поля Address и ключ потока из поля Stream.
7. В Wirecast откройте окно Output Settings. В поле Address вставьте ссылку, которую вы получили на предыдущем шаге.
8. В поле Stream введите ключ потока из поля Stream личного кабинета.
9. Нажмите OK, чтобы сохранить настройки.
10. Откроется главная страница Wirecast. Нажмите на иконку + в меню выбора слоёв. Выберите, что вы хотите транслировать своей аудитории: медиа-файл, захват экрана или другое. Нажмите Add.
Ваш слой добавится в секцию Preview с зелёной рамкой.
11. Нажмите на кнопку →○, чтобы перевести слой в статус Live.
12. Нажмите Stream, чтобы начать трансляцию.
13. В личном кабинете в настройках потока найдите секцию Ссылки для экспорта и скопируйте код, чтобы вставить поток на сайт, или добавьте ссылку в собственный плеер.
После этого трансляция станет доступна вашим зрителям.
Трансляция через Adobe Flash Media Live Encoder
Чтобы вести трансляции через Adobe Flash Media Live Encoder:
1. Скачайте, установите и запустите программу для трансляций.
2. Для того, чтобы получить RTMP URL и ключ, перейдите в настройки созданного вами потока в личном кабинете и перейдите в секцию Ссылки для энкодера. Эти данные понадобятся вам в последующей настройке.
3. Перейдите на вкладку Encoding Options.
4. В поле FMS URL впишите RTMP URL, например, rtmp://vp-push.macloud.su/in.
5. В поле Stream впишите ключ, полученный в личном кабинете, например, 100000?e1033cf2f699896534e665.
6. Задайте параметры потока с помощью прочих функций.
Рекомендуемые параметры
Для Видео:
- Device – источник вещания видео
- Format: H.264
- Frame Rate: 30 fps
- Input Size: 1280x720
- Bit Rate: 2000 Kbps
Для Аудио:
- Device – источник вещания звука
- Channels: Stereo
- Bit Rate: 128 kbps
7. После настройки параметров нажмите Start, чтобы начать трансляцию.
8. В личном кабинете в настройках потока найдите секцию Ссылки для экспорта и скопируйте код, чтобы вставить поток на сайт, или добавьте ссылку в собственный плеер.
После этого трансляция станет доступна вашим зрителям.
Трансляция через LiveU Solo
1. Установите и запустите программу LiveU Solo.
2. Перейдите в раздел Edit Destination.
3. Получите RTMP URL и ключ в личном кабинете. Для этого перейдите в настройки созданного вами потока в личном кабинете и найдите секцию Ссылки для энкодера.
4. В поле Primary Ingress URL вставьте RTMP URL, например, rtmp://vp-push-ix1.macloud.su/in. В поле Stream name введите ключ потока, например, 100000?e1033cf2f699896534e665.
5. Запустите трансляцию.
Дополнительные возможности
Плееры. Настроить плеер с собственным брендингом и настройками
Что такое Плеер?
Плеер — платная опция, которая позволяет видоизменять стандартный плеер.
Сравним стандартный и пользовательский плееры. Чтобы показать возможности пользовательского плеера, мы внесли изменения:
- Обновили цвета интерфейса
- Добавили логотип в левом верхнем углу
- Подключили кнопку Поделиться видео
- Включили режим «Без звука» по умолчанию
Как подключить опцию?
Отправьте запрос на подключение опции Плеер в техническую поддержку по почте support@macloud.pro или через чат.
В запросе укажите ID вашего аккаунта, чтобы мы могли вас идентифицировать. ID аккаунта находится на главной странице вашего личного кабинета.
Пример запроса: «Добрый день! Пожалуйста, подключите опцию Плеер для аккаунта ID … (ваш ID)».
Мы сообщим вам, когда опция будет подключена. Далее вы сможете приступить к настройке вашего пользовательского плеера.
Как настроить плеер?
1. Перейдите в раздел Плееры и нажмите Создать плеер.
2. Введите имя плеера и нажмите Создать. Имя будет отображено в списке плееров в личном кабинете.
Откроется страница настройки плеера. Завершите шаги настройки.
3. Установите пользовательский плеер как плеер по умолчанию, если хотите использовать его для всех видео и/или прямых трансляций.
Пользовательский плеер также устанавливается для определенного видео или прямой трансляции.
4. Включите опции поведения видео:
- Автозапуск. Если опция активна, при открытии сайта видео запускается автоматически.
- Без звука. Если опция активна, видео будет запускаться без звука.
Если включить обе опции, работать будет только одна из них. Поведение зависит от политики браузера конечного пользователя.
Политика браузера Mozilla\ Политика браузера Chrome
5. Включите опции управления видео:
- Отключить скин. Если опция активна, элементы управления скрыты.
- Поделиться видео. Если опция активна, в правом верхнем углу видео добавляется кнопка с возможностью им поделиться.
- Управлять скоростью воспроизведения. Если опция активна, пользователи могут замедлить или увеличить скорость воспроизведения.
- Приостанавливать по клику на экран плеера. Если опция активна, видео остановится при клике на любую часть экрана плеера.
- Устанавливать максимальное качество первого фрагмента видео. Если опция активна, для первого фрагмента при загрузке видео устанавливается максимальное качество. Если опция выключена, качество первого фрагмента будет выбрано автоматически.
6. Выберите цвета для разных элементов плеера:
- Цвет переднего плана для элементов нижней панели
- Цвет при наведении курсора для элементов панели, на которые наводится курсор
7. Подключите Google Analytics и укажите ваш Google Analytics идентификатор, если хотите собирать статистику по действиям пользователей в плеере.
8. Добавьте логотип для плеера.
9. Установите положение логотипа.
10. Нажмите Сохранить изменения.
Реклама. Настроить монетизацию видео и потоков
Что такое Реклама?
Реклама — платная опция, которая позволяет вставлять рекламные ролики в любую часть видео или потока, чтобы монетизировать контент. Поддерживаются разные форматы рекламы: видео, баннеры, гиперссылки, а также рекламные площадки Google, Criteo, Adfox и другие.
Мы поддерживаем инструмент Яндекс SDK, а также интеграцию через VAST (Video Ad Serving Template). Спецификация VAST содержит в себе информацию о рекламе: физическое расположение, формат, URL, которые должны вызываться во время определённых событий, и так далее.
Как настроить рекламу?
1. Отправьте запрос на подключение опции Реклама в техническую поддержку по адресу support@macloud.pro или через чат.
В запросе укажите ID вашего аккаунта, чтобы мы могли вас идентифицировать. ID аккаунта находится на главной странице вашего личного кабинета.
Пример запроса: «Добрый день! Пожалуйста, подключите опцию Реклама» для аккаунта ID … (ваш ID)».
Мы сообщим вам, когда опция будет подключена. Далее вы сможете приступить к настройке вашей рекламы.
2. Перейдите в раздел Реклама и нажмите Добавить шаблон.
3. Введите название шаблона и нажмите Создать. Название будет отображаться только в вашем аккаунте.
Откроется страница редактирования рекламы. Остальные шаги настройки выполняйте на ней.
4. Вы можете использовать шаблон рекламы по умолчанию для видео и прямых трансляций. Для этого активируйте флажком соответствующий параметр. Если параметр активен, реклама будет добавлена ко всем видео и прямым трансляциям автоматически.
Если же параметр неактивен, рекламу нужно добавить вручную. Для этого перейдите в настройки видео или настройки мультикамеры. Выберите желаемый шаблон рекламы из выпадающего списка и сохраните изменения.
5. Выберите нужные виды рекламы для настройки. Каждый из 6 видов определяет в какое время рекламный ролик будет воспроизведён:
- Preroll — перед началом видео или прямой трансляции,
- Middleroll (только для видео) — в середине видео,
- Pauseroll — когда зритель ставит видео или прямую трансляцию на паузу,
- Postroll (только для видео) — после окончания видео,
- Repeatableroll (только для прямых трансляций) — на той секунде прямой трансляции, которую вы установите,
- SCTE-35 (только для прямых трансляций) — на метках врезки рекламы.
6. Выберите тип рекламы из выпадающего списка: VAST или Яндекс SDK.
7. В зависимости от выбранного типа рекламы, вставьте URL вашей рекламы (тип VAST) или JSON файл (тип Яндекс SDK) и нажмите Добавить. Повторите действие, если хотите добавить несколько рекламных роликов. Они будут воспроизводиться один за другим.
8. (опционально) Для типа Repeatableroll укажите временную метку прямой трансляции, после которой начнётся воспроизведение рекламного ролика. Укажите время в секундах.
9. Нажмите Сохранить изменения.
Статистика. Посмотреть статистику видео, прямых трансляций и расходов
В разделе Статистика можно найти статистические данные по просмотренным видео и прямым трансляциям. Здесь же отображается биллинговая статистика, на основе которой формируются ежемесячные расходы по услуге Стриминг.
Статистика видео и прямых трансляций
Стриминг MaCloud собирает статистику видео и прямых трансляций из двух источников данных: нашего стандартного плеера и логов CDN. Так, если вы пользуетесь собственным плеером, вы получите статистику от CDN.
Доступна статистика по:
- Просмотрам (CDN, Плеер) — количеству зрителей. Мы собираем информацию о поведении:
- Загрузках — сколько раз пользователи открыли страницу с видео или потоком.
- Стартах — сколько раз пользователи нажали кнопку Play.
- Просмотрах — сколько зрителей посмотрели хотя бы 5 секунд видео или потока.
- Уникальных просмотрах — количество уникальных зрителей. Мы идентифицируем зрителей по IP, размеру экрана, браузеру и cookie.
- Популярным видео (CDN, Плеер) — списку самых просматриваемых видео. Учитываются просмотры более 5 секунд.
- Географии (CDN) — странам, из которых зрители смотрели видео или поток хотя бы 5 секунд. Страна определяется по IP-адресу зрителя.
- Городам (CDN) — городам, из которых зрители смотрели видео или поток хотя бы 5 секунд. Город определяется по IP-адресу зрителя.
- Браузерам (Плеер) — браузерам, в которых зрители посмотрели видео или поток.
- ОС (Плеер) — операционным системам пользователей.
- Хостам (Плеер) — URL-страницам, с которых запрашивались видео или потоки. Учитываются просмотры более 5 секунд. URL streaming.macloud.pro означает, что видео просматривали в личном кабинете.
Статистические данные обновляются каждые 5 минут.
Чтобы просмотреть статистику:
1. Откройте раздел Статистика и выберите подраздел — Видео или Прямые трансляции.
2. Выберите источник данных: CDN или Плеер.
3. Укажите параметр статистики: «Просмотры», «Браузеры», «ОС» или другой.
4. Выберите временной интервал: 24 часа, 48 часов, неделя, месяц или укажите диапазон дат.
Чтобы посмотреть статистику по конкретному видео или потоку, откройте их настройки и перейдите во вкладку Статистика.
Статистика биллинга
В разделе Биллинг отображается статистика использования ресурсов Стриминговой платформы. Ежемесячные расходы по услуге Стриминг формируются на основе данной статистики. Условия оплаты описаны в вашем тарифе.
Доступна статистика по:
- Загрузке видео — длительности видео, загруженных на аккаунт.
- Транскодированию — времени, затраченному на обработку видео или потока и подготовку адаптивного битрейта.
- Одновременным потокам — количеству потоков, загруженных одновременно.
- Хранилищу — объёму видео, загруженных на аккаунт, и лимиту объёма вашего хранилища.
- Ретрансляции (если опция подключена) — длительности потока, отправленного в другие стриминговые сервисы.
- Компьютерному зрению (если опция подключена) — длительности видео, проанализированному Компьютерным зрением.
Статистические данные обновляются каждые 8 часов.
Чтобы просмотреть статистику:
1. Откройте раздел Статистика и выберите подраздел Биллинг.
2. Укажите параметр статистики: «Загрузка видео», «Транскодирование», «Хранилище» или другой.
3. Выберите временной интервал: 24 часа, 48 часов, неделя, месяц или укажите диапазон дат.
Статистика CDN
Видео и потоки раздаются через CDN-ресурсы. Чтобы посмотреть подробную статистику по CDN-ресурсам, следуйте инструкции «Отчёты. Посмотреть отчёты по работе CDN-ресурса».
Secure token для Стриминга. Настроить безопасный просмотр по временным ссылкам
Что такое Secure token и как он работает?
Чтобы защитить контент от нежелательных загрузок, воспользуйтесь опцией Secure Token в настройках CDN-ресурса. Подробнее об этой опции рассказываем в статье «Secure token. Обзор опции».
Как мы защищаем потоки с помощью Secure Token:
1. Стриминговая платформа получает от вас незащищённый поток или видео без токена.
2. Стриминговая платформа транскодирует полученный контент и раздаёт через сеть CDN-серверов.
3. Токен добавляется в URL видео или потока после транскодирования. Ссылки на защищаемый контент выглядят так:
https://cdn.example.com/streams/10_14/WG99BSGMdZIwKy/1552551429/playlist.m3u8 (поток)\ https://cdn.example.com/videos/44_aJ0o71wfUwJvFDklkjlcu/master.m3u8 (видео)
Настроить защиту по временным ссылкам
1. Перейдите в раздел CDN-ресурсы и перейдите к настройкам ресурса, который используется для стриминга.
2. Спуститесь в раздел Безопасность и включите опцию Secure Token.
3. В появившемся окне введите желаемый ключ подписи. Ключ должен содержать от 6 до 32 символов.
4. Если контент должен быть доступен с любых IP-адресов, оставьте пустым чекбокс «Добавить IP-адрес к токену». Если хотите, чтобы контент был доступен только с одного IP, поставьте в чекбоксе галочку (доверенный IP вы укажете позже в вашем скрипте).
5. Сохраните настройки.
6. Добавьте на свой источник скрипт, который генерирует защищённые ссылки на контент. Ниже мы предоставили примеры PHP-скриптов для видео и потоков.
7. Организуйте свой источник таким образом, чтобы доступ к нужным файлам пользователи получали только по ссылкам с secure token. При этом наша CDN при обращении к серверу-источнику должна получать контент вне зависимости от наличия ключа.
PHP-скрипт для Live потока
Скрипт для создания временных ссылок без ограничения доступа по IP. Файлы будут доступны с любого IP, но только пока не истечёт срок жизни ссылки.
\<?php
$secret = 'secret';
$vhost = 'cdn.example.com';
$client_id = 'your id';
$stream_id = '14';
$expires = time() + 10000;
link = "{client_id}_{stream_id}\_{secret}_${expires}_";
md5 = md5(link, true);
md5 = base64_encode(md5);
md5 = strtr(md5, '+/', '-_');
$md5 = str_replace('=', '', $md5);
url = "https://{vhost}/streams/{client_id}\_{stream_id}/{md5}/{expires}/playlist.m3u8";
echo $url;
echo "\n";
Скрипт для создания временных ссылок с ограничением доступа по IP. Файлы будут доступны только с доверенного IP, и только пока не истечёт срок жизни ссылки.
\<?php
$secret = 'secret';
$vhost = 'cdn.example.com';
$client_id = 'your id';
$stream_id = '14';
$remote_addr = 'watcher ip';
$expires = time() + 60;
link = "{client_id}_{stream_id}\_{secret}_{expires}\_{remote_addr}";
md5 = md5(link, true);
md5 = base64_encode(md5);
md5 = strtr(md5, '+/', '-_');
$md5 = str_replace('=', '', $md5);
url = "http://{vhost}/streams/{client_id}\_{stream_id}/{md5}/{expires}/playlist.m3u8";
echo $url;
echo "\n";
PHP-скрипт для видео
Скрипт для создания временных ссылок без ограничения доступа по IP. Файлы будут доступны с любого IP, но только пока не истечёт срок жизни ссылки.
\<?php
$secret = 'secret';
$vhost = 'cdn.example.com';
$client_id = 'your id';
$video_id = 'a';
$expires = time() + 10000;
link = "{client_id}_{video_id}\_{secret}_${expires}_";
md5 = md5(link, true);
md5 = base64_encode(md5);
md5 = strtr(md5, '+/', '-_');
$md5 = str_replace('=', '', $md5);
url = "https://{vhost}/videos/{client_id}\_{video_id}/{md5}/{expires}/master.m3u8";
echo $url;
echo "\n";
Скрипт для создания временных ссылок с ограничением доступа по IP. Файлы будут доступны только с доверенного IP, и только пока не истечёт срок жизни ссылки.
\<?php
$secret = 'secret';
$vhost = 'cdn.example.com';
$client_id = 'your id';
$slug = 'slug from the video';
$remote_addr = 'watcher ip';
$expires = time() + 60;
link = "{client_id}_{slug}\_{secret}_{expires}\_{remote_addr}";
md5 = md5(link, true);
md5 = base64_encode(md5);
md5 = strtr(md5, '+/', '-_');
$md5 = str_replace('=', '', $md5);
url = "https://{vhost}/videos/{client_id}\_{slug}/{md5}/{expires}/master.m3u8";
echo $url;
echo "\n";
Где:
- $secret — секретный ключ, который вы добавили на 3 шаге этой инструкции.
- $vhost — доменное имя для CDN-ресурса.
- $video_id — slug, индивидуальный параметр в URL видео. Его можно найти в прямой ссылке на видео (Настройки → Экспорт → URL-страницы) после ID вашего аккаунта. Например, в URL https://cdn.example.com/videos/123_gnhWeEAA6LT,\ gnhWeEAA6LT — это slug.
- $remote_addr — IP-адрес, которому разрешено получить контент.
- $expires — время жизни ссылки (в секундах).
- $link — строка для генерации токена с учетом необходимых параметров хеш-ключа.
- $url — ссылка на файл.
Безопасность. Шифрование AES-128 для видео
Что такое AES-128?
AES-128 (от англ. Advanced Encryption Standard) — это алгоритм блочного шифрования, основанный на нескольких подстановках и перестановках, происходящих с блоками данных по 16 байт. Длина ключа этого вида шифрования равна 128 бит.
Шифрование подходит, когда нужно разрешить определенному кругу зрителей доступ к контенту, например, к контенту по подписке для тех, кто её оплатил.
AES-128 очень надёжный и используется в качестве стандарта шифрования для систем высокой безопасности, поэтому перехватить и расшифровать ключи сложно.
Для максимальной защиты можно комбинировать шифрование AES-128 и блокировку по странам или доменам.
Как AES-128 работает с видео?
Мы доставляем видео по протоколу HLS, при котором оно разбивается на плейлисты, состоящие из фрагментов (чанков).
Фрагменты видео, используя алгоритм AES-128, передаются в зашифрованном виде, ключ расшифровки видео для зрителей передаётся в отдельном запросе. Для настройки вам понадобится сервер (сервер ключей), который определяет, какие пользователи имеют доступ к видео, а какие — нет. Пользователям с доступом к контенту наша система выдаст ключ расшифровки.
Процесс получения ключа расшифровки:
1. Пользовательский запрос на просмотр видео передаётся на ваш сервер ключей.
2. Ваш сервер анализирует запрос на наличие cookie и других параметров сессии, и определяет, можно ли выдать этому пользователю доступ на просмотр видео.
3а. Если запрос не содержит определённые параметры, доступ к видео не предоставляется.
3б. Если запрос содержит определённые параметры, сервер отправляет GET-запрос к нашему API на получение ключа расшифровки.
4. API предоставляет ключ серверу.
5. Сервер передаёт ключ зрителю и предоставляет ему доступ к просмотру видео.
Настройка AES-128 для работы с видео
Настройки на платформе Стриминг
Для подключения возможности передавать видео с использованием шифрования AES-128 обратитесь в техническую поддержку на почту support@macloud.pro или в чат. В сообщении укажите URL вашего сервера, например, videos.access.com.
После включения шифрования в URL плейлистов (M3U8) ваших видео добавятся символы _s_ :
https://videos.access.com/videos/12345_0sKTplhwDSmbV9Z_s_/master.m3u8
Обратите внимание. После подключения шифрования запрос на просмотр видео и получение ключа расшифровки отправляются на серверы Стриминга. На серверах Стриминга нет настроек, позволяющих понимать, по какому принципу разрешать или запрещать просмотр видео конкретному зрителю, поэтому просмотр будет разрешён всем зрителям. Чтобы избежать этого, выполните настройки на своём сервере, описанные ниже.
Настройки на вашем сервере
Для перенаправления и обработки запросов на получение ключа расшифровки необходимо настроить сервер:
1. Создайте API, на который будет приходить запрос получения ключа расшифровки.
2. Создайте домен, на который зритель будет перенаправлен для проверки и получения ключа. Домен должен подставляться в ссылку после символов _s_ следующим образом:
https://videos.access.com/videos/12345_0sKTplhwDSmbV9Z_s_videos.access.com/master.m3u8
3. В случае успешной валидации зрителя сервер должен отправить GET-запрос к нашему API для получения ключа расшифровки:
https://api.macloud.su/streaming/vod/videos/12345_0sKTplhwDSbV9Z/encryption
Где:
- 12345 — это ID вашего аккаунта
- _0sKTplhwDSbV9Z — это slug, идентифицирующий видео
4. После получения ключа сервер должен передать его зрителю в таком виде, в котором он его получил от API.
Чтобы передать ключ в таком формате, используйте заголовки:
- content-transfer-encoding: binary
- content-type: application/octet-stream
Вебхуки. Получать вебхуки Стриминговой платформы
Что такое вебхуки?
Вебхуки — это бесплатные автоматические оповещения о событиях сервиса. Вы можете получать оповещения о следующих событиях Стриминговой платформы:
- Поток запущен или завершён.
- Запись потока начата или остановлена.
- Этапы обработки видео и записи потока — обработка началась, готова частично, готова полностью.
- Статусы трансляции: ожидает начала, трансляция идёт, трансляция на паузе и трансляция завершена.
- Видео загружено на платформу.
Как только произойдёт событие, наш сервер создаст HTTP-запрос и отправит вам информацию о том, что случилось. Информация придёт в виде POST-запроса в формате JSON. Ниже пример вебхука о запуске потока, в круглых скобках даны пояснения о значениях параметров.
{
"type": "stream",
"message": {
"stream": {
"id": 12345 (ID вашего потока в личном кабинете),
"live": true (платформа получает ваш поток),
"recording": false (поток не записывается)
}
}
}
Мы отправляем вебхуки бесплатно. Для одного аккаунта мы можем присылать вебхуки только на один сервер. Если ваш сервер был недоступен, недошедший вебхук не отправляется повторно. Вам придёт вебхук о следующем событии.
Вебхуки приходят с IP адреса 45.147.162.135.
Для чего нужны вебхуки Стриминговой платформы?
Вебхуки нужны для работы приложений, интегрированных со Стриминговой платформой. Вы сможете настроить автозапуск событий приложения при получении вебхуков.
Например, пользователи делятся видеороликами через ваше приложение. Когда пользователь добавляет видео, оно загружается и обрабатывается через Стриминговую платформу. Затем нужно опубликовать ролик в приложении. Вы настраиваете автопубликацию: как только видео будет обработано, Стриминговая платформа пришлёт вебхук, и приложение выполнит публикацию.
Настроить отправку вебхуков
1. Подготовьте свой HTTP-сервер для приёма вебхуков.
2. В разделе Стриминг перейдите на вкладку Вебхуки.
3. Включите отправку вебхуков.
4. В поле URL введите адрес вашего сервера, который будет принимать вебхуки.
Сохраните изменения.
Если вы хотите защитить соединение с помощью двусторонней проверки подлинности клиента и сервера (mTLS), продолжите настройку, следуя инструкции ниже.
5. Включите протокол mTLS.
6. (опционально) Включите проверку SSL. Опция проверяет корректность сертификата вашего сервера и сравнивает его имя с указанным в URL. Если сертификат не пройдёт проверку, соединение прервётся с ошибкой.
7. Вставьте SSL-сертификат, включая теги -----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----. Цепочки сертификата должны быть вставлены слитно. Или нажмите на кнопку Вставить из файла, чтобы добавить сертификат из файла на вашем устройстве.
8. Вставьте приватный ключ, включая теги -----BEGIN PRIVATE KEY----- и -----END PRIVATE KEY-----. Или нажмите на кнопку Вставить из файла, чтобы добавить ключ из файла на вашем устройстве.
9. Вставьте Корневой сертификат CA, включая теги -----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----. Цепочки сертификата должны быть вставлены слитно. Или нажмите на кнопку Вставить из файла, чтобы добавить сертификат из файла на вашем устройстве.
10. (опционально) Введите кодовую фразу, если вы использовали её при создании сертификата.
11. Сохраните изменения.
Примеры вебхуков
Ниже примеры всех вебхуков, которые можно получить от нашего сервиса. В круглых скобках даны пояснения о значениях параметров.
Запуск потока
{
"type": "stream",
"message": {
"stream": {
"id": 12345 (ID вашего потока в личном кабинете),
"live": true (платформа получает ваш поток),
"recording": false (поток не записывается)
}
}
}
Остановка потока
{
"type": "stream",
"message": {
"stream": {
"id": 12345 (ID вашего потока в личном кабинете),
"live": false (платформа не получает ваш поток),
"recording": false (поток не записывается)
}
}
}
Начало записи
{
"type": "stream",
"message": {
"stream": {
"id": 12345 (ID вашего потока в личном кабинете),
"live": true (платформа получает ваш поток),
"recording": true (поток записывается)
}
}
}
Окончание записи
{
"type": "stream",
"message": {
"stream": {
"id": 12345 (ID вашего потока в личном кабинете),
"live": true (платформа получает ваш поток),
"recording": false (поток не записывается)
}
}
}
Начало обработки записи
{
"type": "video",
"message": {
"video": {
"id": 12345 (ID записи видео в личном кабинете),
"slug": "abC12deFGhIjklmNO" (идентификатор видео в виде случайного набора символов, это помешает подобрать ссылку на видео, если вебхук перехватят),
"name": "Stream Record: Test, 2023-05-20 09:00:00 +0000" (вместо Test будет название вашего потока),
"duration": 2048 (продолжительность записи в секундах),
"status": "pending" (ожидание обработки),
"converted_videos": [
{
"name": "vodcpu240" (видео в разрешении 240p),
"status": "processing" (идёт обработка)
},
{
"name": "vodcpu360" (видео в разрешении 360p),
"status": "processing" (идёт обработка)
},
{
"name": "vodcpu480" (видео в разрешении 480p),
"status": "processing" (идёт обработка)
},
{
"name": "vodcpu720" (видео в разрешении 720p),
"status": "processing" (идёт обработка)
},
{
"name": "vodcpu1080" (видео в разрешении 1080p),
"status": "processing" (идёт обработка)
}
]
}
}
}
Обработка записи частично завершена
{
"type": "video",
"message": {
"video": {
"id": 12345 (ID записи видео в личном кабинете),
"slug": "abC12deFGhIjklmNO" (идентификатор видео в виде случайного набора символов, это помешает подобрать ссылку на видео, если вебхук перехватят),
"name": "Stream Record: Test, 2023-05-20 09:00:00 +0000" (вместо Test будет название вашего потока),
"duration": 2048 (продолжительность записи в секундах),
"status": "viewable" (видео доступно для просмотра),
"converted_videos": [
{
"name": "vodcpu240" (видео в разрешении 240p),
"status": "complete" (обработка завершена)
},
{
"name": "vodcpu360" (видео в разрешении 360p),
"status": "processing" (идёт обработка)
},
{
"name": "vodcpu480" (видео в разрешении 480p),
"status": "processing" (идёт обработка)
},
{
"name": "vodcpu720" (видео в разрешении 720p),
"status": "processing" (идёт обработка)
},
{
"name": "vodcpu1080" (видео в разрешении 1080p),
"status": "processing" (идёт обработка)
}
]
}
}
}
Обработка записи полностью завершена
{
"type": "video",
"message": {
"video": {
"id": 12345 (ID записи видео в личном кабинете),
"slug": "abC12deFGhIjklmNO" (идентификатор видео в виде случайного набора символов, это помешает подобрать ссылку на видео, если вебхук перехватят),
"name": "Stream Record: Test, 2023-05-20 09:00:00 +0000" (вместо Test будет название вашего потока),
"duration": 2048 (продолжительность записи в секундах),
"status": "ready" (обработка завершена),
"converted_videos": [
{
"name": "vodcpu240" (видео в разрешении 240p),
"status": "complete" (обработка завершена)
},
{
"name": "vodcpu360" (видео в разрешении 360p),
"status": "complete" (обработка завершена)
},
{
"name": "vodcpu480" (видео в разрешении 480p),
"status": "complete" (обработка завершена)
},
{
"name": "vodcpu720" (видео в разрешении 720p),
"status": "complete" (обработка завершена)
},
{
"name": "vodcpu1080" (видео в разрешении 1080p),
"status": "complete" (обработка завершена)
}
]
}
}
}
Трансляция в статусе Ожидание начала
{
"type": "broadcast",
"message": {
"broadcast": {
"id": 12345 (ID трансляции в личном кабинете),
"status": "pending" (статус Ожидание начала)
}
}
}
Трансляция в статусе Live
{
"type": "broadcast",
"message": {
"broadcast": {
"id": 12345 (ID трансляции в личном кабинете),
"status": "live" (статус Live)
}
}
}
Трансляция в статусе Завершена
{
"type": "broadcast",
"message": {
"broadcast": {
"id": 12345 (ID трансляции в личном кабинете),
"status": "finished" (статус Завершена)
}
}
}
Трансляция в статусе На паузе
{
"type": "broadcast",
"message": {
"broadcast": {
"id": 12345 (ID трансляции в личном кабинете),
"status": "paused" (статус На паузе)
}
}
}
Видео добавлено на платформу
{
"type": "video",
"message": {
"video": {
"id": 54321 (ID видео в личном кабинете),
"slug": "abC12deFGhIjklmNO" (идентификатор видео в виде случайного набора символов, это помешает подобрать ссылку на видео, если вебхук перехватят),
"name": "SampleVideo" (название видео),
"duration": 170859 (длительность в секундах),
"status": "empty" (видео ещё не обработано),
"converted_videos": []
}
}
}
Обработка видео началась
{
"type": "video",
"message": {
"video": {
"id": 54321 (ID записи видео в личном кабинете),
"slug": "abC12deFGhIjklmNO" (идентификатор видео в виде случайного набора символов, это помешает подобрать ссылку на видео, если вебхук перехватят),
"name": "SampleVideo" (название видео),
"duration": 2048 (длительность в секундах),
"status": "pending" (ожидание обработки),
"converted_videos": [
{
"name": "vodcpu240" (видео в разрешении 240p),
"status": "processing" (идёт обработка)
},
{
"name": "vodcpu360" (видео в разрешении 360p),
"status": "processing" (идёт обработка)
},
{
"name": "vodcpu480" (видео в разрешении 480p),
"status": "processing" (идёт обработка)
},
{
"name": "vodcpu720" (видео в разрешении 720p),
"status": "processing" (идёт обработка)
},
{
"name": "vodcpu1080" (видео в разрешении 1080p),
"status": "processing" (идёт обработка)
}
]
}
}
}
Обработка видео частично завершена
{
"type": "video",
"message": {
"video": {
"id": 54321 (ID записи видео в личном кабинете),
"slug": "abC12deFGhIjklmNO" (идентификатор видео в виде случайного набора символов, это помешает подобрать ссылку на видео, если вебхук перехватят),
"name": "SampleVideo" (название видео),
"duration": 2048 (длительность в секундах),
"status": "viewable" (видео доступно для просмотра),
"converted_videos": [
{
"name": "vodcpu240" (видео в разрешении 240p),
"status": "complete" (обработка завершена)
},
{
"name": "vodcpu360" (видео в разрешении 360p),
"status": "processing" (идёт обработка)
},
{
"name": "vodcpu480" (видео в разрешении 480p),
"status": "processing" (идёт обработка)
},
{
"name": "vodcpu720" (видео в разрешении 720p),
"status": "processing" (идёт обработка)
},
{
"name": "vodcpu1080" (видео в разрешении 1080p),
"status": "processing" (идёт обработка)
}
]
}
}
}
Обработка видео полностью завершена
{
"type": "video",
"message": {
"video": {
"id": 54321 (ID записи видео в личном кабинете),
"slug": "abC12deFGhIjklmNO" (идентификатор видео в виде случайного набора символов, это помешает подобрать ссылку на видео, если вебхук перехватят),
"name": "SampleVideo" (название видео),
"duration": 2048 (длительность в секундах),
"status": "ready" (обработка завершена),
"converted_videos": [
{
"name": "vodcpu240" (видео в разрешении 240p),
"status": "complete" (обработка завершена)
},
{
"name": "vodcpu360" (видео в разрешении 360p),
"status": "complete" (обработка завершена)
},
{
"name": "vodcpu480" (видео в разрешении 480p),
"status": "complete" (обработка завершена)
},
{
"name": "vodcpu720" (видео в разрешении 720p),
"status": "complete" (обработка завершена)
},
{
"name": "vodcpu1080" (видео в разрешении 1080p),
"status": "complete" (обработка завершена)
}
]
}
}
}
API
Видео. Загрузить видео через API
Есть 2 пути заливки видео в VOD-хранилище с помощью API: Pull или Push.
Pull
B API-запросе Create a video в body-параметре origin_url укажите ссылку для скачивания видео.
Push
Включает 3 этапа:
1. Отправьте запрос на создание видео (Create a video), параметр origin_url не указывайте.
2. Отправьте запрос на получение URL и токена для публикации видео (Get data for TUS uploader), они потребуются в следующем шаге. Для формирования запроса вам понадобится ID созданного видео (video_id) из предыдущего запроса.
Токен необходим только для загрузки видео. Как только оно будет отправлено — токен больше не понадобится. Времени жизни токена достаточно для отправки запроса, поэтому его повторное получение не требуется.
3. Напишите скрипт для заливки видео, используя стандарт tus: https://tus.io/. Пример скрипта для заливки можно найти здесь: https://github.com/tus/tus-js-client. Обратите внимание, что для корректной передачи видео в метаданных необходимо указать:
1. Название видео – filename
2. ID клиента – client_id
3. ID видео – video_id
4. Токен – token
Используя скрипт из пункта 3 и данные из пункта 2, загрузите видео на наш сервер.
Плеер. API-документация для плеера
API позволяет управлять настройками плеера путём использования JavaScript, а также собирать данные о его использовании для дальнейшего анализа.
Инициализация плеера через iframe
Скопируйте iframe из настроек видео/потока в личном кабинете:
- Для видео: раздел Все видео → Настройки → Экспорт → Код
- Для потока: раздел Прямые трансляции → Настройки → Ссылки для экспорта → Код
Добавьте параметр id="eplayer" в iframe и вставьте его в код сайта.
Пример iframe кода из личного кабинета с добавлением id="eplayer":
\<iframe width="640" height="360" src="https://demopage.macloud.su/videos/79470_YJHUNNocCsrjiCDx" allow="autoplay;
clipboard-write" allowfullscreen frameborder="0" id="eplayer">\</iframe>
Где:
- width — ширина плеера
- height — высота плеера
- src — URL загрузки контента (ссылка на видео или live поток)
- allow="autoplay; clipboard-write" — атрибуты iframe, необходимые для работы некоторых функций плеера: разрешение на автовоспроизведение медиа и возможность копировать текст в буфер обмена (для кнопок Копировать в модальном окне Поделиться видео)
- allowfullscreen — параметр разрешает полноэкранный режим для iframe
- frameborder — рамка вокруг iframe, для скрытия необходимо установить значение «0»
- id — идентификатор плеера. Необходим для дальнейшей инициализации плеера при вызове методов API
После iframe добавьте следующий код для инициализации плеера:
\<script type="text/javascript" charset="utf-8" src="https://vplatform.macloud.su/_players/latest/eplayerAPI.js">\</script>
\<script>
window.onload = function() {
let eplayerAPI = new MaCPlayer.eplayerAPI(document.getElementById('eplayer'));
};
\</script>
Событие window.onload срабатывает, когда загружается вся страница, включая iframe. Далее идёт указание на плеер, к которому будут применяться функции API.
Пример полного кода инициализации плеера и iframe для HTML страницы:
\<!DOCTYPE html>
\<html>
\<head>
\<title>Title\</title>
\</head>
\<body>
\<iframe width="640" height="360" src="https://demopage.macloud.ru/videos/79470_YJHUNNocCsrjiCDx" allow="autoplay;
clipboard-write" allowfullscreen frameborder="0" id="eplayer">\</iframe>
\<script type="text/javascript" charset="utf-8" src="https://vplatform.macloud.ru/_players/latest/eplayerAPI.js">\</script>
\<script>
window.onload = function() {
let eplayerAPI = new MaCPlayer.eplayerAPI(document.getElementById('eplayer'));
};
\</script>
\</body>
\</html>
Доступные события (Events)
**Событие** | **Возвращает** | **Описание** |
ready | Плеер готов к воспроизведению | |
play | Воспроизведение запущено | |
pause | Воспроизведение поставлено на паузу | |
stop | Воспроизведение остановлено (для видео — возврат к началу ролика) | |
ended | Воспроизведение видео завершено | |
seek | Текущее время в секундах | Видео воспроизводится |
resize | Объект с текущими размерами | Размер плеера был изменён |
fullscreen | true/false | Плеер был переведён в полноэкранный режим |
timeupdate | Объект отсчёта времени | Время в плеере было изменено |
volumeupdate | Текущий уровень громкости | Громкость звука плеера была изменена |
error | Объект параметров ошибки | Плеер получил ошибку |
progress | Объект параметров состояния буфера | |
levels | Все имеющиеся качества (массив) | |
tracks | Список всех аудиодорожек (массив) | |
advertisementWasStarted | Начало загрузки рекламного ролика | |
advertisementIsPlaying | Объект параметров рекламы | Начало воспроизведения рекламного ролика |
advertisementWasFinished | Окончание загрузки или воспроизведения рекламного ролика (если он воспроизводился) |
Вызов методов плеера
Вызывать методы можно после события ready:
eplayerAPI.on('ready', () => {
console.log('[Event]', 'ready');
eplayerAPI.method({name: 'play'});
});
Доступные методы:
**Название метода** | **Тип данных** | **Описание** |
getCurrentTime | Число | Текущее время в секундах |
getDuration | Число | Длина видео в секундах |
getVolume | Число от 0 до 100 | Громкость |
isDvrEnabled | Логический тип | Статус опции DVR: true — DVR включён false — DVR выключен |
isPlaying | Логический тип | Текущий статус воспроизведения: true — идёт воспроизведение false — воспроизведение выключено/остановлено/не запущено |
getCamerasList | Массив строк (ID камер) | Получить список камер (для Мультикамеры) |
getCurrentCamera | Строка | Получить ID активной камеры (для Мультикамеры) |
и
**Название метода** | **Тип данных** | **Описание** |
mute | Выключает звук при воспроизведении | |
unmute | Включает звук при воспроизведении | |
pause | Ставит воспроизведение на паузу | |
play | Запускает воспроизведение | |
stop | Останавливает воспроизведение текущего видео (возврат к началу ролика) | |
resize | Объект с размерами плеера | Изменяет границы плеера |
seek | Число | Перемотка воспроизведения (секунды) |
seekPercentage | Число от 0 до 100 | Перемотка воспроизведения (проценты) |
setVolume | Число от 0 до 100 | Устанавливает громкость для воспроизведения текущего видео |
changeCameraById | Строка | Устанавливает камеру по ID (для Мультикамеры) |
setLevel | Строка | Задаёт качество видео (auto, 240, 360 и т.д.) |
toggleFullscreen | Включает/выключает полноэкранный режим плеера |
Шаблон вызова метода:
eplayerAPI.method({name: 'isPlaying', params: {}, callback: (res) => {
console.log(res);
}});
Где:
- name — название метода
- params — параметры метода
- callback — метод обратного вызова
Примеры:
\<script>
window.onload = function() {
let eplayerAPI = new MaCPlayer.eplayerAPI(document.getElementById('eplayer'));
let flag = true;
eplayerAPI.on('ready', () => {
console.log('[Event]', 'ready');
eplayerAPI.method({name: 'play'});
});
eplayerAPI.on('play', () => {
if (flag) {
eplayerAPI.method({name: 'pause'});
flag = false;
}
console.log('[Event]', 'play');
});
eplayerAPI.on('pause', () => {
console.log('[Event]', 'pause');
});
// изменяет размеры плеера
eplayerAPI.method({
name: 'resize',
params: { width: 300, height: 200 }
});
// перематывает видео и начинает показ со 2-ой минуты
eplayerAPI.method({
name: 'seek',
params: 120
});
// перематывает видео и начинает показ с середины
eplayerAPI.method({
name: 'seekPercentage',
params: 50
});
// установить автоматический выбор качества
eplayerAPI.method({
name: 'setLevel',
params: 'auto'
});
// установить качество 240
eplayerAPI.method({
name: 'setLevel',
params: '240'
});
};
\</script>
Завершение работы с плеером
Чтобы завершить работу с плеером, вызовите метод:
eplayerAPI.destroy();
Решение проблем
Трудности с видео
Трудности с загрузкой и обработкой видео
Во время загрузки видеоролика в личный кабинет не закрывайте вкладку браузера и не обновляйте страницу до тех пор, пока загрузка не будет завершена.
После добавления видео запускаются процессы транскодирования и трансмуксинга — до момента их завершения видео будет обрабатываться. Скорость обработки зависит от размера видео и количества видеороликов в очереди. Процент обработки видео отобразится в личном кабинете.
Трудности с воспроизведением видео
Для работы видео необходим CDN-ресурс. Процесс создания и подготовки ресурса для работы со Стримингом описан в статье.
Важно. Не вносите изменения в настройки (кроме раздела Безопасность) ресурса, подготовленного для Стриминга, т.к. это может повлиять на корректность работы сервиса.
Если вам требуется изменить другие опции, обратитесь в техническую поддержку (support@macloud.pro).
Проверьте, что:
- Персональный домен (CNAME) настроен в соответствии с инструкцией.
- Для ресурса выписан SSL-сертификат.\ По умолчанию мы предоставляем ссылки на видео с протоколом HTTPS. Если к вашему ресурсу не подключён SSL-сертификат, предварительный просмотр видео в личном кабинете будет недоступен.\ Вы можете выписать бесплатный сертификат Lets Encrypt или добавить свой, подробнее в статье.\ Важно. Если вы хотите, чтобы видеоролик был доступен только по протоколу HTTP, обратитесь в техническую поддержку.
Для отслеживания статуса услуг, инцидентов и запланированных работ, подпишитесь на Status Page.
Данные для технической поддержки
Если вы проверили настройки CDN-ресурса, Стриминга и источника, но видео в личном кабинете, не работает или работает некорректно, отправьте запрос в техническую поддержку (support@macloud.pro) с информацией для диагностики:
- URL видео или его ID.
- Воспроизведите проблему в зависимости от её характера (некорректная работа видео, ошибки при загрузке и т. д.) в браузере, запишите и сохраните HAR-файл.
Техническая поддержка может запросить дополнительные данные при необходимости.
Трудности с потоком
Убедитесь, что CDN-ресурс создан и настроен
Для работы потока необходим CDN-ресурс. Процесс создания и подготовки ресурса для работы со Стримингом описан в отдельной статье.
Важно. Не вносите изменения в настройки (кроме раздела Безопасность) ресурса, подготовленного для работы со Стримингом т. к. это может повлиять на корректность работы сервиса.
Проверьте, что:
- Персональный домен (CNAME) настроен в соответствии с инструкцией.
- Для ресурса выписан SSL-сертификат. По умолчанию мы предоставляем ссылки на поток с протоколом HTTPS. Если к вашему ресурсу не подключён SSL-сертификат, предварительный просмотр потока в Личном кабинете будет недоступен.\ Вы можете выписать бесплатный Lets Encrypt сертификат или добавить свой, подробнее в отдельной статье.\ Важно. Если вам требуется, чтобы поток был доступен только по протоколу HTTP, обратитесь в техническую поддержку.
Для отслеживания статуса услуг, инцидентов и запланированных работ, подпишитесь на Status Page.
Убедитесь, что поток и мультикамера настроены корректно
Сверьтесь со статьями по настройке потока и мультикамеры.
- Убедитесь, что поток включён.
- Если у вас PUSH-трансляция_, удостоверьтесь, что вы отправляете нам поток. В разделе Прямые трансляции, в колонке Статус должен быть статус _Live, а в колонке Включено — Да.
- Если у вас PULL-трансляция, убедитесь, что поток работает корректно на сервере-источнике.
- Перейдите в настройки мультикамеры, чтобы удостовериться, что к трансляции подключён активный поток.
Данные для технической поддержки
Если вы проверили настройки CDN-ресурса, Стриминга и источника, но поток не работает или работает некорректно, отправьте запрос в техническую поддержку (support@macloud.pro) с информацией для диагностики:
- URL или ID потока.
- Запустите трансляцию в личном кабинете или на вашем сайте и сохраните HAR-файл.
Техническая поддержка может запросить дополнительные данные при необходимости.