+ "]jU4^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RI t ^RI H t ^RI H t HtHt^RIHt^RIHt^RIHt^RIHt^RIt] !4t] !]4P74P8t]R, t]!R 4t] !R 4R s!R ^^.R ^.RR.^dR..R^^.R^.RR.^R../t"]PFPI]4'd.]%!]R4;_uu_4t&]PN!]&4s(RRR4M]"s(]PR!\PR ,]PTR7t+]PR!\PR,]PTR7t,]PZ!]+],4ws.t/Rt0Rt1]PeR]!]R7RR7!RR]4t3]PiR4RRl4t5!R R!4t6]PoR"4R#R$l4t8]PiR%4R&R'l4t9]PuR(4R)4t;R# +'giEL;i)*N)Path)FastAPI WebSocketWebSocketDisconnect) HTMLResponse) StaticFiles) BaseModel)YOLOzcalibration.jsonzbest.ptu-💻 YOLO מועלה לעבודה על ה-CPUz+https://www.youtube.com/watch?v=ECZPrvo44lssrc_ptsiiLi&dst_ptsiKi*rdtypec\\R4;_uu_4p\P!W4RRR4R# +'giR#;i)wN)open CALIB_FILEjsondump)datafs& &D:\YOLOv8 model\YOLOV8 מודל\app.pysave_calibrationr.s, j#  ! $    s : A c8RRRRRR/p\P!V4;_uu_4pVPVRR7pRV9d VR,MVR,^,R,uuR R R 4# \d R R R 4R #i;i +'giR #;i) formatworst noplaylistT extract_flatF)downloadurlformatsN)yt_dlp YoutubeDL extract_info Exception)r ydl_optsydlinfos& rget_youtube_live_stream_urlr)2s'<~uMH   ( # #s ##C%#8D"'4-4;T)_Q5G5N N $ #  $ #  $ # #s(B9A.. B9BBB B z/static) directorystatic)namec,a]tRt^=toV3RltRtVtR#) UrlUpdatec&<V^8dQh/S[;R&#)r )str)r __classdict__s"r __annotate__UrlUpdate.__annotate__=s HN)__name__ __module__ __qualname____firstlineno____annotate_func____static_attributes____classdictcell__r2s@rr.r.=sr5r.z/api/change_urlc$V^8dQhR\/#r0r)r.)rs"rr3r3As!!9!r5cN"VPs\R\ 24RR/#5i)u🔄 ה-URL עודכן ל: statussuccess)r current_youtube_urlprint)rs&r change_urlrF@s.(( '(;'< => i  s#%c>a]tRt^HtoRtRtRtRtRtRt Vt R#)LiveFrameReaderc>RVnRVnRVnRVnR#)NFcapframerunningr selfs&r__init__LiveFrameReader.__init__Is  r5c$Wn\V4pV'gR#\P!V4VnVPP 4'gR#RVn\P!VPRR7P4R#)FT)targetdaemon) r r)cv2 VideoCapturerLisOpenedrN threadingThread_updatestart)rPr stream_urls&& rr\LiveFrameReader.startOsd05 %##J/xx  ""5  T:@@Br5cVP'dkVPP4'dIVPP4wrV'd Ve W nKb\ P !R4KzR#R#)NgMbP?)rNrLrXreadrMtimesleep)rPrCrMs& rr[LiveFrameReader._updateYsNllltxx0022!XX]]_NG5,"  5! 3lr5cVP#)N)rMrOs&r get_latestLiveFrameReader.get_latestas zzr5cpRVnVP'dVPP4R#R#)FN)rNrLreleaserOs&rstopLiveFrameReader.stopds# 888TXX%%'8r5rKN) r7r8r9r:rQr\r[rerir<r=r>s@rrHrHHs# "((r5rHz /ws/streamc$V^8dQhR\/#)r0 websocket)r)rs"rr3r3isYYYYr5c a'"VP4GRjxL \4pVP\4'gVP RR7GRjxL R#/pVP 'EdVP \8wd:VP4\4pVP\4'gEMKaVP4pVf!\P!R4GRjxL KVPR,wrE\VR,4p\VRRRR 7p.pVEFlp V PEFWp V P^,R 8dKV P ^,P#4P%4wrr\W,^, 4\V4ppVV8dK|\P&\V P(^,4,P+4p\,P.!VV...\,P0R 7p\2P4!V\64p\V^,^,^,4\V^,^,^,4ppVP9R VR VRV/4EKZ EKo /pVEFZpVR ,VR ,VR,pppRpVP;4F[wppVP=V4'gK\,P>!VR ,V, VR ,V, 4^(8gKYTpM V'd}Rp\^V, VV,R ,,VV,,4p\^V, VV,R ,,VV,,4p R VR V R^RV/VV&EKV R\@P@!4 R\,PBPE4 2p!R VR VR^RV/VV!&EK] VP;4F9wppVV9gKVR,^8gKVR;;,^, uu&VVV&K; Tp.p"VPG4F|o'\H;QJdV'3RlR 4F 'gK RM RM!V'3RlR 44'dRMRS'R,9dRMRp#V"P9R S'R ,R S'R ,RV#/4K~ \2PJ!R\2PL!VR!4\2PN^<.4wp$p%\PPR!V%4PUR4p&VPWRV&RV"RWT.R\X/4GRjxL \P!R4GRjxL EK0VP4R#ELELPELLAL% \Zd\]R4L7i;i TP4i;i5i)"Ni)codeg{Gz?:Nr0Ng333333?Ti@F)streamimgszverboseg?rxyclsg333333?age_c3:<"TFqSR,9xK R#5i)rtNr6).0kposs& r "stream_endpoint..s*]D\qE ?D\sballred robot_red robot_bluetypez.jpgutf-8rMobjectsorig_dim current_calibgQ?u🔌 Client disconnected)r}fuelnote)iih)/acceptrHr\rDcloserNr rireasynciorbshapeintmodelboxesconfxyxycpunumpynamesrtlowernparrayfloat32rVperspectiveTransformHappenditems startswithhypotrarandomrandvaluesanyimencoderesizeIMWRITE_JPEG_QUALITYbase64 b64encodedecode send_jsoncalibration_datarrE)(rlreadertracked_objectsrMorig_horig_wy_cutoffresultscurrent_frame_objectsresultboxx1y1x2y2bot_xbot_ycls_namepointtransmap_xmap_y active_tracksobjmxmycname matched_keyold_keyold_posalphanxnynew_key output_data final_typervbuffer frame_base64rzs(& @rstream_endpointrhs      F <<+ , ,oo4o(((ONnnnzz00 (*||$788%%%'E}mmD)))"[[_NF6D=)HE$c5IG$& !!!<NBB#&1}#5s2w5Ex'${{3swwqz?;AACHHHu~&6%7rzzJE44UA>E#&uQx{1~#6E!HQKN8K5E)00#uc5%QY1Z[("M, #C#c(CJB" (7(=(=(?$GW))%00RXXgclR>OQXY\Q]`bQb5cfh5h&- )@ Ea%i?;+G+LLuWYzYZBa%i?;+G+LLuWYzYZB25r3E1eUZ1[M+.!&q Qryy~~7G6HIG.12sBq%QV-WM'*-"%4$9$9$; -/GENQ4FENa'N-4M'*%<,OK&--/'*s*]D\*]sss*]D\*]']']Vrw{~@E|FsFcnLX ""CS3C&*#UV0 VSZZz-JSMeMegiLjkIAv!++F3::7CL%%;V,!1 '  --% % %QZ  o )*p  & * ()*  sW!V#>W!V&W! V03A V0=W ?/V0.V)/HV045V0. V0 = = =s"AA  A A  A)rs   ;;*+  i > ! ! # * * * *  Y56Dc T3K$sCjA R3)c3Z"c; 77>>* j#  !99Q<  %hh *"**=hh *"**= #s#1 )[848 D   !!((@|YYv  ! !..Y   s #H H