IP камеры видеонаблюдения

Обмен опытом по установке Линукс на разные аппаратные конфигурации

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IP камеры видеонаблюдения

Непрочитанное сообщение Olej » 25 сен 2019, 22:57

Olej писал(а): И подсмотрев строку источника потока, запускаем командой успешную сессию 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 -hide_banner tmp1.mp4
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) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x558fbf1ecf40] using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2
[libx264 @ 0x558fbf1ecf40] profile High, level 3.1
[libx264 @ 0x558fbf1ecf40] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=7 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'tmp1.mp4':
  Metadata:
    title           : RTSP Session
    encoder         : Lavf58.20.100
    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720, q=-1--1, 7 fps, 90k tbn, 7 tbc
    Metadata:
      encoder         : Lavc58.35.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
[rtsp @ 0x558fbf1ad740] max delay reached. need to consume packet
[rtsp @ 0x558fbf1ad740] RTP: missed 11 packets
[h264 @ 0x558fbf2de940] corrupted macroblock 53 37 (total_coeff=-1)
[h264 @ 0x558fbf2de940] error while decoding MB 53 37
[h264 @ 0x558fbf2de940] concealing 636 DC, 636 AC, 636 MV errors in I frame
frame=   64 fps=8.4 q=-1.0 Lsize=    1765kB time=00:00:08.71 bitrate=1659.0kbits/s dup=0 drop=4 speed=1.14x      
video:1764kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.068109%
[libx264 @ 0x558fbf1ecf40] frame I:1     Avg QP:18.92  size:164511
[libx264 @ 0x558fbf1ecf40] frame P:57    Avg QP:19.46  size: 27820
[libx264 @ 0x558fbf1ecf40] frame B:6     Avg QP:24.95  size:  9167
[libx264 @ 0x558fbf1ecf40] consecutive B-frames: 87.5%  0.0%  0.0% 12.5%
[libx264 @ 0x558fbf1ecf40] mb I  I16..4:  8.6%  9.6% 81.8%
[libx264 @ 0x558fbf1ecf40] mb P  I16..4:  0.0%  0.2%  0.6%  P16..4: 78.7%  2.8%  4.5%  0.0%  0.0%    skip:13.1%
[libx264 @ 0x558fbf1ecf40] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8: 56.0%  3.1%  1.2%  direct: 2.0%  skip:37.6%  L0:40.3% L1:56.8% BI: 2.9%
[libx264 @ 0x558fbf1ecf40] 8x8 transform intra:13.6% inter:8.8%
[libx264 @ 0x558fbf1ecf40] coded y,uvDC,uvAC intra: 99.5% 43.2% 10.0% inter: 43.5% 29.0% 6.2%
[libx264 @ 0x558fbf1ecf40] i16 v,h,dc,p:  9%  9% 47% 35%
[libx264 @ 0x558fbf1ecf40] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 17% 18%  6%  6%  7%  7%  8% 12%
[libx264 @ 0x558fbf1ecf40] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 18% 14%  8%  7%  7%  8%  8% 10%
[libx264 @ 0x558fbf1ecf40] i8c dc,h,v,p: 47% 21% 23%  9%
[libx264 @ 0x558fbf1ecf40] Weighted P-Frames: Y:3.5% UV:1.8%
[libx264 @ 0x558fbf1ecf40] ref P L0: 95.7%  1.5%  2.0%  0.4%  0.4%
[libx264 @ 0x558fbf1ecf40] ref B L0: 99.8%  0.1%  0.1%
[libx264 @ 0x558fbf1ecf40] ref B L1: 99.7%  0.3%
[libx264 @ 0x558fbf1ecf40] kb/s:1579.59
Exiting normally, received signal 2.

