Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Если отображение статического контента включено, при обращении к WCS серверу по адресу  https://host:8445/hls-player.html браузер отобразит страницу HLS плеера. Если данная возможность отключена, при обращении по такому адресу сервер вернет ошибку 404 Not found.

Preloader для воспроизведения потока по HLS

При подключении первого HLS-подписчика к потоку, в особенности к потоку из CDN, необходимо определенное время, чтобы началась нарезка потока на HLS-сегменты, и был сформирован плейлист. В результате, браузер Safari на устройствах iOS может не подключиться к потоку по HLS  с первой попытки. Чтобы подключение всегда проходило успешно, в сборке 5.2.371 добавлено воспроизведение прелоадера. Прелоадер по умолчанию выглядит следующим образом

Image Added

Сегменты прелоадера располагаются в каталоге /usr/local/FlashphonerWebCallserver/hls/.preloader

Code Block
themeRDark
ls /usr/local/FlashphonerWebCallserver/hls/.preloader
-rw-r--r-- 1 root root 51888 Oct 13 04:47 index0.ts
-rw-r--r-- 1 root root 52828 Oct 13 04:47 index10.ts
-rw-r--r-- 1 root root 54332 Oct 13 04:47 index11.ts
-rw-r--r-- 1 root root 53392 Oct 13 04:47 index12.ts
-rw-r--r-- 1 root root 52828 Oct 13 04:47 index13.ts
-rw-r--r-- 1 root root 52828 Oct 13 04:47 index14.ts
-rw-r--r-- 1 root root 53956 Oct 13 04:47 index15.ts
-rw-r--r-- 1 root root 54144 Oct 13 04:47 index16.ts
-rw-r--r-- 1 root root 52828 Oct 13 04:47 index17.ts
-rw-r--r-- 1 root root 52640 Oct 13 04:47 index18.ts
-rw-r--r-- 1 root root 53580 Oct 13 04:47 index19.ts
-rw-r--r-- 1 root root 52828 Oct 13 04:47 index1.ts
-rw-r--r-- 1 root root 53580 Oct 13 04:47 index2.ts
-rw-r--r-- 1 root root 54520 Oct 13 04:47 index3.ts
-rw-r--r-- 1 root root 52452 Oct 13 04:47 index4.ts
-rw-r--r-- 1 root root 52640 Oct 13 04:47 index5.ts
-rw-r--r-- 1 root root 53204 Oct 13 04:47 index6.ts
-rw-r--r-- 1 root root 54708 Oct 13 04:47 index7.ts
-rw-r--r-- 1 root root 52828 Oct 13 04:47 index8.ts
-rw-r--r-- 1 root root 52828 Oct 13 04:47 index9.ts

Прелоадер по умолчанию может быть заменен на собственный. Для этого необходимо:

1. Выбрать видеоклип (например, логотип)

2. С помощью ffmpeg закодировать видео в H264, добавить к видеоклипу аудиодорожку, задать периодичность ключевых кадров и убрать B-фреймы

Code Block
languagebash
themeRDark
ffmpeg -i clip.mp4 -f lavfi -i anullsrc=channel_layout=mono:sample_rate=44100 -c:v h264 -g 30 -bf 0 -shortest preloader.mp4

3. Загрузить и установить инструменты для подготовки HLS сегментов с сайта Apple

4. Подготовить HLS сегменты прелоадера

Code Block
languagebash
themeRDark
mediafilesegmenter -t 1 -B index -start-segments-with-iframe preloader.mp4
tar -cvzf preloader.tar.gz index*.ts

5. На сервере сохранить копию прелоадера по умолчанию

Code Block
languagebash
themeRDark
cd /usr/local/FlashphonerWebCallserver/hls
tar -cvzf ~/preloader_backup.tar.gz .preloader

6. Распаковать новый прелоадер из архива, подготовленного на шаге 4

Code Block
languagebash
themeRDark
cd /usr/local/FlashphonerWebCallserver/hls/.preloader
rm -f index*.ts
tar -xvzf ~/preloader.tar.gz

Отладочные логи для HLS-сессии

...