Установка и запуск Sapsan¶
На этой странице описано, как установить Sapsan, активировать его лицензией, запустить с минимальной конфигурацией и убедиться, что сервер работает.
Перед установкой¶
Sapsan не работает без лицензии: файл license.txt нужен до первого запуска, а серверу нужен доступ в интернет для онлайн-активации. Подробнее — на странице лицензирование.
Note
TODO: системные требования (ОС, архитектуры, CPU/RAM, диски для DVR).
Установка из deb-пакета¶
Sapsan распространяется как deb-пакет sapsan из репозитория Flussonic:
curl -sSf http://apt.flussonic.ru/binary/gpg.key > /etc/apt/trusted.gpg.d/flussonic.gpg
echo "deb http://apt.flussonic.ru binary/" > /etc/apt/sources.list.d/flussonic.list
apt update
apt install sapsan
Пакет ставит бинарник /usr/sbin/sapsan, systemd-юнит sapsan.service, дефолтный конфиг /etc/sapsan/sapsan.yaml и создает каталог состояния /var/lib/sapsan.
Активация¶
До запуска положите выданный вам файл лицензии в каталог с конфигом:
cp license.txt /etc/sapsan/license.txt
chmod 600 /etc/sapsan/license.txt
При первом запуске Sapsan активируется онлайн и складывает артефакты активации в каталог состояния /var/lib/sapsan:
| Файл | Содержимое |
|---|---|
server.id |
уникальный идентификатор сервера (UUID) |
activation-<версия>.json |
активация для конкретной версии продукта |
keys/ |
каталог с ключевыми материалами, который создает Sapsan |
Подробнее о состояниях лицензии и проверке — на странице лицензирование.
Минимальная конфигурация¶
Sapsan читает конфигурацию из файла sapsan.yaml (путь можно переопределить переменной окружения CONFIG_PATH). Минимальный конфиг — один HTTP-порт и один поток:
listeners:
http:
- port: 80
streams:
- name: demo
inputs:
- syntetic: {}
transcoder:
output:
- source: !content video
codec: !set h264
- source: !content audio
codec: !set aac
streams — это список: каждый поток — элемент со своим name. Чтобы перейти к реальному видео, см. захват видео.
Запуск в Docker¶
Официальный образ — flussonic/sapsan. Пробросьте порты и смонтируйте конфиг, лицензию и каталог состояния:
mkdir -p config data
# положите config/sapsan.yaml и config/license.txt
docker run --rm -p 80:80 -p 554:554 -p 1935:1935 \
-v "$(pwd)/config/sapsan.yaml:/etc/sapsan/sapsan.yaml:ro" \
-v "$(pwd)/config/license.txt:/etc/sapsan/license.txt:ro" \
-v "$(pwd)/data:/var/lib/sapsan" \
flussonic/sapsan:latest
Каталог data (/var/lib/sapsan) должен быть доступен на запись и сохраняться между перезапусками — в нем живут server.id, файлы активации и каталог keys/. Пути CONFIG_PATH и SERVER_ID_PATH уже заданы в образе.
Запуск и остановка¶
При установке из deb сервером управляет systemd:
systemctl start sapsan # запуск
systemctl status sapsan # статус
systemctl stop sapsan # остановка
systemctl enable sapsan # автозапуск при загрузке
Перечитать конфигурацию без остановки вещания можно сигналом:
kill -HUP "$(systemctl show -p MainPID --value sapsan)"
Проверка работоспособности¶
Убедитесь, что процесс работает:
systemctl status sapsan
Проверьте, что лицензия активирована:
curl http://localhost/streamer/api-v4/license/status
Состояние Licensed означает, что Sapsan установлен, активирован и готов к работе. Также откройте плейлист тестового потока:
curl http://localhost/streaming/v/demo/index.m3u8
Если сервер вернул плейлист, демо-поток работает. Дальше настройте захват реального видео.