Код: Выделить всё

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 -hide_banner tmp1.flv
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) -> flv1 (flv))
Press [q] to stop, [?] for help
Output #0, flv, to 'tmp1.flv':
  Metadata:
    title           : RTSP Session
    encoder         : Lavf58.20.100
    Stream #0:0: Video: flv1 (flv) ([2][0][0][0] / 0x0002), yuv420p, 1280x720, q=2-31, 200 kb/s, 7 fps, 1k tbn, 7 tbc
    Metadata:
      encoder         : Lavc58.35.100 flv
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
[rtsp @ 0x556b43aa8740] max delay reached. need to consume packet
[rtsp @ 0x556b43aa8740] RTP: missed 15 packets
[h264 @ 0x556b43aed400] out of range intra chroma pred mode
[h264 @ 0x556b43aed400] error while decoding MB 15 39
[h264 @ 0x556b43aed400] concealing 514 DC, 514 AC, 514 MV errors in I frame
[h264 @ 0x556b43bdca80] Increasing reorder buffer to 1
frame=   72 fps=9.5 q=31.0 Lsize=     690kB time=00:00:10.14 bitrate= 557.2kbits/s dup=0 drop=5 speed=1.33x    
video:689kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.196540%
Exiting normally, received signal 2.

Код: Выделить всё

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 -hide_banner tmp1.mkv
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) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x5628f5213500] using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2
[libx264 @ 0x5628f5213500] profile High, level 3.1
[libx264 @ 0x5628f5213500] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=7 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, matroska, to 'tmp1.mkv':
  Metadata:
    title           : RTSP Session
    encoder         : Lavf58.20.100
    Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuv420p, 1280x720, q=-1--1, 7 fps, 1k tbn, 7 tbc
    Metadata:
      encoder         : Lavc58.35.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
[rtsp @ 0x5628f51d4740] max delay reached. need to consume packet
[rtsp @ 0x5628f51d4740] RTP: missed 17 packets
[h264 @ 0x5628f532ed00] corrupted macroblock 38 33 (total_coeff=-1)
[h264 @ 0x5628f532ed00] error while decoding MB 38 33
[h264 @ 0x5628f532ed00] concealing 971 DC, 971 AC, 971 MV errors in I frame
frame=   94 fps=7.8 q=-1.0 Lsize=    2577kB time=00:00:13.00 bitrate=1623.7kbits/s dup=0 drop=5 speed=1.07x      
video:2575kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.060294%
[libx264 @ 0x5628f5213500] frame I:1     Avg QP:18.98  size:170388
[libx264 @ 0x5628f5213500] frame P:84    Avg QP:19.23  size: 28231
[libx264 @ 0x5628f5213500] frame B:9     Avg QP:24.87  size: 10506
[libx264 @ 0x5628f5213500] consecutive B-frames: 87.2%  0.0%  0.0% 12.8%
[libx264 @ 0x5628f5213500] mb I  I16..4:  8.0%  7.1% 84.9%
[libx264 @ 0x5628f5213500] mb P  I16..4:  0.0%  0.2%  0.7%  P16..4: 79.5%  2.5%  4.4%  0.0%  0.0%    skip:12.7%
[libx264 @ 0x5628f5213500] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8: 59.4%  2.9%  1.3%  direct: 1.9%  skip:34.6%  L0:45.8% L1:50.8% BI: 3.4%
[libx264 @ 0x5628f5213500] 8x8 transform intra:13.9% inter:8.6%
[libx264 @ 0x5628f5213500] coded y,uvDC,uvAC intra: 99.6% 56.5% 15.1% inter: 43.9% 30.7% 6.8%
[libx264 @ 0x5628f5213500] i16 v,h,dc,p:  5%  9% 52% 33%
[libx264 @ 0x5628f5213500] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 19% 18%  5%  7%  7%  7%  8% 10%
[libx264 @ 0x5628f5213500] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 18% 14%  8%  7%  7%  8%  8% 10%
[libx264 @ 0x5628f5213500] i8c dc,h,v,p: 47% 21% 23%  9%
[libx264 @ 0x5628f5213500] Weighted P-Frames: Y:1.2% UV:1.2%
[libx264 @ 0x5628f5213500] ref P L0: 95.9%  1.5%  1.9%  0.6%  0.1%
[libx264 @ 0x5628f5213500] ref B L0: 99.6%  0.2%  0.2%
[libx264 @ 0x5628f5213500] ref B L1: 99.6%  0.4%
[libx264 @ 0x5628f5213500] kb/s:1570.62
Exiting normally, received signal 2.

