...
При необходимости, для LL HLS может быть настроен собственный прелоадер. Для этого рекомендуется использовать экземпляр WCS сервера, предназначенный для тестирования, но не для эксплуатации. Прелоадер создается следующим образом:
1. Установить следующие настройки сервера
Code Block | ||
---|---|---|
| ||
hls_preloader_enabled=false
ll_hls_create_preloader=true
hls_auto_start=true |
и перезапустить WCS
2. Опубликовать RTMP поток из OBS на сервер, используя в качестве источника видео с соотношением сторон 16:9, указав имя потока index
Code Block | ||
---|---|---|
| ||
rtmp://wcs:1935/live/index |
При этом необходимо указать Resize output (source size)
3. По умолчанию, сегменты прелоадера будут записаны в каталог
Code Block | ||
---|---|---|
| ||
ll_hls_custom_preloader_dir=/usr/local/FlashphonerWebCallServer/custom-preloader/created-segments |
Достаточно записать до 20 основных сегментов index0.ts
- index20.ts
4. После остановки публикации переместить сегменты прелоадера в каталог, где будет располагаться прелоадернеобходимо подготовить файлы в трех основных аспектах 16:9, 4:3 и 2:1 согласно следующим требованиям:
- контейнер MP4, кодек видео H264, кодек аудио AAC
- файлы должны позволять немедленное проигрывание (MP4 атом
moov
должен быть перед атомомmdat
) - файлы не должны содержать B-фреймов
- длительность файла должна быть около 1 минуты
- файл должен иметь ровный FPS
- интервал между ключевыми кадрами должен быть около 2 секунд
Предполагается, чито исходный файл записан в нужном аспекте, например, при помощи OBS Studio или подготовлен в видеоредакторе. Пример команды для преобразования файла под указанные требования:
Code Block | ||||
---|---|---|---|---|
| ||||
cd /usr/local/FlashphonerWebCallServer/custom-preloader/created-segments
cp index*.ts /opt/preloader/16x9
rm -rf index*.ts |
5. Повторить шаги 2-4 с источниками с соотношением сторон 4:3 и 2:1
6. Восстановить настройки сервера и указать расположение прелоадера
Code Block | ||
---|---|---|
| ||
ll_hls_preloader_dir=/opt/preloader |
...
ffmpeg -i 16x9-source.mp4 -bf 0 -acodec aac -vcodec h264 -preset ultrafast -g 60 -strict -2 -r 30 -ar 48000 -movflags faststart -ss 00:00:00 -t 00:01:00 16x9.mp4 |
Затем подготовленными файлами необходимо заменить файлы прелоадера по умолчанию и перезапустить WCS.
Для восстановления прелоадера по умолчанию достаточно удалить файлы собственного прелоадера и перезапустить WCS.
Поддержка m4s контейнера
В сборке 5.2.1626 добавлена поддержка m4s контейнера для нарезки HLS сегментов, а в сборке 5.2.1632 поддержка данного контейнера включена и для HLS ABR
...