...
Если отображение статического контента включено, при обращении к WCS серверу по адресу https://host:8445/hls-player.html браузер отобразит страницу HLS плеера. Если данная возможность отключена, при обращении по такому адресу сервер вернет ошибку 404 Not found.
Preloader для воспроизведения потока по HLS
При подключении первого 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 |
Прелоадер по умолчанию может быть заменен на собственный. Для этого необходимо:
1. Выбрать видеоклип (например, логотип)
2. С помощью ffmpeg закодировать видео в H264, добавить к видеоклипу аудиодорожку, задать периодичность ключевых кадров и убрать B-фреймы
Code Block | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
mediafilesegmenter -t 1 -B index -start-segments-with-iframe preloader.mp4
tar -cvzf preloader.tar.gz index*.ts |
5. На сервере сохранить копию прелоадера по умолчанию
Code Block | ||||
---|---|---|---|---|
| ||||
cd /usr/local/FlashphonerWebCallserver/hls
tar -cvzf ~/preloader_backup.tar.gz .preloader |
6. Распаковать новый прелоадер из архива, подготовленного на шаге 4
Code Block | ||||
---|---|---|---|---|
| ||||
cd /usr/local/FlashphonerWebCallserver/hls/.preloader
rm -f index*.ts
tar -xvzf ~/preloader.tar.gz |
Отладочные логи для HLS-сессии
...