Код: Выделить всё

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 -hide_banner tmp1.mov
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) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x55d9787f3a80] using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2
[libx264 @ 0x55d9787f3a80] profile High, level 3.1
[libx264 @ 0x55d9787f3a80] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=7 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mov, to 'tmp1.mov':
  Metadata:
    title           : RTSP Session
    encoder         : Lavf58.20.100
    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720, q=-1--1, 7 fps, 90k tbn, 7 tbc
    Metadata:
      encoder         : Lavc58.35.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
[rtsp @ 0x55d9787b5740] max delay reached. need to consume packet
[rtsp @ 0x55d9787b5740] RTP: missed 14 packets
[h264 @ 0x55d97890fec0] negative number of zero coeffs at 14 35
[h264 @ 0x55d97890fec0] error while decoding MB 14 35
[h264 @ 0x55d97890fec0] concealing 835 DC, 835 AC, 835 MV errors in I frame
frame=   85 fps=8.0 q=-1.0 Lsize=    2339kB time=00:00:11.71 bitrate=1636.0kbits/s dup=0 drop=4 speed= 1.1x      
video:2338kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.055341%
[libx264 @ 0x55d9787f3a80] frame I:1     Avg QP:18.88  size:171526
[libx264 @ 0x55d9787f3a80] frame P:75    Avg QP:19.20  size: 28231
[libx264 @ 0x55d9787f3a80] frame B:9     Avg QP:24.90  size: 11634
[libx264 @ 0x55d9787f3a80] consecutive B-frames: 85.9%  0.0%  0.0% 14.1%
[libx264 @ 0x55d9787f3a80] mb I  I16..4:  9.3%  7.2% 83.5%
[libx264 @ 0x55d9787f3a80] mb P  I16..4:  0.0%  0.2%  0.6%  P16..4: 79.7%  2.6%  4.3%  0.0%  0.0%    skip:12.5%
[libx264 @ 0x55d9787f3a80] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8: 60.7%  3.5%  1.6%  direct: 2.5%  skip:31.6%  L0:47.1% L1:49.2% BI: 3.8%
[libx264 @ 0x55d9787f3a80] 8x8 transform intra:14.9% inter:8.7%
[libx264 @ 0x55d9787f3a80] coded y,uvDC,uvAC intra: 99.6% 50.4% 11.5% inter: 44.2% 30.4% 6.6%
[libx264 @ 0x55d9787f3a80] i16 v,h,dc,p:  8%  8% 53% 31%
[libx264 @ 0x55d9787f3a80] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 18% 20%  6%  6%  6%  8%  8% 11%
[libx264 @ 0x55d9787f3a80] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 19% 18% 14%  8%  7%  7%  8%  8% 10%
[libx264 @ 0x55d9787f3a80] i8c dc,h,v,p: 50% 20% 22%  8%
[libx264 @ 0x55d9787f3a80] Weighted P-Frames: Y:1.3% UV:1.3%
[libx264 @ 0x55d9787f3a80] ref P L0: 95.8%  1.5%  2.0%  0.6%  0.1%
[libx264 @ 0x55d9787f3a80] ref B L0: 99.8%  0.1%  0.1%
[libx264 @ 0x55d9787f3a80] ref B L1: 99.4%  0.6%
[libx264 @ 0x55d9787f3a80] kb/s:1576.96
Exiting normally, received signal 2.

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/IP-camera$ file tmp1.*
tmp1.avi: RIFF (little-endian) data, AVI, 1280 x 720, video: FFMpeg MPEG-4
tmp1.flv: Macromedia Flash Video
tmp1.mkv: Matroska data
tmp1.mov: ISO Media, Apple QuickTime movie, Apple QuickTime (.MOV/QT)
tmp1.mp4: ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]

