Перейти к содержимому

Mosaic: Скриншоты каналов на панели управления

Mosaic — это простой скрипт для создания скриншотов каналов с помощью ffmpeg и размещения их на панели управления Astra через Astra API.

Скриншоты каналов помогают визуально оценить качество каналов.

Панель управления со скриншотами

  • Astra с включённой HTTP Play
  • FFmpeg

Установите FFmpeg с помощью системного менеджера пакетов:

Окно терминала
apt install ffmpeg

На сервере создайте новую директорию для хранения изображений скриншотов:

Окно терминала
mkdir -p /var/lib/astra/mosaic

Затем откройте веб-интерфейс Astra -> Настройки -> HTTP Play:

Настройки HTTP Play

Включите HTTP Play, если он отключён, и укажите путь к директории со скриншотами. Готово, HTTP Play настроен, теперь можно сохранить изменения.

Также в настройках HTTP Play вы можете скопировать ссылку на playlist.m3u8, этот файл содержит ссылки на все включённые каналы. Ссылка на плейлист выглядит так: https://example.com:8000/playlist.m3u8

Если вы используете HTTP авторизацию, задайте токен для администратора. Откройте веб-интерфейс Astra -> Настройки -> Пользователи -> выберите администратора и задайте любой токен, например: c6017ac9. Добавьте этот токен к URL плейлиста: https://example.com:8000/playlist.m3u8?token=c6017ac9

Скачайте скрипт и сохраните его на сервере:

Окно терминала
curl -Lo /usr/local/bin/mosaic.sh https://cdn.cesbo.com/astra/scripts/mosaic/mosaic.sh
chmod +x /usr/local/bin/mosaic.sh

Откройте скрипт в любом текстовом редакторе и измените следующие переменные:

  • THREADS — количество потоков для одновременного создания нескольких скриншотов. Меньшее количество потоков увеличит время обновления всех изображений, большее — повысит нагрузку на процессор. Можно указать столько потоков, сколько у вас ядер процессора
  • PLAYLIST_URL — ссылка на файл playlist.m3u8 из предыдущего шага
  • SCREENSHOT_PATH — путь для хранения скриншотов на сервере: /var/lib/astra/mosaic/
  • API_PORT — порт для Astra API
  • API_AUTH — логин и пароль администратора для доступа к Astra API

Чтобы скрипт запускался автоматически, добавьте его в systemd. Скачайте конфигурационный файл для systemd и сохраните его на сервере:

Окно терминала
curl -Lo /etc/systemd/system/mosaic.service https://cdn.cesbo.com/astra/scripts/mosaic/mosaic.service

Следующие команды можно использовать для управления скриптом:

  • Запустить скрипт: systemctl start mosaic
  • Остановить скрипт: systemctl stop mosaic
  • Включить автозапуск: systemctl enable mosaic
  • Отключить автозапуск: systemctl disable mosaic

После запуска проверьте, что в директории со скриншотами появляются новые png-файлы:

Окно терминала
ls /var/lib/astra/mosaic

Чтобы удалить скрипт Mosaic, остановите сервис и удалите скрипт и файл сервиса:

Окно терминала
systemctl stop mosaic
systemctl disable mosaic
rm /usr/local/bin/mosaic.sh
rm /etc/systemd/system/mosaic.service

Удалите директорию со скриншотами:

Окно терминала
rm -r /var/lib/astra/mosaic