#camera #gstreamer #rtsp
Вопрос:
Я пытаюсь создать rtsp-сервер на основе gstreamer, который принимает входные данные из живого источника. Несколько клиентов должны иметь возможность подключиться к этому серверу и получить поток. Клиенты могут запросить поток по протоколу tcp или udp.
У меня есть плагин gstreamer для съемки входного видео с камеры (источник в реальном времени). Моя конфигурация конвейера для rtsp-сервера-mycamerasrc ! очередь ! h264 разбор ! rtph264pay имя=pay0 pt=96
Я включил общий флаг на сервере rtsp, чтобы носитель дублировался.
Все работает нормально до тех пор, пока несколько клиентов запрашивают поток через один и тот же транспорт, т. е. либо tcp, либо udp. Когда разные клиенты запрашивают поток по другому транспорту, т. Е. один клиент по tcp, а другой по udp, сервер rtsp запускает другой экземпляр плагина my camera, и производительность падает.
Как настроить сервер таким образом, чтобы он не создавал новый экземпляр для плагина камеры и продолжал использовать один и тот же носитель для всех клиентов независимо от транспорта.