From 182e3698b78a4edf5632ddf1bc907e512be510f6 Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Tue, 28 Mar 2023 15:28:27 +0200 Subject: [PATCH] alternative fps counter --- bin/__pycache__/handler.cpython-310.pyc | Bin 7099 -> 7086 bytes bin/handler.py | 41 ++++++++++++------------ 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/bin/__pycache__/handler.cpython-310.pyc b/bin/__pycache__/handler.cpython-310.pyc index 49d43d7553b7b91634e9ac930b5d3b02dffdd3bf..991859e675bbbb84554d09ab103bf746d89e2888 100644 GIT binary patch delta 1597 zcmaJ>&1)M+6rY*>&}yZXELl+`*|9AvR^mkYXcO#yq_ngS^bkrREp1(bP%|r|*xpq} zYl_?rOIUj9MX;Ab5J-n!3N3`t9@1+sz4s&tJ@nXrAeTVjo0VO=7~3#AZ{F|s-tWD6 zquB`Oh-{^{M3~14AQZ-|)zY`s4u{Q%XJ~PEsYF($7(X|6dS?evKG) zr2P-0_iINnUV_sQA^^(ZY@3N&T=9}%nIU~bxQcA}YD0+AOgR;>1B2@T{P-9!F$Ee^ zpbmkP7?_)P3CKu;KZR1^JcZ|5kg{okCxgr}l+w(?E<2jxX~fBWZVbh6;5PGUZ;*Q% zJ_(w$K2gboJh#>fi(Rp#9{^;H3b2A^SZ9w^kdam8LpnOcvtz7nW|+W455GBul{}LOQ0rP$qF*;K3GFMsxg(ta;u$2X;2Z`WN?m$dV4T$Vpk1g;*#* z-@N2qMsP@BAZ|ZO@bl4k>6Mlhw^+_ZV?ZAcd>qO;w@PH2LAqbSvVdVeg87E|Y52)Q z?2q7Eg~?Ii+wiHcN^TJ>qb;u+;ysRX){P*+SB}fu&p{Jz0utXzJ#KaKYdaNPS7dK#{#4)c4{0oP1;`fI4BZmx7mk|}52s`byU4#%-zKT~TgTW(*V4w3# zcn&GCl_>ej~$?ElwqU~(Q6cm2k zL>`vt&+JM*(es4e+U-pYz9(8<$91CLGgqRgnSxR_&FE#O_v~f%DvQ3)Z={OI)N!dq zFY>RcO4sd1*6fY@6TRKu?b=%ttt;HGY>@=aMA@=E(Li(wmQB4aTDx{{q6v4;;S;UB zrbq&$Vh_9Xd9ziZzX!WElZ$7#F0iRyKB?TOagvF&d3-t1qDsnNTI*Bd5Xqif7$ z2GyBPD{6+NDWgj?Lk*gz%apy!Xc@55)MU?s!gVe62Fj4~Z${6{=k)i{{vdi$u9Vks z`xY)(*=C~M*|FU{PrMz?RPNEgBd7Ay!aL}`h3@oy*J*dQx-HSOg^*#cMQ_eMrXT(b D05^k0 delta 1562 zcmaJ>&ube;6rS1Du2$0SDwbtSTFJ8FSazJqjUBgE52cj0A-7UUAyg2A(pf1=tzCJv zrj=L_?NSOoiB4}uVRf$yC5Ik*YX5@vs!O1^K>mf4zL`~wQ-USfd2inL-uvE<-Cydz z*A3S&k_diJo^Oype>I%MSXU78P>4OrmjXP)1Q$>!6KRHh)QtJ)aV%7bEHrhY#e^0g zS>O}dl^G5=Uh@)gqY>mK`59oM=FxXj0SRmBK5~jNvu^1Z9xQ(Xa%e za=1Q&wi4dA3b%cX9^3)>s*hsmafN7gBt@1y0ZJ20b7O#&!VMnsl-G3iLJcKRS0%vV zHL^D2)s?4lPU-l?C0^^7dc8{g9sz>QO=njoz^=JTGW#8-7YANcM=tOOT zkAL*zJOa`3NOa^kUK;yb&sBd0X$M*(!&&pO9}~z;(DH532JjA;VH}JNvh{lI(Gt}0 zHX!*bY)5s78|4&Ts3|*2o|MmkemD-Qr6())OUR#e6DRz;T43PhRFfVh=2z^ZshdV!s*rA$4qz-UO+kM)4X-*J- using fallback method to get framerate' ) - self.framerate = round(float(self.frames) / float(self.duration), 1) - - - print( '==> Video duration is: ', self.duration, 's' ) - print( '==> Framecount is: ', self.frames, ' frames' ) - print( '==> Frame rate is: ', self.framerate, ' FPS' ) - print( '==> Running with: ', threads, ' threads\n\n' ) - - time.sleep( 2 ); - + # Splitting video into frames try: shutil.rmtree(self.tmppath) @@ -155,6 +136,26 @@ class Handler: self.maxlength = 31900 self.pos = 1 + + # Retrieving Video metadata + self.videometa = ffmpeg.probe(str(filepath))["streams"].pop(0) + + self.duration = self.videometa.get( 'duration' ) + self.frames = len( self.filelist ) + try: + self.framerate = round(float(self.frames) / float(self.duration), 1) + except TypeError: + print( '\n\n=> using fallback method to get framerate' ) + self.infos = str( self.videometa.get( 'r_frame_rate' ) ) + self.framerate = float( self.infos[:len(self.infos) - 2] ) + + print( '\n\n==> Video duration is: ', self.duration, 's' ) + print( '==> Framecount is: ', self.frames, ' frames' ) + print( '==> Frame rate is: ', self.framerate, ' FPS' ) + print( '==> Running with: ', threads, ' threads\n\n' ) + + time.sleep( 2 ); + try: os.mkdir(f"{self.tmppath}sc") except FileExistsError: