LINUX.ORG.RU

История изменений

Исправление ox55ff, (текущая версия) :

Можно собрать из говна и палок через gstreamer + gstqueue + gst-rtsp-server. gst-rtsp-server обычно идёт отдельным пакетом от gstreamer. Сам gstreamer распилен на несколько пакетов. Нужно установить эти дополнительные пакеты с плагинами. Иначе не взлетит.

➜ ~ gst-launch-1.0 --version
gst-launch-1.0 version 1.18.0
GStreamer 1.18.0

После в командной строке однострочник:

gst-rtsp-launch "( rtspsrc location=rtsp://192.168.1.20/av0_0 user-id=admin user-pw=admin latency=2000 ! rtph265depay ! h265parse config-interval=-1 ! queue min-threshold-time=10000000000 ! rtph265pay name=pay0 pt=96  )"

Скобочки, пробелы и кавычки не выкидывать. В консоли будет написано по какому адресу доступен поток. У меня rtsp://127.0.0.1:8554/test.

rtsp://192.168.1.20/av0_0 - rtsp строка подключения к камере
user-id=admin user-pw=admin - логин и пароль
latency=2000 - задержка в миллисекундах. Это первое место, где ты можешь настроить задержку. Не рекомендую ставить маленькое число. Картинка может начать дёргаться
265 - у меня камера отдаёт поток в формате h265. Если у тебя h264, то нужно везде циферки поменять на 264
config-interval=-1 - нужно чтобы перед каждым ключевым кадром вставлялись пакеты VPS, SPS and PPS. Без них декодер не сможет работать
min-threshold-time=10000000000 - очередь с задержкой в 10 секунд. Значение в наносекундах. Это второе место, где ты можешь настроить задержку. У очереди в gstreamer много параметров. Можешь сам посмотреть через консольную команду: gst-inspect-1.0 queue

Я у себя проверил только что. Работает. Все проблемы на вашей стороне.

Исходная версия ox55ff, :

Можно собрать из говна и палок через gstreamer + gstqueue + gst-rtsp-server. gst-rtsp-server обычно идёт отдельным пакетом от gstreamer. Сам gstreamer распилен на несколько пакетов. Иначе не взлетит. Нужно установить эти дополнительные пакеты с плагинами.

➜ ~ gst-launch-1.0 --version
gst-launch-1.0 version 1.18.0
GStreamer 1.18.0

После в командной строке однострочник:

gst-rtsp-launch "( rtspsrc location=rtsp://192.168.1.20/av0_0 user-id=admin user-pw=admin latency=2000 ! rtph265depay ! h265parse config-interval=-1 ! queue min-threshold-time=10000000000 ! rtph265pay name=pay0 pt=96  )"

Скобочки, пробелы и кавычки не выкидывать. В консоли будет написано по какому адресу доступен поток. У меня rtsp://127.0.0.1:8554/test.

rtsp://192.168.1.20/av0_0 - rtsp строка подключения к камере
user-id=admin user-pw=admin - логин и пароль
latency=2000 - задержка в миллисекундах. Это первое место, где ты можешь настроить задержку
265 - у меня камера отдаёт поток в формате h265. Если у тебя h264, то нужно везде циферки поменять на 264
config-interval=-1 - нужно чтобы перед каждым ключевым кадром вставлялись пакеты VPS, SPS and PPS. Без них декодер не сможет работать
min-threshold-time=10000000000 - очередь с задержкой в 10 секунд. Значение в наносекундах. Это второе место, где ты можешь настроить задержку. У очереди в gstreamer много параметров. Можешь сам посмотреть через консольную команду: gst-inspect-1.0 queue

Я у себя проверил только что. Работает. Все проблемы на вашей стороне.