olej@ACER:~/2019_WORK/own.WORK/IP-camera$ ls -l tmp1.*
-rw-r--r-- 1 olej olej 1232496 сен 25 20:15 tmp1.avi
-rw-r--r-- 1 olej olej  706587 сен 25 22:41 tmp1.flv
-rw-r--r-- 1 olej olej 2638655 сен 25 22:43 tmp1.mkv
-rw-r--r-- 1 olej olej 2395586 сен 25 22:45 tmp1.mov
-rw-r--r-- 1 olej olej 1807146 сен 25 22:36 tmp1.mp4

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IP камеры видеонаблюдения

Непрочитанное сообщение Olej » 25 сен 2019, 23:00

Olej писал(а): Несколько разных вариантов записи в разных форматах:
Допустимые форматы (их великое множество) см. так:

Код: Выделить всё

olej@ACER:/opt/Partizan/Partizan Device Manager$ ffmpeg -formats -hide_banner
File formats:
 D. = Demuxing supported
 .E = Muxing supported
 --
 D  3dostr          3DO STR
  E 3g2             3GP2 (3GPP2 file format)
  E 3gp             3GP (3GPP file format)
 D  4xm             4X Technologies
  E a64             a64 - video for Commodore 64
 D  aa              Audible AA format files
 D  aac             raw ADTS AAC (Advanced Audio Coding)
 DE ac3             raw AC-3
 D  acm             Interplay ACM
 D  act             ACT Voice file format
 D  adf             Artworx Data Format
 D  adp             ADP
 D  ads             Sony PS2 ADS
...
По числу штук:

Код: Выделить всё

olej@ACER:/opt/Partizan/Partizan Device Manager$ ffmpeg -formats -hide_banner | wc -l
365

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IP камеры видеонаблюдения

Непрочитанное сообщение Olej » 25 сен 2019, 23:06

Olej писал(а): И подсмотрев строку источника потока, запускаем командой успешную сессию 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
...
Единственно, что я никак не могу понять в этом кине - откуда взялся этот пароль password=6QNMIQGe
- для моей камеры user=admin & password='' - пустой
- но записи (которые приводятся в интернет) заканчиваются ошибкой:

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/IP-camera$ ffplay rtsp://192.168.1.10:554/user=admin_password=_channel=1_stream=0.sdp?real_stream -hide_banner
[rtsp @ 0x7f41bc000b80] method DESCRIBE failed: 451 ERROR0B f=0/0   
rtsp://192.168.1.10:554/user=admin_password=_channel=1_stream=0.sdp?real_stream: Server returned 4XX Client Error, but not one of 40{0,1,3,4}
    nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/IP-camera$ ffplay rtsp://192.168.1.10:554/user=admin_password=''_channel=1_stream=0.sdp?real_stream -hide_banner
[rtsp @ 0x7f7e34000b80] method DESCRIBE failed: 451 ERROR0B f=0/0   
rtsp://192.168.1.10:554/user=admin_password=_channel=1_stream=0.sdp?real_stream: Server returned 4XX Client Error, but not one of 40{0,1,3,4}

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IP камеры видеонаблюдения

Непрочитанное сообщение Olej » 26 сен 2019, 00:48

Выхватить один отдельный кадр (скриншот) из IP камеры:

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/IP-camera$ ffmpeg -i rtsp://192.168.1.10:554/user=admin_password=6QNMIQGe_channel=1_stream=1.sdp?real_stream -hide_banner -an -r 1 -vframes 1 -ss 1 -f mjpeg -y tmp1.jpg
Input #0, rtsp, from 'rtsp://192.168.1.10:554/user=admin_password=6QNMIQGe_channel=1_stream=1.sdp?real_stream':
  Metadata:
    title           : RTSP Session
  Duration: N/A, start: 0.458456, bitrate: N/A
    Stream #0:0: Video: h264 (Baseline), yuv420p(progressive), 704x576, 12.50 fps, 13 tbr, 90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x56194bb01300] deprecated pixel format used, make sure you did set range correctly
Output #0, mjpeg, to 'tmp1.jpg':
  Metadata:
    title           : RTSP Session
    encoder         : Lavf58.20.100
    Stream #0:0: Video: mjpeg, yuvj420p(pc), 704x576, q=2-31, 200 kb/s, 1 fps, 1 tbn, 1 tbc
    Metadata:
      encoder         : Lavc58.35.100 mjpeg
    Side data:
      cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: -1
