Versions Compared

Key

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

...

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

Сегменты прелоадера располагаются по умолчанию записываются в каталоге каталог /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

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

Code Block
themeRDark
hls_preloader_time_min=2000

Настройка собственного прелоадера

Чтобы заменить прелоадер по умолчанию на собственный, необходимо сделать следующее:

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

...

4. Подготовить HLS сегменты прелоадера, указав длительность одного сегмента должна быть , например, 2 секунды

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

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

Code Block
languagebash
themeRDark
cdmkdir /usr/local/FlashphonerWebCallserver/hls
tar -cvzf ~/preloader_backup.tar.gz .opt/custom_preloader

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

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

7. Указать в настройках сервера расположение прелоадера и длительность одного сегмента

Code Block
themeRDark
hls_preloader_time_min=2000
hls_preloader_dir=/opt/custom_preloader

Известные ограничения

Соотношение сторон прелоадера должно соответствовать соотношению сторон публикуемого видео. В противном случае, браузер при отображении попытается вписать видео в масштабы прелоадера, что может привести к искажениям (растяжению или сжатию) картинки для первого HLS подписчика

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

...