Страница 4 из 5
Re: IP камеры видеонаблюдения
Добавлено: 25 сен 2019, 13:21
Olej
Olej писал(а):
Код: Выделить всё
olej@ACER:~$ sudo nmap -v -sS -p1-65535 192.168.1.10
...
PORT STATE SERVICE
80/tcp open http
554/tcp open rtsp
8899/tcp open ospf-lite
9530/tcp open unknown
34567/tcp open dhanalakshmi
MAC Address: 00:12:12:31:E9:D9 (Plus)
Их родной, производителя, Partizan - Device Manager -
единственное что есть для Linux на сайте:
Olej писал(а):Код: Выделить всё
olej@ACER:/opt/Partizan/Partizan Device Manager$ ./Device\ Manager
...
При выборе (конкретной) и подключении камеры делает следующее:
Код: Выделить всё
...
connToThisIndx= "192.168.1.10" 34567
*************** m_CurIDDevice = "192.168.1.10"
H264_DVR_SetConnectTime= 5000 1
extlen=67
head.MsgId:1007,head.DataLen:67
socketcallback head.MsgId=1007
extlen=128
...
А при подключении на просмотр "Потоковое видео":
Код: Выделить всё
...
Formed link: "rtsp://192.168.1.10:554/user=admin&password=admin&channel=1&stream=0.sdp"
qml: Меняем размер
qml: Высота 610.4181818181819
qml: Ширина 674.8363636363637
Play Stream "rtsp://192.168.1.10:554/user=admin&password=admin&channel=1&stream=0.sdp"
extlen=67
head.MsgId:1007,head.DataLen:67
socketcallback head.MsgId=1007
Input #0, rtsp, from 'rtsp://192.168.1.10:554/user=admin&password=admin&channel=1&stream=0.sdp':
Metadata:
title : RTSP Session
Duration: N/A, start: 0.428533, bitrate: N/A
Stream #0:0: Video: h264 (Baseline), yuv420p(progressive), 1280x720, 14 fps, 14 tbr, 90k tbn, 28 tbc
...
Здесь видно командную строку по протоколу RTSP.
Re: IP камеры видеонаблюдения
Добавлено: 25 сен 2019, 15:23
Olej
См.
Как подключить IP камеру по Onvif или RTSP?
Часто возникает вопрос: Как подключить ip камеру к NVR если ее нет в списке совместимости?
Существует два варианта ONVIF и RTSP
Как просматривать видеопоток с камеры, скажем через ffmpeg, из
командной строки, а не из их специализированных и достаточно задроченных приложений.
Re: IP камеры видеонаблюдения
Добавлено: 25 сен 2019, 19:18
Olej
Ещё один (3-й) инструмент под Linux -
Free Download Linux ONVIF Device Tool
Lingodigit ONVIF Device Tool v19.05 has passed the ONVIF Conformance Supported Profiles S in ONVIF Client Test Tool v18.12 and changes Linux Qt GUI with embedded VLC player to QTGstreamer. If you are not Ubuntu user, please use the Manual install.
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/IP-camera/onvif-device-tool$ ls -l onvif-device-tool_19.05-2019.05.30_amd64.deb
-rw-r--r-- 1 olej olej 1155728 сен 25 18:56 onvif-device-tool_19.05-2019.05.30_amd64.deb
Установка в Debian 10:
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/IP-camera$ sudo dpkg -i onvif-device-tool_19.05-2019.05.30_amd64.deb
[sudo] пароль для olej:
Выбор ранее не выбранного пакета onvif-device-tool.
(Чтение базы данных … на данный момент установлено 419629 файлов и каталогов.)
Подготовка к распаковке onvif-device-tool_19.05-2019.05.30_amd64.deb …
Распаковывается onvif-device-tool (19.05-20190530) …
dpkg: зависимости пакетов не позволяют настроить пакет onvif-device-tool:
onvif-device-tool зависит от libqt5gstreamerui-1.0-0, однако:
Пакет libqt5gstreamerui-1.0-0 не установлен.
onvif-device-tool зависит от libqt5gstreamer-1.0-0, однако:
Пакет libqt5gstreamer-1.0-0 не установлен.
dpkg: ошибка при обработке пакета onvif-device-tool (--install):
проблемы зависимостей — оставляем не настроенным
При обработке следующих пакетов произошли ошибки:
onvif-device-tool
Небольшой облом.
Но он легко устраняется:
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/IP-camera$ aptitude search libqt5gstreamerui
p libqt5gstreamerui-1.0-0 - QtGStreamerUi library - Qt 5 build
olej@ACER:~/2019_WORK/own.WORK/IP-camera$ aptitude search libqt5gstreamer
p libqt5gstreamer-1.0-0 - C++ bindings library for GStreamer with a Qt-style API - Qt 5 build
p libqt5gstreamer-dev - Development headers for QtGStreamer - Qt 5 build
p libqt5gstreamerquick-1.0-0 - QtGStreamerQuick library - Qt 5 build
p libqt5gstreamerui-1.0-0 - QtGStreamerUi library - Qt 5 build
p libqt5gstreamerutils-1.0-0 - QtGStreamerUtils library - Qt 5 build
olej@ACER:~/2019_WORK/own.WORK/IP-camera$ sudo aptitude install libqt5gstreamerui-1.0-0
Следующие НОВЫЕ пакеты будут установлены:
libqt5glib-2.0-0{a} libqt5gstreamer-1.0-0{a} libqt5gstreamerui-1.0-0
Следующие частично установленные пакеты будут настроены:
onvif-device-tool
0 пакетов обновлено, 3 установлено новых, 0 пакетов отмечено для удаления, и 0 пакетов не обновлено.
Необходимо получить 163 kБ архивов. После распаковки 700 kБ будет занято.
Хотите продолжить? [Y/n/?] y
Получить: 1 http://deb.debian.org/debian buster/main amd64 libqt5glib-2.0-0 amd64 1.2.0-5 [48,1 kB]
Получить: 2 http://deb.debian.org/debian buster/main amd64 libqt5gstreamer-1.0-0 amd64 1.2.0-5 [88,0 kB]
Получить: 3 http://deb.debian.org/debian buster/main amd64 libqt5gstreamerui-1.0-0 amd64 1.2.0-5 [26,7 kB]
Получено 163 kБ в 0с (413 kБ/с)
Выбор ранее не выбранного пакета libqt5glib-2.0-0:amd64.
(Чтение базы данных … на данный момент установлено 419634 файла и каталога.)
Подготовка к распаковке …/libqt5glib-2.0-0_1.2.0-5_amd64.deb …
Распаковывается libqt5glib-2.0-0:amd64 (1.2.0-5) …
Выбор ранее не выбранного пакета libqt5gstreamer-1.0-0:amd64.
Подготовка к распаковке …/libqt5gstreamer-1.0-0_1.2.0-5_amd64.deb …
Распаковывается libqt5gstreamer-1.0-0:amd64 (1.2.0-5) …
Выбор ранее не выбранного пакета libqt5gstreamerui-1.0-0:amd64.
Подготовка к распаковке …/libqt5gstreamerui-1.0-0_1.2.0-5_amd64.deb …
Распаковывается libqt5gstreamerui-1.0-0:amd64 (1.2.0-5) …
Настраивается пакет libqt5glib-2.0-0:amd64 (1.2.0-5) …
Настраивается пакет libqt5gstreamer-1.0-0:amd64 (1.2.0-5) …
Настраивается пакет libqt5gstreamerui-1.0-0:amd64 (1.2.0-5) …
Настраивается пакет onvif-device-tool (19.05-20190530) …
Обрабатываются триггеры для libc-bin (2.28-10) …
Текущее состояние: 0 сломано [-1].
Этого достаточно!
Re: IP камеры видеонаблюдения
Добавлено: 25 сен 2019, 19:22
Olej
Olej писал(а):Этого достаточно!
Запуск:
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/IP-camera$ onvif-device-tool
QMetaObject::connectSlotsByName: No matching signal for on_worker_error(int,QString)
QMetaObject::connectSlotsByName: No matching signal for on_worker_done(int)
QMetaObject::connectSlotsByName: No matching signal for on_clock_timeout()
QMetaObject::connectSlotsByName: No matching signal for on_wsdd_timeout()
QMetaObject::connectSlotsByName: No matching signal for on_wSetVideoEncoder_done(int)
QMetaObject::connectSlotsByName: No matching signal for on_probe_done()
QMetaObject::connectSlotsByName: No matching signal for on_wsdd_hello(QString)
QMetaObject::connectSlotsByName: No matching signal for on_wsdd_bye(QString)
QMetaObject::connectSlotsByName: No matching signal for on_update_done(WorkerUpdate*)
on_pushButton_probe_clicked
WSDDThread::probe
addDevice : "http://192.168.1.10:8899/onvif/device_service" , manual: false
"\nAddress: 192.168.1.10\nConnection failed"
wsdd: probe_done
on_pushButton_login_clicked: login = 1
on_pushButton_probe_clicked
on_listWidget_Devices_currentRowChanged,2323: 0==============================
on_listWidget_Devices_currentRowChanged,2323: -1==============================
WSDDThread::probe
addDevice : "http://192.168.1.10:8899/onvif/device_service" , manual: false
"NVT\nAddress: 192.168.1.10\nFirmware: V4.02.R12.C6206510.10010.130300..ONVIF 2.4\nLocation: country/UK"
wsdd: probe_done
on_listWidget_Devices_currentRowChanged,2323: 0==============================
wsddList.size():1
url: "http://192.168.1.10:8899/onvif/device_service"
initDevice: time skew -4 sec
now = Wed Sep 25 19:08:04 2019
Test HTTP digest...
initDevice: HTTP digest support: 0
device support GetServices (ONVIF v2.x)
unhandled service: http://www.onvif.org/ver10/device/wsdl
address: http://192.168.1.10:8899/onvif/device_service
media service: http://192.168.1.10:8899/onvif/Media
event service: http://192.168.1.10:8899/onvif/Events
imaging service: http://192.168.1.10:8899/onvif/Imaging
ptz service: http://192.168.1.10:8899/onvif/PTZ
default profile token 000 , name:Profile_000
url: http://192.168.1.10/webcapture.jpg?command=snap&channel=1
initDevice: device initialize success
on_stackedWidget_video_currentChanged: page 0
2991,streamUri:rtsp://192.168.1.10:554/user=admin_password=6QNMIQGe_channel=1_stream=0.sdp?real_stream
UDP
../onvif-gui/player.cpp,setUri,38
3089 live_play
QWidget::paintEngine: Should no longer be called
QWidget::paintEngine: Should no longer be called
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
QWidget::paintEngine: Should no longer be called
QWidget::paintEngine: Should no longer be called
QWidget::paintEngine: Should no longer be called
QPainter::begin: Paint device returned engine == 0, type: 1
DtsGetHWFeatures: Create File Failed
DtsGetHWFeatures: Create File Failed
Running DIL (3.22.0) Version
DtsDeviceOpen: Opening HW in mode 0
DtsDeviceOpen: Create File Failed
...
На протяжении этого старта (в терминале) мы видим...
Эта картина сделана в тёное сремя суток и
с включившейся инфракрасной подсветкой:
Характерно, что изображение здесь с
цветом (в отличие от 2-х предыдущих программ?).
Re: IP камеры видеонаблюдения
Добавлено: 25 сен 2019, 19:48
Olej
Olej писал(а):Ещё один (3-й) инструмент под Linux -
Free Download Linux ONVIF Device Tool
Lingodigit ONVIF Device Tool v19.05 has passed the ONVIF Conformance Supported Profiles S in ONVIF Client Test Tool v18.12 and changes Linux Qt GUI with embedded VLC player to QTGstreamer. If you are not Ubuntu user, please use the Manual install.
Этот тестер - по ONVIF очень гибко меняет настройки + профили, предусмотренные самим устройством (в моей камере он видит 3 профиля).
Re: IP камеры видеонаблюдения
Добавлено: 25 сен 2019, 20:01
Olej
Olej писал(а):Этот тестер - по ONVIF очень гибко меняет настройки + профили, предусмотренные самим устройством (в моей камере он видит 3 профиля).
Этот tools - ONVIF, но читает real-video он по протоколу RTSP, и ниже изображения потока выписывается для каждого профиля строка источника видеопотока (именно для этого образца камеры):
Код: Выделить всё
rtsp://192.168.1.10:554/user=admin_password=6QNMIQGe_channel=1_stream=0.sdp?real_stream
Re: IP камеры видеонаблюдения
Добавлено: 25 сен 2019, 20:07
Olej
Olej писал(а):Характерно, что изображение здесь с цветом (в отличие от 2-х предыдущих программ?).
Но и Xeoma,
параллельно с Linux ONVIF Device Tool, показывает цветное ИК-подсвеченное изображение...
Re: IP камеры видеонаблюдения
Добавлено: 25 сен 2019, 20:26
Olej
Olej писал(а):
Этот tools - ONVIF, но читает real-video он по протоколу RTSP, и ниже изображения потока выписывается для каждого профиля строка источника видеопотока (именно для этого образца камеры):
Код: Выделить всё
rtsp://192.168.1.10:554/user=admin_password=6QNMIQGe_channel=1_stream=0.sdp?real_stream
И подсмотрев строку источника потока, запускаем командой успешную сессию ffmpeg записи в файл:
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/IP-camera$ ffmpeg -i rtsp://192.168.1.10:554/user=admin_password=6QNMIQGe_channel=1_stream=0.sdp?real_stream tmp1.avi
ffmpeg version 4.1.4-1~deb10u1 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --prefix=/usr --extra-version='1~deb10u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
Input #0, rtsp, from 'rtsp://192.168.1.10:554/user=admin_password=6QNMIQGe_channel=1_stream=0.sdp?real_stream':
Metadata:
title : RTSP Session
Duration: N/A, start: 0.857133, bitrate: N/A
Stream #0:0: Video: h264 (Baseline), yuv420p(progressive), 1280x720, 7 fps, 7 tbr, 90k tbn, 14 tbc
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
Output #0, avi, to 'tmp1.avi':
Metadata:
INAM : RTSP Session
ISFT : Lavf58.20.100
Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 1280x720, q=2-31, 200 kb/s, 7 fps, 7 tbn, 7 tbc
Metadata:
encoder : Lavc58.35.100 mpeg4
Side data:
cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
[rtsp @ 0x555b7b830740] max delay reached. need to consume packet
[rtsp @ 0x555b7b830740] RTP: missed 31 packets
[h264 @ 0x555b7b876ac0] corrupted macroblock 16 31 (total_coeff=-1)
[h264 @ 0x555b7b876ac0] error while decoding MB 16 31
[h264 @ 0x555b7b876ac0] concealing 1153 DC, 1153 AC, 1153 MV errors in I frame
[h264 @ 0x555b7b95da80] Increasing reorder buffer to 1
frame= 233 fps=7.6 q=31.0 Lsize= 1204kB time=00:00:33.28 bitrate= 296.2kbits/s dup=0 drop=5 speed=1.09x
video:1192kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.935158%
Exiting normally, received signal 2.
Завершаю запись по Ctrl+C, и это нормальное завершение записи с сохранением результата.
Результат:
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/IP-camera$ ls -l *.avi
-rw-r--r-- 1 olej olej 1232496 сен 25 20:15 tmp1.avi
И теперь на этоn tmp1.avi можно напустить любой штатный видео-проигрыватель Linux (на картинке это Totem)...
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/IP-camera$ totem tmp1.avi
(totem:2259): Gtk-WARNING **: 20:50:29.564: Drawing a gadget with negative dimensions. Did you forget to allocate a size? (node slider owner GtkScale)
(totem:2259): GLib-GObject-WARNING **: 20:50:42.990: invalid (NULL) pointer instance
(totem:2259): GLib-GObject-CRITICAL **: 20:50:42.990: g_signal_handlers_disconnect_matched: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(totem:2259): GLib-GObject-WARNING **: 20:50:42.990: invalid (NULL) pointer instance
(totem:2259): GLib-GObject-CRITICAL **: 20:50:42.990: g_signal_handlers_disconnect_matched: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(totem:2259): GLib-GObject-WARNING **: 20:50:42.990: invalid (NULL) pointer instance
(totem:2259): GLib-GObject-CRITICAL **: 20:50:42.990: g_signal_handlers_disconnect_matched: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
(totem:2259): Totem-CRITICAL **: 20:50:42.990: totem_object_empty_menu_section: assertion 'TOTEM_IS_OBJECT (totem)' failed
Re: IP камеры видеонаблюдения
Добавлено: 25 сен 2019, 20:55
Olej
Olej писал(а):
Результат:
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/IP-camera$ ls -l *.avi
-rw-r--r-- 1 olej olej 1232496 сен 25 20:15 tmp1.avi
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/IP-camera$ file tmp1.avi
tmp1.avi: RIFF (little-endian) data, AVI, 1280 x 720, video: FFMpeg MPEG-4
И консольный mplayer:
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/IP-camera$ mplayer tmp1.avi
MPlayer 1.3.0 (Debian), built with gcc-8 (C) 2000-2016 MPlayer Team
do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.
Playing tmp1.avi.
libavformat version 58.20.100 (external)
Mismatching header version 58.12.100
AVI file format detected.
[aviheader] Video stream found, -vid 0
AVI: No audio stream found -> no sound.
VIDEO: [FMP4] 1280x720 24bpp 7.000 fps 293.5 kbps (35.8 kbyte/s)
Failed to open VDPAU backend libvdpau_i965.so: cannot open shared object file: No such file or directory
[vdpau] Error when calling vdp_device_create_x11: 1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 58.35.100 (external)
Mismatching header version 58.18.100
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
Clip info:
Title: RTSP Session
Software: Lavf58.20.100
Load subtitles in ./
Audio: no sound
Starting playback...
Movie-Aspect is undefined - no prescaling applied.
VO: [xv] 1280x720 => 1280x720 Planar YV12
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [xv] 1280x720 => 1280x720 Planar YV12
V: 33.1 233/233 1% 0% 0.0% 0 0
Exiting... (End of file)
Re: IP камеры видеонаблюдения
Добавлено: 25 сен 2019, 22:51
Olej
Olej писал(а):
И консольный mplayer:
И, наконец, прямое
воспроизведение видеопотока с IP камеры без записи:
Код: Выделить всё
olej@ACER:~/2019_WORK/own.WORK/IP-camera$ ffplay rtsp://192.168.1.10:554/user=admin_password=6QNMIQGe_channel=1_stream=0.sdp?real_stream -hide_banner
Input #0, rtsp, from 'rtsp://192.168.1.10:554/user=admin_password=6QNMIQGe_channel=1_stream=0.sdp?real_stream':
Metadata:
title : RTSP Session
Duration: N/A, start: 0.857133, bitrate: N/A
Stream #0:0: Video: h264 (Baseline), yuv420p(progressive), 1280x720, 7 fps, 7 tbr, 90k tbn, 14 tbc
44.36 M-V: 0.029 fd= 4 aq= 0KB vq= 232KB sq= 0B f=1/1