frame=    1 fps=0.0 q=5.7 Lsize=      34kB time=00:00:01.00 bitrate= 281.3kbits/s speed=18.4x    
video:34kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/IP-camera$ ffmpeg -i rtsp://192.168.1.10:554/user=admin_password=6QNMIQGe_channel=1_stream=1.sdp?real_stream -hide_banner -an -r 1 -vframes 1 -ss 1 -f gif -y tmp1.gif
Input #0, rtsp, from 'rtsp://192.168.1.10:554/user=admin_password=6QNMIQGe_channel=1_stream=1.sdp?real_stream':
  Metadata:
    title           : RTSP Session
  Duration: N/A, start: 0.458456, bitrate: N/A
    Stream #0:0: Video: h264 (Baseline), yuv420p(progressive), 704x576, 12.50 fps, 13 tbr, 90k tbn, 25 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> gif (native))
Press [q] to stop, [?] for help
[swscaler @ 0x5612de87c740] No accelerated colorspace conversion found from yuv420p to bgr8.
Output #0, gif, to 'tmp1.gif':
  Metadata:
    title           : RTSP Session
    encoder         : Lavf58.20.100
    Stream #0:0: Video: gif, bgr8, 704x576, q=2-31, 200 kb/s, 1 fps, 100 tbn, 1 tbc
    Metadata:
      encoder         : Lavc58.35.100 gif
frame=    1 fps=0.0 q=-0.0 Lsize=      60kB time=00:00:00.01 bitrate=49087.2kbits/s speed=0.188x    
video:59kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.336086%

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/IP-camera$ ls -l *.gif *.jpg
-rw-r--r-- 1 olej olej 61359 сен 26 00:40 tmp1.gif
-rw-r--r-- 1 olej olej 35168 сен 26 00:40 tmp1.jpg
И там, и там - предупреждения ... о размерности отсчётов, преобразовании цветовой гаммы и т.д. ... но с этим нужно отдельно возиться.
Вложения
tmp1.gif

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IP камеры видеонаблюдения

Непрочитанное сообщение Olej » 26 сен 2019, 01:24

Olej писал(а): И, наконец, прямое воспроизведение видеопотока с IP камеры без записи:
То же самое, но с VLC проигрывателем напрямую:
- в "Инструменты"->"Настройки"->"Ввод/кодеки" устанавливаем "RTP поверх RTSP (TCP)" ... сохраняем;
- в "Медиа"->"Открыть URL" вписываем уже знакомый нам источник видеопотока:
rtsp://192.168.1.10:554/user=admin_password=6QNMIQGe_channel=1_stream=1.sdp?
- начинаем проигрывание потока...

VLC хорош тем, что масштабирует изображение под размер окна VLC (но с сохранением пропорций источника).
Вложения
vlc0.png
vlc1.png
vlc2.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IP камеры видеонаблюдения

Непрочитанное сообщение Olej » 27 сен 2019, 18:20

Olej писал(а): И, наконец, прямое воспроизведение видеопотока с IP камеры без записи:
Или вот так, когда разделены функции:
IP-камера -> RTSP -> ffmpeg -> mplayer
Когда можно опциями указать каждому компоненту режим работы:

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/IP-camera/rtsp-ffmpeg$ ffmpeg -i rtsp://192.168.1.10:554/user=admin_password=6QNMIQGe_channel=1_stream=1.sdp?real_stream -hide_banner -f yuv4mpegpipe - | mplayer -nosound -
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.


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 -.
Reading from stdin...
libavformat version 58.20.100 (external)
Mismatching header version 58.12.100
Input #0, rtsp, from 'rtsp://192.168.1.10:554/user=admin_password=6QNMIQGe_channel=1_stream=1.sdp?real_stream':
  Metadata:
    title           : RTSP Session
  Duration: N/A, start: 0.240000, bitrate: N/A
    Stream #0:0: Video: h264 (Baseline), yuv420p(progressive), 352x240, 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
