From 00097d335780790d8171d6925f208b029265103a Mon Sep 17 00:00:00 2001 From: bel Date: Sun, 1 Sep 2024 11:29:29 -0600 Subject: [PATCH] 15min ago --- .../.movement_detection_via_api_ffmpeg.sh.swp | Bin 12288 -> 0 bytes .../movement_detection_via_api_ffmpeg.sh | 20 ++++++++++++------ 2 files changed, 13 insertions(+), 7 deletions(-) delete mode 100644 testdata/moonfire-nvr/.movement_detection_via_api_ffmpeg.sh.swp diff --git a/testdata/moonfire-nvr/.movement_detection_via_api_ffmpeg.sh.swp b/testdata/moonfire-nvr/.movement_detection_via_api_ffmpeg.sh.swp deleted file mode 100644 index 5a24411f586a97ca0b472e2457f336695d9ef668..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI2O^@3|7{{l)wY-#9apN$XO`2pkwv!ZSo8o0lfwoc?s&0$KW~1QPp$EJ;kO5@-ybKvn6ZIuf4~uiQOKLkM&kkfK1&Q5XF`L=wz1<0 zW*N3EMuuQqIF_&sKMVuci!k|0ytgaP#UDx#^wxjd@17=i@ z6#+#cAutrKcKk3o+HBP2{c>T6zVh;A1xFE31QY>9KoL*`6ahs*5l{pkAp#;gKt4yj zk4<7;pPUcOohP^IqzEViihv@Z2q*%IfFhs>C<2OrBA^H;0uLbp%OT{eCkeUv6r9KZ z|JNrm{PzMOcc6cu8_*|E7utYI&}+~W(5>eQ`3@RD7og+N67(wc%V9!(hTerls46ht5N5kO>u_+fNhn1GEd3pj(G92Xq7a2J)c+ z^!GtRzJ$Jju0cM;ARFpIThJM34Z4H4|AlTtzd=7i35$ntEtSiPfFhs>JR$^Kk5Ec| z%L{0sxLzQhOWU}r7pQ6C{LZP(v)#=PFJCxQz@lEvFJAGuq~hKUeFJHruPO`6ncSRx*hssqqrAYqQ7j63+a@w#rvKsq|rfW zTLUVen}uSdK=7VgrAqfEQ#xV5WG@`KOWdVVBoE{Vv-=?pLeckv9g?*ov?bb>(e3%x zwXQp`gkS-4y4((9w!EUlp*8tb^kc^R;lN4TI{R^FmQpVl7%_{LWNsLlGtb-Woz@$z z;@K$K=x$YP~JE1uS=lkc^Ls*F7_HcQ4Isit<%VlCE@dFG<=Yt30jQIy$~j z_Vk(M$n0s(WKzzlMd4@m#|wj=&tkKZPtA0Lq$V<-3q>#BQTh_9%u8$c3N7zNF)9Ns ze(?S{NqOebGB@-U(=f`_oQtW&sR5bu=?kn>^Qa;G$Z&N(dYx(`7Z%t6^Oz_B6+d(; z!FH{T)rojXUm3$}ZSs6aunMA*BcR zk`+$r<<>Wk&PJHYE6u|585m_{a-P?0c5UnR zYjTF#>@zvWre!_zgtt40ysdL##p0Y(qxw!9?qWr7m9$*~rxW!nopRog4EjDXPpxNz zWWC6m)3Q17d9v}-{FA>bWP6@LHW?h9#5_UW?&vaktkV^I XR54CQl>Q!BUZO_N3yhwH_vilyuRZ)_ diff --git a/testdata/moonfire-nvr/movement_detection_via_api_ffmpeg.sh b/testdata/moonfire-nvr/movement_detection_via_api_ffmpeg.sh index 8546bac..a3c19ac 100644 --- a/testdata/moonfire-nvr/movement_detection_via_api_ffmpeg.sh +++ b/testdata/moonfire-nvr/movement_detection_via_api_ffmpeg.sh @@ -1,8 +1,8 @@ #! /bin/bash main() { - local one_hour_ago_unix="$(($(date +%s) - 60 * 60))" - local one_hour_ago_ts="$(date -d @$one_hour_ago_unix -u +%Y-%m-%dT%H:%M:%SZ)" + local nonrecent_unix="$(($(date +%s) - 15 * 60))" + local nonrecent_ts="$(date -d @$nonrecent_unix -u +%Y-%m-%dT%H:%M:%SZ)" for uuid in $( api /api/ | jq -r .cameras[].uuid @@ -15,15 +15,21 @@ main() { | jq -r .[0] \ | sort -n #-r ); do - api "/api/cameras/$uuid/$stream/view.mp4?s=$recording&ts=true" > /tmp/f.mp4 - - local ts="$(ffprobe /tmp/f.mp4 2>&1 | grep creation_time | tail -n 1 | awk '{print $NF}' | sed 's/\.000000Z/Z/')" - if [[ "$ts" > "$one_hour_ago_ts" ]]; then - echo "$ts > $one_hour_ago_ts, skipping" + local ts="$(date -u -d @"$( + api "/api/cameras/$uuid/$stream/view.mp4.txt?s=$recording&ts=true" \ + | grep -A 1 last_modified: \ + | head -n 2 \ + | tail -n 1 \ + | awk '{print $NF}' \ + | tr -d ',' + )" +%Y-%m-%dT%H:%M:%SZ )" + if [[ "$ts" > "$nonrecent_ts" ]]; then + echo "$ts > $nonrecent_ts, so skipping" continue fi echo uuid=$uuid stream=$stream recording=$recording ts=$ts + api "/api/cameras/$uuid/$stream/view.mp4?s=$recording&ts=true" > /tmp/f.mp4 local fps=$(ffprobe -i /tmp/f.mp4 2>&1 | grep -o '[0-9]*\.*[0-9]* fps' | head -n 1 | awk '{print $1}') local inspection="$(ffmpeg -i /tmp/f.mp4 -vf 'select=not(mod(n\,'${fps%.*}')),select=gte(scene\,0),metadata=print:file=-' -an -f null - 2> /dev/null | paste - -)"