Данный документ представляет способы синхронизации RTSP-потоков в OBS, используя пайплайны gstreamer.
Для использования gstreamer в OBS необходимо установить соответствующий плагин
rtspsrc location={rtsp_url} ntp-sync=true ntp-time-source=ntp buffer-mode=synced ! rtph264depay ! avdec_h264 ! videoconvert ! clocksync ! clockoverlay halignment=right ! timeoverlay ! video.
- rtspsrc - подключаетcя к rtsp-серверу и считывает rtsp-поток. В данном элементе задается адрес rtsp-сервера и параметры ntp-синхронизации. В ntp-time-source задается время, на основе которого будет проводится синхронизация: ntp - реальное время с ntp-сервера, unix - то же, что и ntp, но будет использоваться unix формат, running-time - время выполнения пайплайна, clock-time - время внутри пайплайна(running-time + реальное время).
- rtph264depay - конвертирует rtp-пакеты в видео в формате H.264.
- avdec_h264 - декодирует h.264 видео.
- videoconvert - конвертирует кадры видео в между различными форматами.
- clocksync - синхронизует все передачи буфферов данных с часами.
- clockoverlay - элемент для отображOBSения текущего реального времени.
- timeoverlay - элемент для отображения времени выполнения пайплайна с различных источников.