История изменений
Исправление 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
Я у себя проверил только что. Работает. Все проблемы на вашей стороне.