Создавать, удалять и изменять настройки каналов без перезапуска сервера можно с помощью конфигурационных файлов в специальной директории, которая далее условно называется conf.d. Путь к этой директории задаётся параметром moment/confd_dir.
Каждый файл в директории conf.d описывает один канал. Название файла совпадает с названием канала. Файлы содержат список параметров, таких же как параметры каналов в секции mod_gst/streams. Пример содержимого такого файла:
chain = "videotestsrc ! x264enc ! fakesink name=video sync=true" no_audio = y
Для добавления, изменения или удаления канала без перезапуска сервера нужно сначала отредактировать конфигурационный файл этого канала в директории conf.d, затем выполнить административный HTTP-запрос на обновление настроек канала. Запрос имеет вид /admin/reload_channel?conf_file=streamname, где streamname — название канала. Пример:
http://localhost:8082/admin/reload_channel?conf_file=cam1
Чтобы добавить новый канал, нужно создать для этого канала новый конфигурационный файл и выполнить HTTP-запрос на обновление. Для удаления канала нужно удалить конфигурационный файл и выполнить такой же запрос.
При любом изменении настроек канала сервер выполнит повторное подключение к источнику аудио/видеоданных.
Список доступных каналов в формате json можно получить с помощью HTTP-запроса вида /server/playlist.json. Пример запроса:
http://localhost:8080/server/playlist.json
Пример ответа сервера:
[ [ "cam1", "rtmp://144.76.27.83:1936/live/cam1", "Камера 1" ], ] [ [ "cam2", "rtmp://144.76.27.83:1936/live/cam2", "Камера 2" ], ]
Back to Contents