Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Описание

HTTP Live Streaming (HLS) — это технология воспроизведения потокового видео по протоколу HTTP, разработанная Apple. HLS видеопоток кодируется в H.264 и AAC и проигрывается на любом совместимом устройстве, браузере или плеере.

Web Call Server конвертирует в HLS видео, полученное из других поддерживаемых источников трансляции, таких как веб-камеры и профессиональные устройства видеозахвата, SIP-звонки и т.д..

Поддерживаемые платформы и браузеры


Chrome

Firefox

Safari 11

Edge

Windows

+

+


+

Mac OS

+

+

+


Android

+

+



iOS

+

+

+



Поддерживаемые кодеки

  • Видео: H.264
  • Аудио: AAC

Схема работы


  1. Браузер соединяется с сервером по протоколу Websocket и отправляет команду publish.
  2. Браузер захватывает микрофон и камеру и отправляет WebRTC поток на сервер.
  3. Второй браузер устанавливает соединение по HTTP.
  4. Второй браузер получает HLS поток и воспроизводит этот поток на странице.

Краткое руководство по тестированию

Трансляция видеопотока на сервер и воспроизведение его по HLS в браузере

1. Для теста используем:

2. Откройте веб-приложение Two Way Streaming. Нажмите Connect, затем Publish. Скопируйте идентификатор потока:


3. Откройте веб-приложение HLS Player Minimal. Укажите в поле Stream идентификатор потока и нажмите Play. начнется воспроизведение потока:


Последовательность выполнения операций (Call flow)

Ниже описана последовательность вызовов при использовании примера HLS Player Minimal для воспроизведения потока по HLS

hls-player.html

hls-player.js


1. Обращение к серверу и воспроизведение.

code

var player = videojs('remoteVideo');
Настройка URL HLS

code

        player.src({
            src: $("#urlServer").val() + "/" + streamName + "/" + streamName + ".m3u8",
            type: "application/vnd.apple.mpegurl"
        });

Запуск воспроизведения

code

player.play();

2. Получение HLS-потока от сервера

Известные проблемы

1. Невосстанавливаемый фриз HLS потока при воспроизведении в iOS Safari через CDN

Симптомы: через одну минуту после начала публикации изображение останавливается, звук продолжает воспроизводиться

Решение:

а) включить транскодинг на сервере при помощи настройки в файле flashphoner.properties

disable_streaming_proxy=true

б) если включение транскодинга нежелательно, установить в файле flashphoner.properties

hls_discontinuity_enabled=true

в этом случае возможны щелчки в аудиопотоке, но изображение останавливаться не будет.

2. Прекращение записи сегментов HLS при воспроизведении потока. опубликованного в браузере Firefox

Симптомы: через несколько минут после начала воспроизведения прекращается запись HLS-сегментов, при этом директория потока в директории hls не удаляется, в логе сервера продолжают появляться сообщения

INFO HLSStreamManager - HLSStreamProviderKeepaliveThread-80 Remove hls channel

Для восстановления публикующая сторона должна заново опубликовать поток.

Решение: использовать другой браузер для публикации потока, который предполагается воспроизводить по HLS.


  • No labels