From 79cbe7c227975a05043cb389f388558acc1f97c8 Mon Sep 17 00:00:00 2001
From: jeje <jeremy.rioux@student-cs.fr>
Date: Wed, 26 Mar 2025 14:55:48 +0100
Subject: [PATCH] le direct marche

---
 .../__pycache__/video_manager.cpython-311.pyc | Bin 5804 -> 5816 bytes
 Objet/main.py                                 |   2 +-
 Objet/video_manager.py                        |  38 +++++++++---------
 3 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/Objet/__pycache__/video_manager.cpython-311.pyc b/Objet/__pycache__/video_manager.cpython-311.pyc
index c623ba62a664db4291ff0bcd6d3ac8e8a776ffc8..8643a0c9f14decf6e2fac57215d802b78fa5b6b9 100644
GIT binary patch
delta 2031
zcmaJBU1(Eh^!sjZ`jgz7q)pN!ZBvspZJKCjTWqJU&JH6pt@y(V6H!9!jbi3c`Eo0>
zq|}#<J`{<3g~^bSO3^y|;MfLx^=%Iha^;R?9UTrf#$b$$?a7C+bCTZMmdQSnbI*7F
z&v$;-`oHRzAIh?gz!?;OzLfh+=9Dh-WvcFt7D$dF1CJuSC*YR_R4ab#CucD*#lmk3
z9n{X>YHkxs4SY~=TZk(1qT|pGBL7x6oKVC9N!tz8f&e$kypfz};3XOD@YkB1{F$XW
z;4tVAn2FzVs=N3fmN@Sgz5G+B<j=Ki6En@`TKOrl!)~gn+aq;Cq=ph9IX6FLiTOMR
zMcr*+!1MAKvfrO>Gf4ks?oay+Cd9cNH<f1Ly&-3>DQAJ3pI@{38<fi|JEihP>uDO`
zKUxQQyy1riRAdouYrIZVe75n3W5d_3`(mq9^Cfg&;`3h{p9zi#2(63LS28!_0_)~a
zZ9dw=zqj?#1Q+bLX^h{o54+LjBg(qrlgHYI7|7TYzJo}>$GSx-Zr{>@g}HK5CyViR
zX|j7Ckiq0G_^dbQ)$7w~_43s$8$lJr#vQ4P9^y}=PVn=MbR$yJv9J)x)D+nP#CE7;
z<q#d?AIf|7$AC9wb{bq7;E$d4*FEUDkKn0taH$`K*88wXnS;NSdXJ}TZHY_}+m4&9
zx%t|r1GRb6R$a$z=X%#dFPKdN^=`smkWCHL<pU01rZzEXXBPAyfbGYo{W)5o5R0jU
z{^tbM>;#BZ*r|~u=hZprf!tOslF|9|=OC#$92nUMyCCLm3J#4KC?yJchp0|N0s=R2
zFuSEmaxOz=$DC|YTMhn2;Q@Gl%+sQj+GgN=x|Nw?nFY?2kT!E&oWVfArD26A;^yM$
zEs&CXGpm;Q0{MSKXa@gr>j~Bb#wLHm_hslP?qRq)>U|YPEQA0PX80lulVRA*EQp{B
z0j9NXWtnT2vJ5J5fG|IjaUNJZg4&FAAl3<By=7)v$*9@%MV7gmO=mOtn{jJxZ1^Xx
zpf`#l7M4}>Sg{Zu7$nWLXZ{G>^P>>!E%L(dTs(aD(sO%{X7AYuMOT`a?JM?$q%H+3
z{!ZN=Urnx^)ckKOBo|W~;b>`c<;=r#_s@OVtq-NNo^icrTnkU=;R)2}+6ab9o|VAr
z<k}f6Jgfyr^x(+CiAo^08r2h{T3~cx{1<Qg-T8x>w^#S}R!M{0R|7>_iS(}YJ?y{V
zzr1&4?;U5+Qk+~mTk*A5iO|ws2}O&^rBuZeC>|{y1uyr`u8M26CzD^K_2Kcalh01-
z$1jxkO=&?z4=P1*$yRZB%C3m+ij*>%D^^DVR%P^<s`+&hN9$s`)bw2LE6aTq$@QHS
zc`ijXDXL4+vJ?eMS?YqUN?}dvuA>0qSG5vH9CTpyG`5x}YHOsaUR9i*deLg7eMQl5
z@1YP@Cy%QDtAd0v0DQn5qG$MN_c2&eAG=3dhLN*lBmLy=r04lR?lzF{dUg-=qQnq_
z*Ad{3WTOa@2*wb+4d4-BxWS+Sracj7o3*1#OfbZkJ)=&yHCiPmNbui132@=_4$@sb
z<sG7NUhsya$G`|Q)yy?Ef#&Kq0ejgrdiA<8b0zyGdzU};elT!?(m<8G8va?M|Gk}i
Lf!}Bw64Bhh)p~|t

delta 1856
zcma)6UuauZ7{BM<+%*4h{@f%@leGEMZcW$GrmJm-wX(GvwQ5DILM>Ysnphj#rrg|)
zuB5aKga~CsP9Ag=tT5`v>X@jYFT%hFA0{>uGz9k|^uY%qq7Nd7e&5aRZ7X~5mj2H7
zedqgk&iQ`%;`H8W>ql0riGhz@{dq3-iIo!a1O1T5{^#;chTsN%DfTTES7{{A?C><n
zx#&HE(3xivdNkvg;*M%E->@QPIGQzfP%~>}Wr030cxck-p<Aq#@?88sCSs=Ffx~^)
zamJ!%Na-N6Rn_t=Xf{n_GCEb>5!A-$vXkd|@Uv69AnG;+IZAJFG2%qE9S)|&XIyIZ
zF{?<21;5#@?j3KNxYZsvJeo(3D#3ZZs=N!rT~%SApJr8&|DV54^@r|`%8&C5Fw7b}
z9wgRE=J6R?)UXuu3KP>$*7&RQsdTocpG_{Nr6fJizfAnJ#K(QsTzVlrD<>KoH6yHv
z`K45Pm440tq{lK+JKfc1Nt$|^M!TxP@Q=Zs?}I(%V7wBH7sj?GtHD-W9(h|T-jla=
zd$zK7u;Ly3bgt<kYioxDHQn+;@>-0QI_No*mz<>2rcTmLubXa=7<HJRa$)axh|~c~
z4ks=ofseV%JB$XLf=#CC@|MmP*7pqoDMoLar=oCj22zG$sTp%}b~z!>!_kH?M9tx_
zw326OuO$F=UbI||C^4KA0Usq$dK#r;AqSQaIZyT0?m!IoX0`bT1qYpj|KF!r`nkD_
z4%<w6y!>@Szcly4h-L^aIz{2}gMg><(XR|Xwm}(=kuCHF`;5Oy-NdKMXbQ+iI$`r)
zU~$GX26aQJ!pUw`hbV3rTDz;YH^y9&*Rh2|E|`yU;S6#?<5Ql`nNkES8m9<@gCc7>
z%&?8tIfW{MS~jE60SX;j9Y~dp!{p2=Icz<}u0hgSHlZD6Yekt!ZgT1uY(M5~JVg}b
z#>+TRLVik41WYWoA%qY_fEq6)m*&zE5<<dJm%Lqw0R&}agDABE#PrHo)l6?lF!{=i
z(7Zk9IRSe$PD;x;eAbZi!PMQeceh>uL+&4dP3FMuD^0&UQ<~Z7uSEOH?*4*_4jJ00
z$q?Rn<O{qvwLN`X+-n9dlzn{_Uthsibw_tnl@mi{_fWxf;P4dJ%8p3I5venJW4i){
zbJf<!_M0Cp-dub?yPbXKrNU@YEVWc!o;t%?J=H*{s4E$(c6X64@=#>EWoPWx#C`Fz
zwo3fsH@b&HW&HAfZ^BgeU8(r40P`m3-wv;(ZdD5aLBh`cQDxW-jf*_IDCIVvbWgxe
zII@KIlEYv65Rx!q_pocN^nu-{Po$H%Yp>Buu5lpKu4}+Ci0;R@^Q$Y+JcIE#MnGAy
zxuDxJ7T^zC5>NGZVn{#2Sp=lFG=gvuVH{xs;0_}p`JjGYj0nxVzs_hdKtC3T1%ZdV
z)F49t6uY3Ss5?%=^i_8sIYkTZaQpL+1m1XMNt(oTjhrC;Wf)$}rdAfxBhu^iTld?&
ZFA(CZGf&3f6#E}XcQ4cHo<1F>`xn9>ZyEpq

diff --git a/Objet/main.py b/Objet/main.py
index f4e687c..097fa74 100644
--- a/Objet/main.py
+++ b/Objet/main.py
@@ -68,7 +68,7 @@ class Main:
         cv2.destroyAllWindows()
 
 if __name__ == "__main__":
-    main = Main("vid4.mp4", "video")
+    main = Main("vid4.mp4", "direct")
     main.run()
 
 def is_ready():
diff --git a/Objet/video_manager.py b/Objet/video_manager.py
index 5941a34..dc367c0 100644
--- a/Objet/video_manager.py
+++ b/Objet/video_manager.py
@@ -19,10 +19,8 @@ class VideoManager:
         self.video_type = video_type
         if self.video_type == "video":
             self.cap = cv2.VideoCapture(self.video_file)
-        elif self.video_type == "camera":
-            self.cam_index = self.select_camera()
-            self.cam_index = 0 
-            self.cap = cv2.VideoCapture(self.cam_index)
+        elif self.video_type == "direct":
+            self.cap = cv2.VideoCapture(0)
         self.fps = int(self.cap.get(cv2.CAP_PROP_FPS))
         self.total_frames = int(self.cap.get(cv2.CAP_PROP_FRAME_COUNT))
         self.over = False
@@ -68,20 +66,24 @@ class VideoManager:
         
     def update_frame(self):
 
-        frame_time = time.time() - self.current_time
-        self.current_time = time.time()
-        self.time = self.current_time - self.start_time
-        self.current_frame = int(self.cap.get(cv2.CAP_PROP_POS_FRAMES))
-        frame_targeted = int(self.time * self.fps)
-        jump_frame = frame_targeted - self.current_frame
-
-        for _ in range(jump_frame):
-            ret, self.frame = self.cap.read()
-            if not ret:
-                self.over = True
-                break
-            self.frame = cv2.resize(self.frame, (self.parameters.width, self.parameters.height))
-            self.current_frame += 1  
+        if self.video_type == "video":
+            self.current_time = time.time()
+            self.time = self.current_time - self.start_time
+            self.current_frame = int(self.cap.get(cv2.CAP_PROP_POS_FRAMES))
+            frame_targeted = int(self.time * self.fps)
+            jump_frame = frame_targeted - self.current_frame
+
+            for _ in range(jump_frame):
+                ret, self.frame = self.cap.read()
+                if not ret:
+                    self.over = True
+                    break
+                self.frame = cv2.resize(self.frame, (self.parameters.width, self.parameters.height))
+                self.current_frame += 1  
+        
+        elif self.video_type == "direct":
+            self.update_frame_easy()
+            self.current_frame += 1
 
     def update_frame_easy(self):
         _, self.frame = self.cap.read()
-- 
GitLab