Output #0, yuv4mpegpipe, to 'pipe:':
  Metadata:
    title           : RTSP Session
    encoder         : Lavf58.20.100
    Stream #0:0: Video: wrapped_avframe, yuv420p, 352x240, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc58.35.100 wrapped_avframe
libavformat file format detected.
[lavf] stream 0: video (rawvideo), -vid 0
VIDEO:  [I420]  352x240  0bpp  25.000 fps    0.0 kbps ( 0.0 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: [raw] RAW Uncompressed Video
Movie-Aspect is undefined - no prescaling applied.
VO: [xv] 352x240 => 352x240 Planar I420 
Selected video codec: [rawi420] vfm: raw (RAW I420)
==========================================================================
Load subtitles in ./
Audio: no sound
Starting playback...
[rtsp @ 0x56487187c740] max delay reached. need to consume packet
[rtsp @ 0x56487187c740] RTP: missed 7 packets
[rtsp @ 0x56487187c740] max delay reached. need to consume packette=25345.5kbits/s dup=0 drop=4 speed=0.996x    
[rtsp @ 0x56487187c740] RTP: missed 27 packets
[h264 @ 0x564871953b40] Increasing reorder buffer to 1
[h264 @ 0x564871962500] Invalid level prefix
[h264 @ 0x564871962500] error while decoding MB 13 5
[h264 @ 0x564871962500] concealing 256 DC, 256 AC, 256 MV errors in I frame
[rtsp @ 0x56487187c740] max delay reached. need to consume packet
[rtsp @ 0x56487187c740] RTP: missed 27 packets
[h264 @ 0x564871953b40] Invalid level prefix
[h264 @ 0x564871953b40] error while decoding MB 0 7
[h264 @ 0x564871953b40] concealing 225 DC, 225 AC, 225 MV errors in I frame
[rtsp @ 0x56487187c740] max delay reached. need to consume packet
[rtsp @ 0x56487187c740] RTP: missed 31 packets
[h264 @ 0x564871962500] Invalid level prefix
[h264 @ 0x564871962500] error while decoding MB 10 7
[h264 @ 0x564871962500] concealing 215 DC, 215 AC, 215 MV errors in I frame
[rtsp @ 0x56487187c740] max delay reached. need to consume packette=25345.3kbits/s dup=13 drop=4 speed=1.01x    
[rtsp @ 0x56487187c740] RTP: missed 24 packets
[h264 @ 0x564871962500] Invalid level prefix
[h264 @ 0x564871962500] error while decoding MB 11 8
[h264 @ 0x564871962500] concealing 192 DC, 192 AC, 192 MV errors in I frame
[rtsp @ 0x56487187c740] max delay reached. need to consume packet
[rtsp @ 0x56487187c740] RTP: missed 1 packets
[h264 @ 0x5648718babc0] corrupted macroblock 14 7 (total_coeff=-1)
[h264 @ 0x5648718babc0] error while decoding MB 14 7
[h264 @ 0x5648718babc0] concealing 211 DC, 211 AC, 211 MV errors in P frame
[rtsp @ 0x56487187c740] max delay reached. need to consume packet
[rtsp @ 0x56487187c740] RTP: missed 24 packets
[h264 @ 0x5648718babc0] Invalid level prefix
[h264 @ 0x5648718babc0] error while decoding MB 1 8
[h264 @ 0x5648718babc0] concealing 202 DC, 202 AC, 202 MV errors in I frame
[rtsp @ 0x56487187c740] max delay reached. need to consume packet
[rtsp @ 0x56487187c740] RTP: missed 2 packets
V:  10.6   0/  0  0%  0%  0.0% 0 0 

Exiting... (Quit)
av_interleaved_write_frame(): Broken pipe
Error writing trailer of pipe:: Broken pipe
frame=  267 fps= 25 q=-0.0 Lsize=   32983kB time=00:00:10.68 bitrate=25299.4kbits/s dup=22 drop=4 speed=   1x    
video:140kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 23500.195312%
Conversion failed!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IP камеры видеонаблюдения

Непрочитанное сообщение Olej » 27 сен 2019, 20:10

Olej писал(а): Или вот так, когда разделены функции:
IP-камера -> RTSP -> ffmpeg -> mplayer
Когда можно опциями указать каждому компоненту режим работы:
И при этом можно интерактивно менять (управлять по ходу) параметры отображения mplayer - клавишами с клавиатуры ... из которых самыми важными для меня являются:
- 1 - уменьшить контраст
- 2 - увеличить контраст
- 3 - уменьшить яркость
- 4 - увеличить яркость
И тогда изображение (в динамике) от камеры ночного режима можно вывести, например, так:
Вложения
mpl.png

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IP камеры видеонаблюдения

Непрочитанное сообщение Olej » 02 окт 2019, 01:52

Olej писал(а):
25 сен 2019, 00:16
Вот такая вещь как Xeoma - Xeoma – бестселлер гибкого видеонаблюдения.
Качаем здесь - Xeoma для Linux 64 бит (пробная версия Lite-режима) (лучше эту версию, из соображений что это коммерческий продукт + триальных условий).
Доступно (на сайте Xeoma) очень объёмное (405 страниц, если в PDF) описание Xeoma: ПОЛНОЕ РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ XEOMA
Оно же доступно в PDF-формате и может быть сохранено для автономной работы.
Это описание очень интересное не только как описание возможностей конкретной системы видеонаблюдения, но ещё и как описание основных принципов и задач, которые такие системы решают:
СОДЕРЖАНИЕ:

ГЛАВА 1. ЗНАКОМСТВО С ПРОГРАММОЙ
1.1. Знакомство с программой
1.2. Возможности программы и сферы применения
1.3. Минимальные системные требования
1.4. Режимы Xeoma

ГЛАВА 2. НАЧАЛО РАБОТЫ
2.1. Начало работы
2.2. Интерфейсы и окна Xeoma
2.2.1. Интерфейс главного окна Xeoma
2.2.2. Окно быстрых настроек
2.2.3. Окно детальных настроек
2.2.4. Диалог настроек модуля
2.2.5. Окно просмотра архива
2.3. Принцип работы модулей
2.3.1. Принцип работы модулей
2.3.2. Разветвление и смыкание цепочек
2.4. Автоматический поиск камер
2.4.1. Автоматический поиск при первом запуске
2.4.2. Поиск локальных камер
2.4.3. Поиск по IP/паролю
2.4.4. Добавление вручную
2.4.5. Дублирование камер и цепочек
2.5. Меню режимов просмотра
2.6. Порядок камер
2.7. Быстрое управление камерами: дерево камер
2.8. Управление PTZ-функциями камер и цифровое зуммирование
2.8.1. Управление PTZ-функциями камер
2.8.2. Цифровое зуммирование
2.8.3. Управление PTZ-функциями камер в браузере
2.8.4. Автоматическое следование за объектами
2.8.5. Автоматические обходы камерой
2.9. Быстрое управление камерами: eMap
2.10. Смена отображаемого имени камер

ГЛАВА 3. НАСТРОЙКИ МОДУЛЕЙ
3.1. Настройка источников
3.2. Настройка назначений
3.3. Настройка фильтров
3.4. Детектор движения
3.5. Архив
3.6. Детектор лиц и распознавание лиц
3.7. Подсчет посетителей
3.7.1. Простой подсчет посетителей (Xeoma Standard)
3.7.2. Подсчет посетителей с направлением движения (Xeoma Pro)
3.8. Маркировка
3.9. Реле-переключатель
3.10. Автоматическая маскировка зон
3.11. Детектор дыма
3.12. Детектор объектов
3.13. HTTP Маркировка (интеграция с кассовыми аппаратами)
3.14. Отправка HTTP запроса (интеграция с системами автоматизации)
3.15. HTTP Отправка на другую Xeoma
3.16. HTTP Переключатель
3.17. RTSP Транслятор
3.18. Распознавание ГРНЗ (автономеров)
3.19. Детектор праздношатания
3.20. Детектор проблем (саботажа)
3.21. Коррекция изображения с камер “рыбий глаз”
3.22. Распознавание эмоций

ГЛАВА 4. ДРУГИЕ ВОЗМОЖНОСТИ
4.1. Клиент-серверная архитектура
4.2. Установка и запуск
4.3. Лицензии: условия и покупка
4.4. Активация программы
4.4.1. Online активация
4.4.2. Offline активация
4.4.3. Активация на виртуальных машинах
4.4.4. Активация на виртуальных машинах с использованием сервера лицензий
4.4.5. Аппаратные ключи на твердотельном носителе
4.5. Обновление
4.6. Разделение прав доступа (раздельный просмотр источников)
4.6.1. Разделение прав доступа
4.6.2. PTZ-Блокировка
4.7. Восстановление настроек
4.8. Визуализация движения
4.9. Тепловая карта
4.10. Шифрование передачи данных (TLS)
4.11. Резервное хранилище архивов
4.12. Монтирование сетевых дисков
4.13. Резервирование серверов
4.14. Аппаратное ускорение декодирования
4.14.1. Сервер
4.14.2. Клиент
4.15. Интеграция с внешними устройствами
4.15.1. Интеграция с внешними устройствами: отправка команд (напр., шлагбаум)
4.15.2. Интеграция с внешними устройствами: приём команд (напр., включение записи по сигналу)
4.15.3. Интеграция с внешними устройствами: наложение титров (напр., с кассовыми аппаратами)
4.15.4. Интеграция с внешними устройствами: использование внешних баз данных
4.15.5. API Xeoma
4.15.6. Привязка внешних датчиков к сигнальным входам камер
4.16. Скриншот (снимок экрана)

ГЛАВА 5. УДАЛЕННЫЙ ДОСТУП
5.1. Работа с прокси-серверами
5.2. Возможности удалённого подключения
5.3. Ретранслятор
5.4. Веб сервер
5.5. Кастомизация веб сервера
5.6. Приложение для Android
5.7. Приложение Xeoma для iPhone/iPad
5.8. Подключение Xeoma через VPN

ГЛАВА 6. ДРУГИЕ ПРОДУКТЫ
6.1. Xeoma Pro
6.2. Xeoma Cloud
6.3. Кастомизация и ребрендинг

ГЛАВА 7. В ЗАКЛЮЧЕНИЕ
7.1. Удаление программы
7.2. Советы по снижению нагрузки

ПРИЛОЖЕНИЕ
1 – Примеры использования Xeoma
2 – Часто требующиеся возможности и как их реализовать в Xeoma
3 – Видеонаблюдение для новичков
4 – Программа для видеонаблюдения для Linux Xeoma: инструкция по установке
5 – Поддерживаемые команды
6 – Возможные ошибки и их устранение
7 – Кастомизация веб сервера Xeoma
8 – Файлы настроек программы Xeoma
9 – Изменение порядка камер
10 – Мультисерверный режим
11 – Ретранслятор
12 – Инструкция по применению утилиты для ребрендинга Xeoma
13 – Быстрое подключение к серверам
14 –Дерево камер (“Устройства по группам”)
15 – FTP-приёмник: подключить камеру к видеонаблюдению – просто!
16 – Как снизить нагрузку на процессор при работе с rtsp (H264) камерами
17 – Как настроить Xeoma на Raspberry Pi с процессором ARM
18 – Как переместить архивы Xeoma
19 – Таймлапс-эффект в Xeoma
20 – Многомониторная конфигурация (видеостена)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: IP камеры видеонаблюдения

Непрочитанное сообщение Olej » 02 окт 2019, 02:12

Olej писал(а):
02 окт 2019, 01:52
Доступно (на сайте Xeoma) очень объёмное (405 страниц, если в PDF) описание Xeoma:
Там же есть URL (он, собственно тот же) для скачивания + инструкция по установке Xeoma для Rapsberry Pi с ARM:

Код: Выделить всё

olej@ACER:~/2019_WORK/own.WORK/IP-camera/Partizan_IP$ ls -l xeoma_linux_arm7.tgz 
-rw-r--r-- 1 olej olej 31301657 окт  2 02:04 xeoma_linux_arm7.tgz
Это нужно будет обязательно попробовать!

Ответить

Вернуться в «Железо для Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей