...
При подключении первого HLS-подписчика к потоку, в особенности к потоку из CDN, необходимо определенное время, чтобы началась нарезка потока на HLS-сегменты, и был сформирован плейлист. В результате, браузер Safari на устройствах iOS может не подключиться к потоку по HLS с первой попытки. Чтобы подключение всегда проходило успешно, в сборке 5.2.371 добавлено воспроизведение прелоадера. Прелоадер по умолчанию выглядит следующим образом
Сегменты прелоадера располагаются по умолчанию записываются в каталоге каталог /usr/local/FlashphonerWebCallserver/hls/.preloader
при запуске сервера
Code Block | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
hls_preloader_time_min=2000 |
Настройка собственного прелоадера
Чтобы заменить прелоадер по умолчанию на собственный, необходимо сделать следующее:
1. Выбрать видеоклип (например, логотип)
...
4. Подготовить HLS сегменты прелоадера, указав длительность одного сегмента должна быть , например, 2 секунды
Code Block | ||||
---|---|---|---|---|
| ||||
mediafilesegmenter -t 2 -B index -start-segments-with-iframe preloader.mp4 tar -cvzf preloader.tar.gz index*.ts |
5. На сервере сохранить копию прелоадера по умолчаниюсоздать каталог для прелоадера
Code Block | ||||
---|---|---|---|---|
| ||||
cdmkdir /usr/local/FlashphonerWebCallserver/hls tar -cvzf ~/preloader_backup.tar.gz .opt/custom_preloader |
6. Распаковать новый прелоадер из архива, подготовленного на шаге 4
Code Block | ||||
---|---|---|---|---|
| ||||
cd /usr/local/FlashphonerWebCallserver/hls/.preloader rm -f index*.tsopt/custom_preloader tar -xvzf ~/preloader.tar.gz |
7. Указать в настройках сервера расположение прелоадера и длительность одного сегмента
Code Block | ||
---|---|---|
| ||
hls_preloader_time_min=2000
hls_preloader_dir=/opt/custom_preloader |
Известные ограничения
Соотношение сторон прелоадера должно соответствовать соотношению сторон публикуемого видео. В противном случае, браузер при отображении попытается вписать видео в масштабы прелоадера, что может привести к искажениям (растяжению или сжатию) картинки для первого HLS подписчика
Отладочные логи для HLS-сессии
...