NEWS
[Frage BLOCKLY ] Klingel Bild per Telegram versenden / Snapshot von Cam per Telegram versenden
-
EDIT: OK andere Frage. Testen kann ich das ja auf der Commandline aber wie bekomme ich raus mit welchen Einstellungen meine Camera funktioniert? `
Das kannst Du gut im VLC Player sehen unter media info, da brauchst du Seitenverhältnise und FPS, wobei FPS kannst beliebig ändern.
-
eht aktuell so aus:
!
root@openmediavault ~ > ffmpeg -y -i rtsp:xxx:xxx@192.168.178.210:554/12 -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -vf scale=w=640:h=360:force_original_aspect_ratio=decrease -r 15 /opt/iobroker/out2.mp4 ffmpeg version 3.2.10-1~deb9u1~bpo8+1 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 4.9.2 (Debian 4.9.2-10) configuration: --prefix=/usr --extra-version='1~deb9u1~bpo8+1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --disable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared libavutil 55\. 34.101 / 55\. 34.101 libavcodec 57\. 64.101 / 57\. 64.101 libavformat 57\. 56.101 / 57\. 56.101 libavdevice 57\. 1.100 / 57\. 1.100 libavfilter 6\. 65.100 / 6\. 65.100 libavresample 3\. 1\. 0 / 3\. 1\. 0 libswscale 4\. 2.100 / 4\. 2.100 libswresample 2\. 3.100 / 2\. 3.100 libpostproc 54\. 1.100 / 54\. 1.100 [rtsp @ 0x557a333e4a00] max delay reached. need to consume packet [rtsp @ 0x557a333e4a00] RTP: missed 115 packets [h264 @ 0x557a333e7d00] error while decoding MB 23 35, bytestream -5 [h264 @ 0x557a333e7d00] concealing 10106 DC, 10106 AC, 10106 MV errors in I frame Input #0, rtsp, from 'rtsp:xxx:xxx@192.168.178.210:554/12': Metadata: title : Media Presentation Duration: N/A, start: 0.300000, bitrate: N/A Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 2688x1520 [SAR 1:1 DAR 168:95], 20 fps, 20 tbr, 90k tbn, 40 tbc [swscaler @ 0x557a33411cc0] deprecated pixel format used, make sure you did set range correctly [libx264 @ 0x557a33428360] width not divisible by 2 (637x360) Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height root@openmediavault ~ > !
`Also da past scale=w=640:h=360 schon definitiv nicht
-
Übrigens, für Doorbird (v2) ist funktionierende URL
ffmpeg -y -i rtsp://login0001:password@doorbird_ip:554/mpeg/media.amp -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -vf scale=w=1280:h=738:force_original_aspect_ratio=decrease -r 10 /opt/iobroker/out1.mp4
-
So, Scale mal angepasst:
root@openmediavault ~ > ffmpeg -y -i rtsp:xxx:xxx_18@192.168.178.210:554/12 -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -vf scale=w=2688:h=1538:force_original_aspect_ratio=decrease -r 15 /opt/iobroker/out2.mp4 ffmpeg version 3.2.10-1~deb9u1~bpo8+1 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 4.9.2 (Debian 4.9.2-10) configuration: --prefix=/usr --extra-version='1~deb9u1~bpo8+1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --disable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared libavutil 55\. 34.101 / 55\. 34.101 libavcodec 57\. 64.101 / 57\. 64.101 libavformat 57\. 56.101 / 57\. 56.101 libavdevice 57\. 1.100 / 57\. 1.100 libavfilter 6\. 65.100 / 6\. 65.100 libavresample 3\. 1\. 0 / 3\. 1\. 0 libswscale 4\. 2.100 / 4\. 2.100 libswresample 2\. 3.100 / 2\. 3.100 libpostproc 54\. 1.100 / 54\. 1.100 [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 113 packets [h264 @ 0x5585cee28d00] left block unavailable for requested intra mode [h264 @ 0x5585cee28d00] error while decoding MB 0 33, bytestream 17500 [h264 @ 0x5585cee28d00] concealing 10465 DC, 10465 AC, 10465 MV errors in I frame Input #0, rtsp, from 'rtsp:xxx:xxx_18@192.168.178.210:554/12': Metadata: title : Media Presentation Duration: N/A, start: 0.300000, bitrate: N/A Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 2688x1520 [SAR 1:1 DAR 168:95], 20 fps, 20 tbr, 90k tbn, 40 tbc [swscaler @ 0x5585cef82520] deprecated pixel format used, make sure you did set range correctly [libx264 @ 0x5585ceee9f60] using SAR=1/1 [libx264 @ 0x5585ceee9f60] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 LZCNT [libx264 @ 0x5585ceee9f60] profile High, level 5.0 [libx264 @ 0x5585ceee9f60] 264 - core 142 r2431 a5831aa - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - 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=15 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 '/opt/iobroker/out2.mp4': Metadata: title : Media Presentation encoder : Lavf57.56.101 Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 2688x1520 [SAR 1:1 DAR 168:95], q=-1--1, 15 fps, 15360 tbn, 15 tbc Metadata: encoder : Lavc57.64.101 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Press [q] to stop, [?] for help [h264 @ 0x5585ceeda300] left block unavailable for requested intra mode [h264 @ 0x5585ceeda300] error while decoding MB 0 33, bytestream 17500 [h264 @ 0x5585ceeda300] concealing 10465 DC, 10465 AC, 10465 MV errors in I frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packete=N/A dup=0 drop=8 speed= 0x [rtsp @ 0x5585cee25a00] RTP: missed 110 packets [h264 @ 0x5585ceee1860] error while decoding MB 67 65, bytestream -5 [h264 @ 0x5585ceee1860] concealing 5022 DC, 5022 AC, 5022 MV errors in P frame Past duration 0.749992 too large 0kB time=00:00:00.00 bitrate=N/A dup=4 drop=11 speed= 0x [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 22 packets [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 1 packets [h264 @ 0x5585ceeda300] left block unavailable for requested intra4x4 mode -1 [h264 @ 0x5585ceeda300] error while decoding MB 0 33, bytestream 146621 [h264 @ 0x5585ceeda300] concealing 10465 DC, 10465 AC, 10465 MV errors in I frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 5 packets [h264 @ 0x5585ceeda300] error while decoding MB 15 66, bytestream -11 [h264 @ 0x5585ceeda300] concealing 4906 DC, 4906 AC, 4906 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packete=N/A dup=4 drop=15 speed= 0x [rtsp @ 0x5585cee25a00] RTP: missed 62 packets [h264 @ 0x5585cefa1980] error while decoding MB 29 46, bytestream -5 [h264 @ 0x5585cefa1980] concealing 8252 DC, 8252 AC, 8252 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packette=81708307.7kbits/s dup=4 drop=16 speed=2.22e-05x [rtsp @ 0x5585cee25a00] RTP: missed 25 packets [h264 @ 0x5585ceeda300] error while decoding MB 87 7, bytestream -5 [h264 @ 0x5585ceeda300] concealing 14746 DC, 14746 AC, 14746 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packette=19895.5kbits/s dup=5 drop=17 speed=0.0947x [rtsp @ 0x5585cee25a00] RTP: missed 39 packets [h264 @ 0x5585cefa1980] error while decoding MB 32 7, bytestream -5 [h264 @ 0x5585cefa1980] concealing 14801 DC, 14801 AC, 14801 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packette=9909.6kbits/s dup=6 drop=17 speed=0.19x [rtsp @ 0x5585cee25a00] RTP: missed 447 packets [h264 @ 0x5585ceeda300] error while decoding MB 98 64, bytestream -5 [h264 @ 0x5585ceeda300] concealing 5159 DC, 5159 AC, 5159 MV errors in P frame Past duration 0.749992 too large [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 32 packets [h264 @ 0x5585ceee1860] error while decoding MB 86 84, bytestream -9 [h264 @ 0x5585ceee1860] concealing 1811 DC, 1811 AC, 1811 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 71 packets [h264 @ 0x5585cefa1980] error while decoding MB 126 88, bytestream -5 [h264 @ 0x5585cefa1980] concealing 1099 DC, 1099 AC, 1099 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 15 packets [h264 @ 0x5585ceeda300] error while decoding MB 116 89, bytestream -5046.2kbits/s dup=6 drop=17 speed=0.209x [h264 @ 0x5585ceeda300] concealing 941 DC, 941 AC, 941 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 45 packets [h264 @ 0x5585cefa1980] error while decoding MB 84 57, bytestream -7 [h264 @ 0x5585cefa1980] concealing 6349 DC, 6349 AC, 6349 MV errors in P frame frame= 66 fps=7.0 q=-1.0 Lsize= 2409kB time=00:00:04.20 bitrate=4699.1kbits/s dup=6 drop=17 speed=0.448x video:2408kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.069726% [libx264 @ 0x5585ceee9f60] frame I:1 Avg QP:19.26 size:429876 [libx264 @ 0x5585ceee9f60] frame P:17 Avg QP:21.33 size: 90299 [libx264 @ 0x5585ceee9f60] frame B:48 Avg QP:25.75 size: 10411 [libx264 @ 0x5585ceee9f60] consecutive B-frames: 1.5% 3.0% 4.5% 90.9% [libx264 @ 0x5585ceee9f60] mb I I16..4: 10.0% 38.4% 51.6% [libx264 @ 0x5585ceee9f60] mb P I16..4: 0.2% 0.5% 0.3% P16..4: 32.3% 9.9% 15.5% 0.0% 0.0% skip:41.3% [libx264 @ 0x5585ceee9f60] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 30.7% 2.7% 0.9% direct: 1.2% skip:64.5% L0:45.6% L1:52.4% BI: 2.0% [libx264 @ 0x5585ceee9f60] 8x8 transform intra:39.8% inter:31.6% [libx264 @ 0x5585ceee9f60] coded y,uvDC,uvAC intra: 72.1% 32.3% 8.3% inter: 9.9% 1.7% 0.0% [libx264 @ 0x5585ceee9f60] i16 v,h,dc,p: 13% 49% 25% 14% [libx264 @ 0x5585ceee9f60] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 64% 10% 11% 2% 2% 2% 2% 2% 3% [libx264 @ 0x5585ceee9f60] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 31% 20% 15% 5% 4% 7% 4% 8% 5% [libx264 @ 0x5585ceee9f60] i8c dc,h,v,p: 65% 13% 20% 3% [libx264 @ 0x5585ceee9f60] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x5585ceee9f60] ref P L0: 72.3% 4.5% 19.6% 3.6% [libx264 @ 0x5585ceee9f60] ref B L0: 90.0% 7.7% 2.3% [libx264 @ 0x5585ceee9f60] ref B L1: 93.4% 6.6% [libx264 @ 0x5585ceee9f60] kb/s:4481.23 root@openmediavault ~ >
Allerdings immer noch einige ERROR und andere suspekte Einträge im log:
error while decoding MB 126 88, bytestream -5 [h264 @ 0x5585cefa1980] concealing 1099 DC, 1099 AC, 1099 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 15 packets [h264 @ 0x5585ceeda300] error while decoding MB 116 89, bytestream -5046.2kbits/s dup=6 drop=17 speed=0.209x [h264 @ 0x5585ceeda300] concealing 941 DC, 941 AC, 941 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 45 packets [h264 @ 0x5585cefa1980] error while decoding MB 84 57, bytestream -7
-
So, Scale mal angepasst:
!
root@openmediavault ~ > ffmpeg -y -i rtsp:xxx:xxx_18@192.168.178.210:554/12 -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -vf scale=w=2688:h=1538:force_original_aspect_ratio=decrease -r 15 /opt/iobroker/out2.mp4 ffmpeg version 3.2.10-1~deb9u1~bpo8+1 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 4.9.2 (Debian 4.9.2-10) configuration: --prefix=/usr --extra-version='1~deb9u1~bpo8+1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --disable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared libavutil 55\. 34.101 / 55\. 34.101 libavcodec 57\. 64.101 / 57\. 64.101 libavformat 57\. 56.101 / 57\. 56.101 libavdevice 57\. 1.100 / 57\. 1.100 libavfilter 6\. 65.100 / 6\. 65.100 libavresample 3\. 1\. 0 / 3\. 1\. 0 libswscale 4\. 2.100 / 4\. 2.100 libswresample 2\. 3.100 / 2\. 3.100 libpostproc 54\. 1.100 / 54\. 1.100 [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 113 packets [h264 @ 0x5585cee28d00] left block unavailable for requested intra mode [h264 @ 0x5585cee28d00] error while decoding MB 0 33, bytestream 17500 [h264 @ 0x5585cee28d00] concealing 10465 DC, 10465 AC, 10465 MV errors in I frame Input #0, rtsp, from 'rtsp:xxx:xxx_18@192.168.178.210:554/12': Metadata: title : Media Presentation Duration: N/A, start: 0.300000, bitrate: N/A Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 2688x1520 [SAR 1:1 DAR 168:95], 20 fps, 20 tbr, 90k tbn, 40 tbc [swscaler @ 0x5585cef82520] deprecated pixel format used, make sure you did set range correctly [libx264 @ 0x5585ceee9f60] using SAR=1/1 [libx264 @ 0x5585ceee9f60] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 LZCNT [libx264 @ 0x5585ceee9f60] profile High, level 5.0 [libx264 @ 0x5585ceee9f60] 264 - core 142 r2431 a5831aa - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - 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=15 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 '/opt/iobroker/out2.mp4': Metadata: title : Media Presentation encoder : Lavf57.56.101 Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 2688x1520 [SAR 1:1 DAR 168:95], q=-1--1, 15 fps, 15360 tbn, 15 tbc Metadata: encoder : Lavc57.64.101 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Press [q] to stop, [?] for help [h264 @ 0x5585ceeda300] left block unavailable for requested intra mode [h264 @ 0x5585ceeda300] error while decoding MB 0 33, bytestream 17500 [h264 @ 0x5585ceeda300] concealing 10465 DC, 10465 AC, 10465 MV errors in I frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packete=N/A dup=0 drop=8 speed= 0x [rtsp @ 0x5585cee25a00] RTP: missed 110 packets [h264 @ 0x5585ceee1860] error while decoding MB 67 65, bytestream -5 [h264 @ 0x5585ceee1860] concealing 5022 DC, 5022 AC, 5022 MV errors in P frame Past duration 0.749992 too large 0kB time=00:00:00.00 bitrate=N/A dup=4 drop=11 speed= 0x [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 22 packets [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 1 packets [h264 @ 0x5585ceeda300] left block unavailable for requested intra4x4 mode -1 [h264 @ 0x5585ceeda300] error while decoding MB 0 33, bytestream 146621 [h264 @ 0x5585ceeda300] concealing 10465 DC, 10465 AC, 10465 MV errors in I frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 5 packets [h264 @ 0x5585ceeda300] error while decoding MB 15 66, bytestream -11 [h264 @ 0x5585ceeda300] concealing 4906 DC, 4906 AC, 4906 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packete=N/A dup=4 drop=15 speed= 0x [rtsp @ 0x5585cee25a00] RTP: missed 62 packets [h264 @ 0x5585cefa1980] error while decoding MB 29 46, bytestream -5 [h264 @ 0x5585cefa1980] concealing 8252 DC, 8252 AC, 8252 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packette=81708307.7kbits/s dup=4 drop=16 speed=2.22e-05x [rtsp @ 0x5585cee25a00] RTP: missed 25 packets [h264 @ 0x5585ceeda300] error while decoding MB 87 7, bytestream -5 [h264 @ 0x5585ceeda300] concealing 14746 DC, 14746 AC, 14746 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packette=19895.5kbits/s dup=5 drop=17 speed=0.0947x [rtsp @ 0x5585cee25a00] RTP: missed 39 packets [h264 @ 0x5585cefa1980] error while decoding MB 32 7, bytestream -5 [h264 @ 0x5585cefa1980] concealing 14801 DC, 14801 AC, 14801 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packette=9909.6kbits/s dup=6 drop=17 speed=0.19x [rtsp @ 0x5585cee25a00] RTP: missed 447 packets [h264 @ 0x5585ceeda300] error while decoding MB 98 64, bytestream -5 [h264 @ 0x5585ceeda300] concealing 5159 DC, 5159 AC, 5159 MV errors in P frame Past duration 0.749992 too large [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 32 packets [h264 @ 0x5585ceee1860] error while decoding MB 86 84, bytestream -9 [h264 @ 0x5585ceee1860] concealing 1811 DC, 1811 AC, 1811 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 71 packets [h264 @ 0x5585cefa1980] error while decoding MB 126 88, bytestream -5 [h264 @ 0x5585cefa1980] concealing 1099 DC, 1099 AC, 1099 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 15 packets [h264 @ 0x5585ceeda300] error while decoding MB 116 89, bytestream -5046.2kbits/s dup=6 drop=17 speed=0.209x [h264 @ 0x5585ceeda300] concealing 941 DC, 941 AC, 941 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 45 packets [h264 @ 0x5585cefa1980] error while decoding MB 84 57, bytestream -7 [h264 @ 0x5585cefa1980] concealing 6349 DC, 6349 AC, 6349 MV errors in P frame frame= 66 fps=7.0 q=-1.0 Lsize= 2409kB time=00:00:04.20 bitrate=4699.1kbits/s dup=6 drop=17 speed=0.448x video:2408kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.069726% [libx264 @ 0x5585ceee9f60] frame I:1 Avg QP:19.26 size:429876 [libx264 @ 0x5585ceee9f60] frame P:17 Avg QP:21.33 size: 90299 [libx264 @ 0x5585ceee9f60] frame B:48 Avg QP:25.75 size: 10411 [libx264 @ 0x5585ceee9f60] consecutive B-frames: 1.5% 3.0% 4.5% 90.9% [libx264 @ 0x5585ceee9f60] mb I I16..4: 10.0% 38.4% 51.6% [libx264 @ 0x5585ceee9f60] mb P I16..4: 0.2% 0.5% 0.3% P16..4: 32.3% 9.9% 15.5% 0.0% 0.0% skip:41.3% [libx264 @ 0x5585ceee9f60] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 30.7% 2.7% 0.9% direct: 1.2% skip:64.5% L0:45.6% L1:52.4% BI: 2.0% [libx264 @ 0x5585ceee9f60] 8x8 transform intra:39.8% inter:31.6% [libx264 @ 0x5585ceee9f60] coded y,uvDC,uvAC intra: 72.1% 32.3% 8.3% inter: 9.9% 1.7% 0.0% [libx264 @ 0x5585ceee9f60] i16 v,h,dc,p: 13% 49% 25% 14% [libx264 @ 0x5585ceee9f60] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 64% 10% 11% 2% 2% 2% 2% 2% 3% [libx264 @ 0x5585ceee9f60] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 31% 20% 15% 5% 4% 7% 4% 8% 5% [libx264 @ 0x5585ceee9f60] i8c dc,h,v,p: 65% 13% 20% 3% [libx264 @ 0x5585ceee9f60] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x5585ceee9f60] ref P L0: 72.3% 4.5% 19.6% 3.6% [libx264 @ 0x5585ceee9f60] ref B L0: 90.0% 7.7% 2.3% [libx264 @ 0x5585ceee9f60] ref B L1: 93.4% 6.6% [libx264 @ 0x5585ceee9f60] kb/s:4481.23 root@openmediavault ~ > !
Allerdings immer noch einige ERROR und andere suspekte Einträge im log:
error while decoding MB 126 88, bytestream -5 [h264 @ 0x5585cefa1980] concealing 1099 DC, 1099 AC, 1099 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 15 packets [h264 @ 0x5585ceeda300] error while decoding MB 116 89, bytestream -5046.2kbits/s dup=6 drop=17 speed=0.209x [h264 @ 0x5585ceeda300] concealing 941 DC, 941 AC, 941 MV errors in P frame [rtsp @ 0x5585cee25a00] max delay reached. need to consume packet [rtsp @ 0x5585cee25a00] RTP: missed 45 packets [h264 @ 0x5585cefa1980] error while decoding MB 84 57, bytestream -7 ```` `
Das sieht schon besser aus, versuche die out2.mp4 abzuspielen
Errors kannst erstmal ignorieren.
–-
2688x1538 ziemlich riesig. Es gibt normalerweise eine zweite url mit geringerem Auflösung, wird eventuell besser durch kommen.
-
EDIT: OK andere Frage. Testen kann ich das ja auf der Commandline aber wie bekomme ich raus mit welchen Einstellungen meine Camera funktioniert? `
Habe gerade gesehen im log deine richtige Auflösung, FPS und das problem mit Scaling.
Versuche mal so:
ffmpeg -y -i rtsp:xxx:xxx_18@192.168.178.210:554/12 -t 5 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -vf scale=w=1344:h=760:force_original_aspect_ratio=decrease -r 20 /opt/iobroker/out2.mp4
-
Hey DANKE!
Das funktioniert schon mal. Jetzt auch mal mit dem Substream probiert das geht nochmal schneller und auf dem Handy Display ist die Qualität auch OK denke ich.
Mirko
-
Hey DANKE!
Das funktioniert schon mal. Jetzt auch mal mit dem Substream probiert das geht nochmal schneller und auf dem Handy Display ist die Qualität auch OK denke ich.
Mirko `
Ja, ich denke auch. Habe selbst 640x360 was ca. 120-125kb wiegt und reicht vollkommen.
-
Hallo wendy
folgende Zeile im script ändern
// sofort ein Bild senden und nach 10 Sek erneut
function onEvent() {
saveImage();
setTimeout(function() { saveImage(); }, 10 * 1000);
}
// sofort ein Bild senden und nach 3 Sek erneut
function onEvent() {
saveImage();
setTimeout(function() { saveImage(); }, 3 * 1000);
setTimeout(function() { saveImage(); }, 6 * 1000);
setTimeout(function() { saveImage(); }, 9 * 1000);
}
Gruß Stephan `
Habe es mal so eingetragen und prinzipiell läuft es.
Hier mein aktuelles Script:
// ------------------------------------------------------------------------- // Dieses Script überwaht den Zustand eines Bewegungsmelders und speichert bei // Aktivierung ein Bild einer Überwachnungskamera in einem Vereichnis und sendet // dieses via Telegram.0-Adapter. Nach 10 Sek wird ein weiteres Bild erstellt und // gesendet. // Die Speicherung der Bilder erfolgt als "Stack", d.h. das aktuellste Bild bekommt // immer den Suffix "0" und es werden n Bilder mit den Suffixen 1..n-1 vorgehalten // Uhula 2017.11 // ------------------------------------------------------------------------- // ------------------------------------------------------------------------- // Konfiguration // ------------------------------------------------------------------------- // Objekt-ID des Bewegungsmelders const oidLichtBewmelderTuer = "hm-rpc.0.PEQ0390697.1.MOTION"; // URL zur Kamera umn ein Image (jpg) zu erhalten const cam_url = "http://xxx:xxx@192.168.178.210/Streaming/channels/1/picture"; // Pfadangabe für die Speicherung der Bilder, der Pfad muss existieren const dest_path = '/opt/iobroker/iobroker-data/files/_temp/'; // Anzahl der Bilder, die vorgehalten werden sollen const imageCountMax = 8; // Prefix für die Bildnamen const imageNamePre = "eingangstuer_"; // ------------------------------------------------------------------------- // Scriptteil // ------------------------------------------------------------------------- var request = require('request'); var fs = require('fs'); // Bild an telegram schicken function sendImage (path) { try { var stats = fs.statSync(path); var msg = formatDate(stats.birthtime,"DD.MM.YYYY hh:mm:ss") + " " + path.substring(path.lastIndexOf('/')+1); sendTo('telegram.0', { text: path, caption: msg, disable_notification: true, user: 'Mirko', }); sendTo('telegram.0', { text: path, caption: msg, disable_notification: true, user: 'xxxx', }); } catch(err) { if (err.code != "ENOENT") log(err); } } // löscht eine Datei synchron (wartet auf das Ergebnis) function fsUnlinkSync(path) { try { var stats = fs.statSync(path); try { fs.unlinkSync(path); } catch(err) { if (err.code != "ENOENT") log(err); } } catch(err) { if (err.code != "ENOENT") log(err); } } // benennt eine Datei synchron um (wartet auf das Ergebnis) function fsRenameSync(oldPath, newPath) { try { var stats = fs.statSync(oldPath); try { fs.renameSync(oldPath, newPath); } catch(err) { if (err.code != "ENOENT") log(err); } } catch(err) { if (err.code != "ENOENT") log(err); } } // Bild speichern und senden function saveImage() { // Bild imageCountMax-1 löschen fsUnlinkSync( dest_path + imageNamePre + (imageCountMax-1) + ".jpg" ); // Bilder 0..imageCountMax-2 umbenennen for (var i=imageCountMax-4; i >= 0; i-- ) { fsRenameSync(dest_path + imageNamePre + i + ".jpg", dest_path + imageNamePre + (i+1) + ".jpg"); } // Bild 0 löschen var fname = imageNamePre + "0.jpg"; fsUnlinkSync( fname ); // Bild holen und speichern request.get({url: cam_url, encoding: 'binary'}, function (err, response, body) { fs.writeFile(dest_path + fname, body, 'binary', function(err) { if (err) { log('Fehler beim Bild speichern: ' + err, 'warn'); } else { // dem Filesystem 2 Sek Zeit zum Speichern lassen setTimeout(function() { sendImage(dest_path + fname); }, 4000); } }); }); } // sofort ein Bild senden und nach 3 Sek erneut //function onEvent() { // saveImage(); // setTimeout(function() { saveImage(); }, 10 * 300); //} // sofort ein Bild senden und nach 3 Sek erneut function onEvent() { saveImage(); setTimeout(function() { saveImage(); }, 3 * 1000); setTimeout(function() { saveImage(); }, 6 * 1000); setTimeout(function() { saveImage(); }, 9 * 1000); } // Ereignisroutine //on({id: oidLichtBewmelderTuer, val: true}, function (obj) { // onEvent( obj ); on({id: 'hm-rpc.0.PEQ0390697.1.MOTION', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hm-rpc.0.PEQ0390697.1.MOTION").val === true && getState("hm-rpc.0.NEQ1110202.1.STATE").val === false) onEvent( obj ); }); // manuelle Ausführung (Test) onEvent();
Ich erhalte 4 Bilder, davon sind die letzten beiden Bilder aber identisch zu erkennen am exact gleichen Zeitstempel den die Camera einblendet.
Jemand dazu noch eine Idee?
Danke und Gruß
Mirko
-
Warum baust du es nicht um auf Blockly? Beispiele sind ja im Beitrag.
-
Ich denke das wenn ich genauso in Blockly umbaue… ich am Ende immer noch das Problem mit dem doppelten Bild habe.
Allerdings habe ich gerade einen Wert im Script geändert und die ersten Versuche sehen gut aus.
setTimeout(function() { sendImage(dest_path + fname); }, 4000);
–>
setTimeout(function() { sendImage(dest_path + fname); }, 2000);
-
Ich versende stamt Bild eine kleine mp4 Datei die als Gif bei Telegram ankommt. `
Hmm .. bei mir kommt leider nur ein Standbild an .. wobei ich zugegebermaßen die Aussage auch nicht ganz begreife. Es soll aus der mp4 ein animated Gif mit 256 Farben gerendert und versendet werden? Erkennt man da nohc was?
VG
-
Ja,man erkennt noch sehr gut etwas.
Gesendet von iPad mit Tapatalk Pro
-
Ja,man erkennt noch sehr gut etwas.
Gesendet von iPad mit Tapatalk Pro `
stimmt .. hab's jetzt auch hinbekommen .. was doof ist .. ist die Wartezeit die man einstellen muss, damit der Clip zuverlässig zugestellt wird (sonst erhält man den letzten) .. muss mal überlegen ob das irgendwie anders geht.
-
Gib den Befehl auf der Konsole ein und schau wie lange das Speichern dauert. Dann kannst du die Wartezeit so sehr kurz einstellen.
-
@Brainbug:Gib den Befehl auf der Konsole ein und schau wie lange das Speichern dauert. Dann kannst du die Wartezeit so sehr kurz einstellen. `
hab ich so gemacht .. schöner wäre ein Erkennen wass die Datei zuende geschrieben ist
-
Das geht, als Beispiel habe ich ein Objekt unter javascript angelegt mit dem Namen film. Den simpleAPI Adapter musst du installiert haben.
Per ssh einlogen und ein bash Script anlegen mit folgendem Inhalt:
#!/bin/bash wget -qO- http://iobroker_ip:8087/set/javascript.0.film?value=true &> /dev/null ffmpeg -y -i http://user:passwort@192.255.255.255/Streaming/channels/1/httpPreview -t 10 -f mp4 -vcodec libx264 -pix_fmt yuv420p -an -vf scale=w=640:h=360:force_original_aspect_ratio=decrease -r 20 /opt/iobroker/cam/film.mp4 wget -qO- http://iobroker_ip:8087/set/javascript.0.film?value=false &> /dev/null
Dieses Script ausführbar machen: chmod +x /pfad/zu_deinem_script
Nun solltest du noch dein Script/Blockly abändern damit das bash Script gestartet wird. Somit wird das Objekt film geändert und du könnest darauf triggern. Du musst natürlich die Pfade und IP Adressen im Script anpassen!
Ich hoffe ich habe es verständlich erklärt.. :oops:
-
cool danke .. werde ich asap probieren und "Erfolg" oder "Hilfe' rufen
Gesendet von meinem BLA-L29 mit Tapatalk
-
@Brainbug:Das geht, als Beispiel habe ich ein Objekt unter javascript angelegt mit dem Namen film. Den simpleAPI Adapter musst du installiert haben.
Per ssh einlogen und ein bash Script anlegen mit folgendem Inhalt:
*snip `
Sehr cool .. vielen Dank .. eine Frage .. was macht "-qO-"? .. Hab mal nur "-q" draus gemacht .. falsch?
-
Dann wird eine Datei angelegt anstatt nur die URL aufzurufen. Müsstest sehen in dem Verzeichnis in dem du das Script ausführst.