Veradon
Новичок
Всем привет! раньше видео выводилось с помощью LKDSVideo, но время идет и уже несколько лет перешли на LKDSServer.
На одном объекте восстанавливали видеонаблюдение на лифтах, заодно решил вывести диспетчеру картинку.
Так как ЛБ КДК, диспетчеру удобно дополнительно проконтролировать лифт через видео.
Нашёл как вывести RTSP поток в Linux среде в виде окна. Знатно поэкспериментировал и с помощью мощного кодека FFmpeg получилось.
Пример:
Имеем Видеорегистратор Hi-Watch DS-H208Q
RTSP-ссылки для Hikvision/Hiwatch
Основная и универсальная ссылка для IP камер, NVR и DVR:
Код
rtsp://admin:12345@192.168.200.11:554/ISAPI/Streaming/Channels/101
где: rtsp — тип используемого протокола
admin — имя учетной записи
12345 – пароль используемой учетной записи
192.168.200.11 — IP-адрес камеры
554 — RTSP порт камеры (по умолчанию 554, может быть изменен в
настройках)
101 - это 1 камера 1 поток
201 - это 2 камера 1 поток
102 - это 1 камера 2 поток
IP каналы HD-TVI регистраторов
7204 - 501 601;
7208 - 901 1001;
7X16 - 1701 1801 и т.д
Как выводить картинку из RTSP-потока с помощью ffmpeg, команда ниже как пример:
Код
ffplay -rtsp transport tcp rtsp://admin:12345@192.168.200.11:554/Streaming/Channels/101
Много времени потратил с настройкой регистратора и пробросом портов ну и главное актуальности формата пути.
Через TCP оказалось стабильнее, поэтому такой транспорт выбрал.
Эту команду нужно прописать во вкладке ЛБ => Видео => Командная строка запуска видеокамеры.
Чтобы команда работала на клиенте, где запускается LPult требуется установить FFmpeg — набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах...FFmpeg
в терминале, к примеру на Debian(AstraLinux):
Код
sudo apt update
sudo apt install ffmpeg -y
После установки, теперь доступен запуск и обработка команды с LPult.

ИТОГОВЫЙ ВАРИАНТ КОМАНДЫ:
Код
ffplay -window_title "Подъезд 1" -rtsp_transport tcp -fflags nobuffer -analyzeduration 0 -probesize 32 -v error -hide_banner -crf 23 "ffplay -rtsp transport tcp rtsp://admin:12345@192.168.200.11:554/Streaming/Channels/101" -vf "scale=-1:600"
-window_title "имя камеры" - ВАЖНО Задать свой заголовок вручную, чтобы гарантированно убрать пароль из заголовка окна.
-rtsp_transport tcp - использует TCP вместо UDP. Это критично для стабильности в обычных сетях: RTSP по UDP часто теряется из‑за NAT и фаерволов.
Как эффективнее снижать задержку
-probesize 32 - заставляет FFmpeg проанализировать для определения параметров потока минимально возможный объём данных — всего 32 байта
Один -probesize 32 даёт заметный эффект, но для максимального результата его часто комбинируют с другими флагами:
-flags low_delay - подавляет внутреннюю буферизацию декодера, напрямую уменьшая задержку на кадр.
-fflags nobuffer - отключает буферизацию на уровне входного слоя
-analyzeduration 0 - для минимизации задержки при старте потока.
-v error - фильтрует ошибки
-crf 23 - качество видео (18–20 почти без потерь, 23 — баланс размер/качество).
-hide_banner - указывает программе, что не нужно показывать лишнюю информацию
Пропорции видео
-vf "scale=854:480" - масштабирует видео до 854×480
Автосохранение пропорций. Если важно не искажать картинку, используются выражения:
-vf "scale=-1:480" - высота 480, ширина подстроится, или
-vf "scale=600:-1" - ширина 600, высота подстроится.
На одном объекте восстанавливали видеонаблюдение на лифтах, заодно решил вывести диспетчеру картинку.
Так как ЛБ КДК, диспетчеру удобно дополнительно проконтролировать лифт через видео.
Нашёл как вывести RTSP поток в Linux среде в виде окна. Знатно поэкспериментировал и с помощью мощного кодека FFmpeg получилось.
Пример:
Имеем Видеорегистратор Hi-Watch DS-H208Q
RTSP-ссылки для Hikvision/Hiwatch
Основная и универсальная ссылка для IP камер, NVR и DVR:
Код
rtsp://admin:12345@192.168.200.11:554/ISAPI/Streaming/Channels/101
где: rtsp — тип используемого протокола
admin — имя учетной записи
12345 – пароль используемой учетной записи
192.168.200.11 — IP-адрес камеры
554 — RTSP порт камеры (по умолчанию 554, может быть изменен в
настройках)
101 - это 1 камера 1 поток
201 - это 2 камера 1 поток
102 - это 1 камера 2 поток
IP каналы HD-TVI регистраторов
7204 - 501 601;
7208 - 901 1001;
7X16 - 1701 1801 и т.д
Как выводить картинку из RTSP-потока с помощью ffmpeg, команда ниже как пример:
Код
ffplay -rtsp transport tcp rtsp://admin:12345@192.168.200.11:554/Streaming/Channels/101
Много времени потратил с настройкой регистратора и пробросом портов ну и главное актуальности формата пути.
Через TCP оказалось стабильнее, поэтому такой транспорт выбрал.
Эту команду нужно прописать во вкладке ЛБ => Видео => Командная строка запуска видеокамеры.
Чтобы команда работала на клиенте, где запускается LPult требуется установить FFmpeg — набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах...FFmpeg
в терминале, к примеру на Debian(AstraLinux):
Код
sudo apt update
sudo apt install ffmpeg -y
После установки, теперь доступен запуск и обработка команды с LPult.

ИТОГОВЫЙ ВАРИАНТ КОМАНДЫ:
Код
ffplay -window_title "Подъезд 1" -rtsp_transport tcp -fflags nobuffer -analyzeduration 0 -probesize 32 -v error -hide_banner -crf 23 "ffplay -rtsp transport tcp rtsp://admin:12345@192.168.200.11:554/Streaming/Channels/101" -vf "scale=-1:600"
-window_title "имя камеры" - ВАЖНО Задать свой заголовок вручную, чтобы гарантированно убрать пароль из заголовка окна.
-rtsp_transport tcp - использует TCP вместо UDP. Это критично для стабильности в обычных сетях: RTSP по UDP часто теряется из‑за NAT и фаерволов.
Как эффективнее снижать задержку
-probesize 32 - заставляет FFmpeg проанализировать для определения параметров потока минимально возможный объём данных — всего 32 байта
Один -probesize 32 даёт заметный эффект, но для максимального результата его часто комбинируют с другими флагами:
-flags low_delay - подавляет внутреннюю буферизацию декодера, напрямую уменьшая задержку на кадр.
-fflags nobuffer - отключает буферизацию на уровне входного слоя
-analyzeduration 0 - для минимизации задержки при старте потока.
-v error - фильтрует ошибки
-crf 23 - качество видео (18–20 почти без потерь, 23 — баланс размер/качество).
-hide_banner - указывает программе, что не нужно показывать лишнюю информацию
Пропорции видео
-vf "scale=854:480" - масштабирует видео до 854×480
Автосохранение пропорций. Если важно не искажать картинку, используются выражения:
-vf "scale=-1:480" - высота 480, ширина подстроится, или
-vf "scale=600:-1" - ширина 600, высота подстроится.
Вложения
Последнее редактирование модератором:
