@camera.ui/server 0.0.11-alpha.7 → 0.0.11-alpha.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1 +1 @@
1
- if(!self.define){let s,e={};const a=(a,l)=>(a=new URL(a+".js",l).href,e[a]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=a,s.onload=e,document.head.appendChild(s)}else s=a,importScripts(a),e()})).then((()=>{let s=e[a];if(!s)throw new Error(`Module ${a} didn’t register its module`);return s})));self.define=(l,i)=>{const r=s||("document"in self?document.currentScript.src:"")||location.href;if(e[r])return;let n={};const p=s=>a(s,r),u={module:{uri:r},exports:n,require:p};e[r]=Promise.all(l.map((s=>u[s]||p(s)))).then((s=>(i(...s),n)))}}define(["./workbox-3e911b1d"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/@babel-l0sNRNKZ.js",revision:null},{url:"assets/@intlify-Ck2ZoCVz.js",revision:null},{url:"assets/@mdi-B8Roxr1z.js",revision:null},{url:"assets/@popperjs-BQBsAJpH.js",revision:null},{url:"assets/@react-dnd-CcwRs9xb.js",revision:null},{url:"assets/@socket.io-Dkula2eQ.js",revision:null},{url:"assets/@tanstack-BvYNCsQh.js",revision:null},{url:"assets/@vee-validate-BY5H7fGS.js",revision:null},{url:"assets/@vue-DMh6qW6s.js",revision:null},{url:"assets/@vueform-B62o9zLe.js",revision:null},{url:"assets/@vueform-h7tNX9p6.css",revision:null},{url:"assets/@vueuse-D76s02Ot.js",revision:null},{url:"assets/@xterm-B4Ga69iL.js",revision:null},{url:"assets/@xterm-CGrrDQr5.css",revision:null},{url:"assets/Account-DLnqIaot.js",revision:null},{url:"assets/Account-DlOUWknb.css",revision:null},{url:"assets/ace-builds-CigWTak4.js",revision:null},{url:"assets/Adminpanel-B6Mz46xH.js",revision:null},{url:"assets/Adminpanel-Cp92VRfz.css",revision:null},{url:"assets/Appearance-Ceft0-I_.js",revision:null},{url:"assets/axios--Jv2L996.js",revision:null},{url:"assets/Backup-DBv9xFPh.css",revision:null},{url:"assets/Backup-TMdV82xQ.js",revision:null},{url:"assets/Camera-CWiLco3W.css",revision:null},{url:"assets/Camera-DlODdv0O.js",revision:null},{url:"assets/Cameras-Du4Q1fbV.css",revision:null},{url:"assets/Cameras-TzGZ6ZO5.js",revision:null},{url:"assets/Camview-CWTrsoY0.css",revision:null},{url:"assets/Camview-D7pGye35.js",revision:null},{url:"assets/compare-versions-DqEOhma6.js",revision:null},{url:"assets/Config-26E259Kg.js",revision:null},{url:"assets/Config-DAiKsG7W.css",revision:null},{url:"assets/Console-B9TNuEuy.js",revision:null},{url:"assets/Console-BsyX2S3R.css",revision:null},{url:"assets/dijkstrajs-D_NXgYpA.js",revision:null},{url:"assets/dnd-core-SnWOpY0X.js",revision:null},{url:"assets/draggabilly-Arakw9Dk.js",revision:null},{url:"assets/engine.io-client-DBBxzneW.js",revision:null},{url:"assets/engine.io-parser-BiEtp6m2.js",revision:null},{url:"assets/entities-C20TfXL6.js",revision:null},{url:"assets/ev-emitter-CXYwG0eJ.js",revision:null},{url:"assets/fast-deep-equal-5pvsDbwX.js",revision:null},{url:"assets/FirstSteps-BPJqKI9s.js",revision:null},{url:"assets/FirstSteps-CGEDVu4n.css",revision:null},{url:"assets/get-size-D1dS-IaP.js",revision:null},{url:"assets/highlight-DgoK_Xib.css",revision:null},{url:"assets/highlight.js-TxRCSjhv.js",revision:null},{url:"assets/linkify-it-DmNjr4Kv.js",revision:null},{url:"assets/logo-256-BCQk9H1-.png",revision:null},{url:"assets/logo-512-DLKVOU2S.png",revision:null},{url:"assets/logo-DmEiRk0z.png",revision:null},{url:"assets/main-DAdsd7ig.css",revision:null},{url:"assets/main-EadacS4o.js",revision:null},{url:"assets/markdown-it-DI8MEbma.js",revision:null},{url:"assets/mdurl-k9Sl0PQj.js",revision:null},{url:"assets/mode-json-Br7xisR1.js",revision:null},{url:"assets/mode-yaml-CIYL8U3d.js",revision:null},{url:"assets/NewCamera-CHMgUDbC.css",revision:null},{url:"assets/NewCamera-DABtR7wN.js",revision:null},{url:"assets/nprogress-DSyAi0LF.js",revision:null},{url:"assets/pinia-BQbsPkIS.js",revision:null},{url:"assets/Plugin-CrZzPF2Y.js",revision:null},{url:"assets/Plugin-DzKKCoqQ.css",revision:null},{url:"assets/plugins-B2l9EWwF.js",revision:null},{url:"assets/Plugins-B8gCgxOx.css",revision:null},{url:"assets/Plugins-BS_sG17b.js",revision:null},{url:"assets/punycode.js-Dj65hjkv.js",revision:null},{url:"assets/qrcode-SHonoxyK.js",revision:null},{url:"assets/react-dnd-html5-backend-1HQjlkwI.js",revision:null},{url:"assets/react-dnd-touch-backend-NgACaG8W.js",revision:null},{url:"assets/Recordings-D4kX1F-n.js",revision:null},{url:"assets/Recordings-J7oXxCtd.js",revision:null},{url:"assets/redux-CuxFRhX_.js",revision:null},{url:"assets/rxjs-CQrF441D.js",revision:null},{url:"assets/Settings-CmgAGVzI.js",revision:null},{url:"assets/Settings-JES2wb8p.css",revision:null},{url:"assets/socket.io-client-Bq_SHkin.js",revision:null},{url:"assets/socket.io-parser-BBkuslX-.js",revision:null},{url:"assets/system-BcGcyV5j.js",revision:null},{url:"assets/System-DFzJwRt7.js",revision:null},{url:"assets/System-Dv19RfUW.css",revision:null},{url:"assets/tslib-9k7AwCpt.js",revision:null},{url:"assets/uc.micro-kMc2yuuw.js",revision:null},{url:"assets/ui-CyEgSsGE.js",revision:null},{url:"assets/unidragger-BYtqgAQ0.js",revision:null},{url:"assets/User-CAMax34Q.js",revision:null},{url:"assets/User-DBVny1Dv.css",revision:null},{url:"assets/utils-BvINh1mj.js",revision:null},{url:"assets/uuid-DvF23Exx.js",revision:null},{url:"assets/v-calendar-CtSuDYZU.css",revision:null},{url:"assets/v-calendar-CVkp7hgG.js",revision:null},{url:"assets/VConfigEditor.vue_vue_type_script_setup_true_lang-7XdeKcVe.js",revision:null},{url:"assets/VConsole-DDKmDRzF.js",revision:null},{url:"assets/VConsole-MV9pQtJj.css",revision:null},{url:"assets/vee-validate-9vrYaQFq.js",revision:null},{url:"assets/VPlayer-DJjwfULk.css",revision:null},{url:"assets/VPlayer-Q0RoN8Eo.js",revision:null},{url:"assets/VPluginCard-AZAaPKAi.js",revision:null},{url:"assets/VPluginCard-BoeWmehD.css",revision:null},{url:"assets/vue-i18n-DqKZtX1N.js",revision:null},{url:"assets/vue-inline-svg-D1BV6A5r.js",revision:null},{url:"assets/vue-l0sNRNKZ.js",revision:null},{url:"assets/vue-router-Bje-Muh5.js",revision:null},{url:"assets/vue3-apexcharts-B8Nznyy3.js",revision:null},{url:"assets/vue3-dnd-CvPSCHQb.js",revision:null},{url:"assets/vue3-toastify-D8Ru9hkX.js",revision:null},{url:"assets/vue3-toastify-DTY1DMRs.css",revision:null},{url:"assets/vuetify-CoMF_JkX.css",revision:null},{url:"assets/vuetify-DYU2dOLI.js",revision:null},{url:"assets/zod-BaF2dDCd.js",revision:null},{url:"fonts/Inter/Inter-Regular.ttf",revision:"ea5879884a95551632e9eb1bba5b2128"},{url:"index.html",revision:"381a82b638794f96c2e4fd471bc0181d"},{url:"pwa/apple-splash-landscape-dark-1136x640.png",revision:"c6b193de9bd234c81fdea1d28fe7b88c"},{url:"pwa/apple-splash-landscape-dark-1334x750.png",revision:"d82dd37eb2bdf815c1e2ab367134cbbf"},{url:"pwa/apple-splash-landscape-dark-1792x828.png",revision:"281d292ea4448638bb250a3fca5f5f44"},{url:"pwa/apple-splash-landscape-dark-2048x1536.png",revision:"70f0181b7e075e3b64e261c4d4e3eada"},{url:"pwa/apple-splash-landscape-dark-2160x1620.png",revision:"ee54046f738fe4346d7febbfaa711244"},{url:"pwa/apple-splash-landscape-dark-2208x1242.png",revision:"2989b9f038112f8eed3694fa53b86e6a"},{url:"pwa/apple-splash-landscape-dark-2224x1668.png",revision:"1144751415d9c1f3d1bc34407b9a9539"},{url:"pwa/apple-splash-landscape-dark-2388x1668.png",revision:"e17cbe3b198574eb6fc822c17e22d935"},{url:"pwa/apple-splash-landscape-dark-2436x1125.png",revision:"85613cc4f5040791ef13e4b2a1ecc840"},{url:"pwa/apple-splash-landscape-dark-2532x1170.png",revision:"b89d280148f1bcb816c6364c37daefb6"},{url:"pwa/apple-splash-landscape-dark-2556x1179.png",revision:"02e2914d36b2aaf6da02799414a23738"},{url:"pwa/apple-splash-landscape-dark-2688x1242.png",revision:"dcd13ed9567fa4d98867f5c97cc89695"},{url:"pwa/apple-splash-landscape-dark-2732x2048.png",revision:"dc9fbb966dfc3350466279749c2946d7"},{url:"pwa/apple-splash-landscape-dark-2778x1284.png",revision:"19d1e7a02d9edd3354c61b7c54ea9c1e"},{url:"pwa/apple-splash-landscape-dark-2796x1290.png",revision:"22b9597a28c081730e3430e467b4e36d"},{url:"pwa/apple-splash-landscape-light-1136x640.png",revision:"c9b4c38f0a267051c0c83cc92c0f5767"},{url:"pwa/apple-splash-landscape-light-1334x750.png",revision:"f513cdc13ffaf0c2a82bb207e2a9a397"},{url:"pwa/apple-splash-landscape-light-1792x828.png",revision:"c6e29d789061fc48eb9f3a54cb1950be"},{url:"pwa/apple-splash-landscape-light-2048x1536.png",revision:"1b27b72b070b260eceeaab092a82663d"},{url:"pwa/apple-splash-landscape-light-2160x1620.png",revision:"31ac689a78386cf844e33f10fd5d2029"},{url:"pwa/apple-splash-landscape-light-2208x1242.png",revision:"653857094b0c183908571fea1aed7b2f"},{url:"pwa/apple-splash-landscape-light-2224x1668.png",revision:"ecf0efece27d70815f7401f7f3e40a24"},{url:"pwa/apple-splash-landscape-light-2388x1668.png",revision:"3733608412963cb747e32b2790013523"},{url:"pwa/apple-splash-landscape-light-2436x1125.png",revision:"459b9c158b3a52222787d00a276baa21"},{url:"pwa/apple-splash-landscape-light-2532x1170.png",revision:"b9e11e5a3435cf159f240b5f6da5dc76"},{url:"pwa/apple-splash-landscape-light-2556x1179.png",revision:"3f0efc9e8de850ae5d3a72a158d39055"},{url:"pwa/apple-splash-landscape-light-2688x1242.png",revision:"3757f5338eb50c9f6fb8ad0d72597465"},{url:"pwa/apple-splash-landscape-light-2732x2048.png",revision:"0e5ec355113efe5ce253583209a64bb8"},{url:"pwa/apple-splash-landscape-light-2778x1284.png",revision:"95d2479cf715c2ea0104fd5f55fa62b3"},{url:"pwa/apple-splash-landscape-light-2796x1290.png",revision:"a46e458259177e134ad383d133b29774"},{url:"pwa/apple-splash-portrait-dark-1125x2436.png",revision:"53ddd8644a89bfc79c8d1bfbaa51527b"},{url:"pwa/apple-splash-portrait-dark-1170x2532.png",revision:"476ac5131289040d8d88803c18dc20bb"},{url:"pwa/apple-splash-portrait-dark-1179x2556.png",revision:"8eac224083023d0d21374d9f9087bab5"},{url:"pwa/apple-splash-portrait-dark-1242x2208.png",revision:"1b7f03eaab3cf8af8aa6057fd97278d8"},{url:"pwa/apple-splash-portrait-dark-1242x2688.png",revision:"c56eb0a4a8b4c7bb850cbfc35dd62bba"},{url:"pwa/apple-splash-portrait-dark-1284x2778.png",revision:"d7230994de3c4c6016ac252431031ea7"},{url:"pwa/apple-splash-portrait-dark-1290x2796.png",revision:"e7f2a468891736413b1e0622a510fd5a"},{url:"pwa/apple-splash-portrait-dark-1536x2048.png",revision:"0b26c0a578f6b13b3df06abecc81fb82"},{url:"pwa/apple-splash-portrait-dark-1620x2160.png",revision:"1a9f84fba88d4cd5924cf5a39d541b46"},{url:"pwa/apple-splash-portrait-dark-1668x2224.png",revision:"1e7b39c9f5fdca7ddf23c1248f7628bf"},{url:"pwa/apple-splash-portrait-dark-1668x2388.png",revision:"fb7fb372580598abf8a1d8eb7305462a"},{url:"pwa/apple-splash-portrait-dark-2048x2732.png",revision:"60acb5fbde5bb76a368238c5e079c717"},{url:"pwa/apple-splash-portrait-dark-640x1136.png",revision:"b901a6f04ef976aa81573ec0f3c8f32b"},{url:"pwa/apple-splash-portrait-dark-750x1334.png",revision:"54f99ba556f7cc149eb03fe6207d411d"},{url:"pwa/apple-splash-portrait-dark-828x1792.png",revision:"543d10f74f6f098e49ba989899182dee"},{url:"pwa/apple-splash-portrait-light-1125x2436.png",revision:"1a02e33add13bccc9f407efcfd2cf890"},{url:"pwa/apple-splash-portrait-light-1170x2532.png",revision:"58d656b4de9b32a09fc2ea1028116dfb"},{url:"pwa/apple-splash-portrait-light-1179x2556.png",revision:"8d1fc622bdb48dda2461e4f47a49249a"},{url:"pwa/apple-splash-portrait-light-1242x2208.png",revision:"8fd1367cac03e5798973cfa4e0dec5b0"},{url:"pwa/apple-splash-portrait-light-1242x2688.png",revision:"2b320f74bc7da7bf0d1be699183416c3"},{url:"pwa/apple-splash-portrait-light-1284x2778.png",revision:"461b13cf0d9c293ca220700bb4148afa"},{url:"pwa/apple-splash-portrait-light-1290x2796.png",revision:"d57711837cf7e3801a9e8126b1695aaa"},{url:"pwa/apple-splash-portrait-light-1536x2048.png",revision:"42716fc23cfa58d3f154fea1875eb3f5"},{url:"pwa/apple-splash-portrait-light-1620x2160.png",revision:"41bdc2c492d374bf8c6b6875e2beb9f1"},{url:"pwa/apple-splash-portrait-light-1668x2224.png",revision:"a1b5adab2a71d0fa646e7b0e9a4fcb71"},{url:"pwa/apple-splash-portrait-light-1668x2388.png",revision:"5db134deca3d2e8a1ae2d8e67c77c420"},{url:"pwa/apple-splash-portrait-light-2048x2732.png",revision:"cf9c75c2e56f8d3af7d914a00ce30286"},{url:"pwa/apple-splash-portrait-light-640x1136.png",revision:"588e312fd0851d5767972a1efc33e6a3"},{url:"pwa/apple-splash-portrait-light-750x1334.png",revision:"191c785b1e7b47ac1b1d6bc2a84bde85"},{url:"pwa/apple-splash-portrait-light-828x1792.png",revision:"8deb1063185df6a2d3089a9fa33f6ad1"},{url:"pwa/apple-touch-icon-180x180.png",revision:"91aec7b3a553812fbd3cd72adb17fcc4"},{url:"pwa/favicon-16.ico",revision:"163ae861c5ab9f68ed21324c19dfe35d"},{url:"pwa/favicon-32.ico",revision:"874b054da3800e7c320445396a49de81"},{url:"pwa/favicon-48.ico",revision:"ae2747aeae28b34eed33001c91ec2f3b"},{url:"pwa/favicon-64.ico",revision:"6a697d7662ab5ee246918cdc7c412343"},{url:"pwa/logo.svg",revision:"1aa262f4a37293a91083eea10794d2ca"},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/pwa-120x120.png",revision:"175a8b2a87b2cf94e565bdc25c02fce5"},{url:"pwa/pwa-144x144.png",revision:"410fd64d91409651a78e919aaaeddc6f"},{url:"pwa/pwa-152x152.png",revision:"e5643254c6ba42265ed3fde32aa8c761"},{url:"pwa/pwa-167x167.png",revision:"5d40691f4730d994d3c41deee8f85069"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-192x192.png",revision:"7c901e9320ceb5d8b2600a78f43c7e57"},{url:"pwa/pwa-24x24.png",revision:"7ff01bafee85576e0fa4031236d86a40"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-36x36.png",revision:"0f71716675fc2aadc7c626276f3fbe84"},{url:"pwa/pwa-48x48.png",revision:"64024afa06dfb1cef0bdf334c974638e"},{url:"pwa/pwa-50x50.png",revision:"cf45f3da900491a0d6c3a0e14bc266ce"},{url:"pwa/pwa-64x64.png",revision:"47b54ca9f30a7f31cc01057b524136cd"},{url:"pwa/pwa-72x72.png",revision:"725df23728f46846d52df805bf8c8d49"},{url:"pwa/pwa-88x88.png",revision:"3a846d3c7fc8f1fff7f68bbdc4c7ace3"},{url:"pwa/pwa-96x96.png",revision:"4b6e0a468b365c03904122fa15394e9e"},{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"robots.txt",revision:"f77c87f977e0fcce05a6df46c885a129"},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/pwa-120x120.png",revision:"175a8b2a87b2cf94e565bdc25c02fce5"},{url:"pwa/pwa-144x144.png",revision:"410fd64d91409651a78e919aaaeddc6f"},{url:"pwa/pwa-152x152.png",revision:"e5643254c6ba42265ed3fde32aa8c761"},{url:"pwa/pwa-167x167.png",revision:"5d40691f4730d994d3c41deee8f85069"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-192x192.png",revision:"7c901e9320ceb5d8b2600a78f43c7e57"},{url:"pwa/pwa-24x24.png",revision:"7ff01bafee85576e0fa4031236d86a40"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-36x36.png",revision:"0f71716675fc2aadc7c626276f3fbe84"},{url:"pwa/pwa-48x48.png",revision:"64024afa06dfb1cef0bdf334c974638e"},{url:"pwa/pwa-50x50.png",revision:"cf45f3da900491a0d6c3a0e14bc266ce"},{url:"pwa/pwa-64x64.png",revision:"47b54ca9f30a7f31cc01057b524136cd"},{url:"pwa/pwa-72x72.png",revision:"725df23728f46846d52df805bf8c8d49"},{url:"pwa/pwa-88x88.png",revision:"3a846d3c7fc8f1fff7f68bbdc4c7ace3"},{url:"pwa/pwa-96x96.png",revision:"4b6e0a468b365c03904122fa15394e9e"},{url:"manifest.webmanifest",revision:"eb07dc0bb24b0c377320c5c5b5043177"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html")))}));
1
+ if(!self.define){let s,e={};const a=(a,l)=>(a=new URL(a+".js",l).href,e[a]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=a,s.onload=e,document.head.appendChild(s)}else s=a,importScripts(a),e()})).then((()=>{let s=e[a];if(!s)throw new Error(`Module ${a} didn’t register its module`);return s})));self.define=(l,i)=>{const r=s||("document"in self?document.currentScript.src:"")||location.href;if(e[r])return;let n={};const p=s=>a(s,r),u={module:{uri:r},exports:n,require:p};e[r]=Promise.all(l.map((s=>u[s]||p(s)))).then((s=>(i(...s),n)))}}define(["./workbox-3e911b1d"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/@babel-l0sNRNKZ.js",revision:null},{url:"assets/@intlify-Ck2ZoCVz.js",revision:null},{url:"assets/@mdi-B8Roxr1z.js",revision:null},{url:"assets/@popperjs-BQBsAJpH.js",revision:null},{url:"assets/@react-dnd-CcwRs9xb.js",revision:null},{url:"assets/@socket.io-Dkula2eQ.js",revision:null},{url:"assets/@tanstack-BvYNCsQh.js",revision:null},{url:"assets/@vee-validate-BY5H7fGS.js",revision:null},{url:"assets/@vue-DMh6qW6s.js",revision:null},{url:"assets/@vueform-B62o9zLe.js",revision:null},{url:"assets/@vueform-h7tNX9p6.css",revision:null},{url:"assets/@vueuse-D76s02Ot.js",revision:null},{url:"assets/@xterm-B4Ga69iL.js",revision:null},{url:"assets/@xterm-CGrrDQr5.css",revision:null},{url:"assets/Account-DLnqIaot.js",revision:null},{url:"assets/Account-DlOUWknb.css",revision:null},{url:"assets/ace-builds-CigWTak4.js",revision:null},{url:"assets/Adminpanel-B6Mz46xH.js",revision:null},{url:"assets/Adminpanel-Cp92VRfz.css",revision:null},{url:"assets/Appearance-Ceft0-I_.js",revision:null},{url:"assets/axios--Jv2L996.js",revision:null},{url:"assets/Backup-DBv9xFPh.css",revision:null},{url:"assets/Backup-TMdV82xQ.js",revision:null},{url:"assets/Camera-CWiLco3W.css",revision:null},{url:"assets/Camera-DlODdv0O.js",revision:null},{url:"assets/Cameras-Du4Q1fbV.css",revision:null},{url:"assets/Cameras-TzGZ6ZO5.js",revision:null},{url:"assets/Camview-CWTrsoY0.css",revision:null},{url:"assets/Camview-D7pGye35.js",revision:null},{url:"assets/compare-versions-DqEOhma6.js",revision:null},{url:"assets/Config-26E259Kg.js",revision:null},{url:"assets/Config-DAiKsG7W.css",revision:null},{url:"assets/Console-B9TNuEuy.js",revision:null},{url:"assets/Console-BsyX2S3R.css",revision:null},{url:"assets/dijkstrajs-D_NXgYpA.js",revision:null},{url:"assets/dnd-core-SnWOpY0X.js",revision:null},{url:"assets/draggabilly-Arakw9Dk.js",revision:null},{url:"assets/engine.io-client-DBBxzneW.js",revision:null},{url:"assets/engine.io-parser-BiEtp6m2.js",revision:null},{url:"assets/entities-C20TfXL6.js",revision:null},{url:"assets/ev-emitter-CXYwG0eJ.js",revision:null},{url:"assets/fast-deep-equal-5pvsDbwX.js",revision:null},{url:"assets/FirstSteps-BPJqKI9s.js",revision:null},{url:"assets/FirstSteps-CGEDVu4n.css",revision:null},{url:"assets/get-size-D1dS-IaP.js",revision:null},{url:"assets/highlight-DgoK_Xib.css",revision:null},{url:"assets/highlight.js-TxRCSjhv.js",revision:null},{url:"assets/linkify-it-DmNjr4Kv.js",revision:null},{url:"assets/logo-256-BCQk9H1-.png",revision:null},{url:"assets/logo-512-DLKVOU2S.png",revision:null},{url:"assets/logo-DmEiRk0z.png",revision:null},{url:"assets/main-DAdsd7ig.css",revision:null},{url:"assets/main-EadacS4o.js",revision:null},{url:"assets/markdown-it-DI8MEbma.js",revision:null},{url:"assets/mdurl-k9Sl0PQj.js",revision:null},{url:"assets/mode-json-Br7xisR1.js",revision:null},{url:"assets/mode-yaml-CIYL8U3d.js",revision:null},{url:"assets/NewCamera-CHMgUDbC.css",revision:null},{url:"assets/NewCamera-DABtR7wN.js",revision:null},{url:"assets/nprogress-DSyAi0LF.js",revision:null},{url:"assets/pinia-BQbsPkIS.js",revision:null},{url:"assets/Plugin-CrZzPF2Y.js",revision:null},{url:"assets/Plugin-DzKKCoqQ.css",revision:null},{url:"assets/plugins-B2l9EWwF.js",revision:null},{url:"assets/Plugins-B8gCgxOx.css",revision:null},{url:"assets/Plugins-BS_sG17b.js",revision:null},{url:"assets/punycode.js-Dj65hjkv.js",revision:null},{url:"assets/qrcode-SHonoxyK.js",revision:null},{url:"assets/react-dnd-html5-backend-1HQjlkwI.js",revision:null},{url:"assets/react-dnd-touch-backend-NgACaG8W.js",revision:null},{url:"assets/Recordings-D4kX1F-n.js",revision:null},{url:"assets/Recordings-J7oXxCtd.js",revision:null},{url:"assets/redux-CuxFRhX_.js",revision:null},{url:"assets/rxjs-CQrF441D.js",revision:null},{url:"assets/Settings-CmgAGVzI.js",revision:null},{url:"assets/Settings-JES2wb8p.css",revision:null},{url:"assets/socket.io-client-Bq_SHkin.js",revision:null},{url:"assets/socket.io-parser-BBkuslX-.js",revision:null},{url:"assets/system-BcGcyV5j.js",revision:null},{url:"assets/System-DFzJwRt7.js",revision:null},{url:"assets/System-Dv19RfUW.css",revision:null},{url:"assets/tslib-9k7AwCpt.js",revision:null},{url:"assets/uc.micro-kMc2yuuw.js",revision:null},{url:"assets/ui-CyEgSsGE.js",revision:null},{url:"assets/unidragger-BYtqgAQ0.js",revision:null},{url:"assets/User-CAMax34Q.js",revision:null},{url:"assets/User-DBVny1Dv.css",revision:null},{url:"assets/utils-BvINh1mj.js",revision:null},{url:"assets/uuid-DvF23Exx.js",revision:null},{url:"assets/v-calendar-CtSuDYZU.css",revision:null},{url:"assets/v-calendar-CVkp7hgG.js",revision:null},{url:"assets/VConfigEditor.vue_vue_type_script_setup_true_lang-7XdeKcVe.js",revision:null},{url:"assets/VConsole-DDKmDRzF.js",revision:null},{url:"assets/VConsole-MV9pQtJj.css",revision:null},{url:"assets/vee-validate-9vrYaQFq.js",revision:null},{url:"assets/VPlayer-DJjwfULk.css",revision:null},{url:"assets/VPlayer-Q0RoN8Eo.js",revision:null},{url:"assets/VPluginCard-AZAaPKAi.js",revision:null},{url:"assets/VPluginCard-BoeWmehD.css",revision:null},{url:"assets/vue-i18n-DqKZtX1N.js",revision:null},{url:"assets/vue-inline-svg-D1BV6A5r.js",revision:null},{url:"assets/vue-l0sNRNKZ.js",revision:null},{url:"assets/vue-router-Bje-Muh5.js",revision:null},{url:"assets/vue3-apexcharts-B8Nznyy3.js",revision:null},{url:"assets/vue3-dnd-CvPSCHQb.js",revision:null},{url:"assets/vue3-toastify-D8Ru9hkX.js",revision:null},{url:"assets/vue3-toastify-DTY1DMRs.css",revision:null},{url:"assets/vuetify-CoMF_JkX.css",revision:null},{url:"assets/vuetify-DYU2dOLI.js",revision:null},{url:"assets/zod-BaF2dDCd.js",revision:null},{url:"fonts/Inter/Inter-Regular.ttf",revision:"ea5879884a95551632e9eb1bba5b2128"},{url:"index.html",revision:"381a82b638794f96c2e4fd471bc0181d"},{url:"pwa/apple-splash-landscape-dark-1136x640.png",revision:"c6b193de9bd234c81fdea1d28fe7b88c"},{url:"pwa/apple-splash-landscape-dark-1334x750.png",revision:"d82dd37eb2bdf815c1e2ab367134cbbf"},{url:"pwa/apple-splash-landscape-dark-1792x828.png",revision:"281d292ea4448638bb250a3fca5f5f44"},{url:"pwa/apple-splash-landscape-dark-2048x1536.png",revision:"70f0181b7e075e3b64e261c4d4e3eada"},{url:"pwa/apple-splash-landscape-dark-2160x1620.png",revision:"ee54046f738fe4346d7febbfaa711244"},{url:"pwa/apple-splash-landscape-dark-2208x1242.png",revision:"2989b9f038112f8eed3694fa53b86e6a"},{url:"pwa/apple-splash-landscape-dark-2224x1668.png",revision:"1144751415d9c1f3d1bc34407b9a9539"},{url:"pwa/apple-splash-landscape-dark-2388x1668.png",revision:"e17cbe3b198574eb6fc822c17e22d935"},{url:"pwa/apple-splash-landscape-dark-2436x1125.png",revision:"85613cc4f5040791ef13e4b2a1ecc840"},{url:"pwa/apple-splash-landscape-dark-2532x1170.png",revision:"b89d280148f1bcb816c6364c37daefb6"},{url:"pwa/apple-splash-landscape-dark-2556x1179.png",revision:"02e2914d36b2aaf6da02799414a23738"},{url:"pwa/apple-splash-landscape-dark-2688x1242.png",revision:"dcd13ed9567fa4d98867f5c97cc89695"},{url:"pwa/apple-splash-landscape-dark-2732x2048.png",revision:"dc9fbb966dfc3350466279749c2946d7"},{url:"pwa/apple-splash-landscape-dark-2778x1284.png",revision:"19d1e7a02d9edd3354c61b7c54ea9c1e"},{url:"pwa/apple-splash-landscape-dark-2796x1290.png",revision:"22b9597a28c081730e3430e467b4e36d"},{url:"pwa/apple-splash-landscape-light-1136x640.png",revision:"c9b4c38f0a267051c0c83cc92c0f5767"},{url:"pwa/apple-splash-landscape-light-1334x750.png",revision:"f513cdc13ffaf0c2a82bb207e2a9a397"},{url:"pwa/apple-splash-landscape-light-1792x828.png",revision:"c6e29d789061fc48eb9f3a54cb1950be"},{url:"pwa/apple-splash-landscape-light-2048x1536.png",revision:"1b27b72b070b260eceeaab092a82663d"},{url:"pwa/apple-splash-landscape-light-2160x1620.png",revision:"31ac689a78386cf844e33f10fd5d2029"},{url:"pwa/apple-splash-landscape-light-2208x1242.png",revision:"653857094b0c183908571fea1aed7b2f"},{url:"pwa/apple-splash-landscape-light-2224x1668.png",revision:"ecf0efece27d70815f7401f7f3e40a24"},{url:"pwa/apple-splash-landscape-light-2388x1668.png",revision:"3733608412963cb747e32b2790013523"},{url:"pwa/apple-splash-landscape-light-2436x1125.png",revision:"459b9c158b3a52222787d00a276baa21"},{url:"pwa/apple-splash-landscape-light-2532x1170.png",revision:"b9e11e5a3435cf159f240b5f6da5dc76"},{url:"pwa/apple-splash-landscape-light-2556x1179.png",revision:"3f0efc9e8de850ae5d3a72a158d39055"},{url:"pwa/apple-splash-landscape-light-2688x1242.png",revision:"3757f5338eb50c9f6fb8ad0d72597465"},{url:"pwa/apple-splash-landscape-light-2732x2048.png",revision:"0e5ec355113efe5ce253583209a64bb8"},{url:"pwa/apple-splash-landscape-light-2778x1284.png",revision:"95d2479cf715c2ea0104fd5f55fa62b3"},{url:"pwa/apple-splash-landscape-light-2796x1290.png",revision:"a46e458259177e134ad383d133b29774"},{url:"pwa/apple-splash-portrait-dark-1125x2436.png",revision:"53ddd8644a89bfc79c8d1bfbaa51527b"},{url:"pwa/apple-splash-portrait-dark-1170x2532.png",revision:"476ac5131289040d8d88803c18dc20bb"},{url:"pwa/apple-splash-portrait-dark-1179x2556.png",revision:"8eac224083023d0d21374d9f9087bab5"},{url:"pwa/apple-splash-portrait-dark-1242x2208.png",revision:"1b7f03eaab3cf8af8aa6057fd97278d8"},{url:"pwa/apple-splash-portrait-dark-1242x2688.png",revision:"c56eb0a4a8b4c7bb850cbfc35dd62bba"},{url:"pwa/apple-splash-portrait-dark-1284x2778.png",revision:"d7230994de3c4c6016ac252431031ea7"},{url:"pwa/apple-splash-portrait-dark-1290x2796.png",revision:"e7f2a468891736413b1e0622a510fd5a"},{url:"pwa/apple-splash-portrait-dark-1536x2048.png",revision:"0b26c0a578f6b13b3df06abecc81fb82"},{url:"pwa/apple-splash-portrait-dark-1620x2160.png",revision:"1a9f84fba88d4cd5924cf5a39d541b46"},{url:"pwa/apple-splash-portrait-dark-1668x2224.png",revision:"1e7b39c9f5fdca7ddf23c1248f7628bf"},{url:"pwa/apple-splash-portrait-dark-1668x2388.png",revision:"fb7fb372580598abf8a1d8eb7305462a"},{url:"pwa/apple-splash-portrait-dark-2048x2732.png",revision:"60acb5fbde5bb76a368238c5e079c717"},{url:"pwa/apple-splash-portrait-dark-640x1136.png",revision:"b901a6f04ef976aa81573ec0f3c8f32b"},{url:"pwa/apple-splash-portrait-dark-750x1334.png",revision:"54f99ba556f7cc149eb03fe6207d411d"},{url:"pwa/apple-splash-portrait-dark-828x1792.png",revision:"543d10f74f6f098e49ba989899182dee"},{url:"pwa/apple-splash-portrait-light-1125x2436.png",revision:"1a02e33add13bccc9f407efcfd2cf890"},{url:"pwa/apple-splash-portrait-light-1170x2532.png",revision:"58d656b4de9b32a09fc2ea1028116dfb"},{url:"pwa/apple-splash-portrait-light-1179x2556.png",revision:"8d1fc622bdb48dda2461e4f47a49249a"},{url:"pwa/apple-splash-portrait-light-1242x2208.png",revision:"8fd1367cac03e5798973cfa4e0dec5b0"},{url:"pwa/apple-splash-portrait-light-1242x2688.png",revision:"2b320f74bc7da7bf0d1be699183416c3"},{url:"pwa/apple-splash-portrait-light-1284x2778.png",revision:"461b13cf0d9c293ca220700bb4148afa"},{url:"pwa/apple-splash-portrait-light-1290x2796.png",revision:"d57711837cf7e3801a9e8126b1695aaa"},{url:"pwa/apple-splash-portrait-light-1536x2048.png",revision:"42716fc23cfa58d3f154fea1875eb3f5"},{url:"pwa/apple-splash-portrait-light-1620x2160.png",revision:"41bdc2c492d374bf8c6b6875e2beb9f1"},{url:"pwa/apple-splash-portrait-light-1668x2224.png",revision:"a1b5adab2a71d0fa646e7b0e9a4fcb71"},{url:"pwa/apple-splash-portrait-light-1668x2388.png",revision:"5db134deca3d2e8a1ae2d8e67c77c420"},{url:"pwa/apple-splash-portrait-light-2048x2732.png",revision:"cf9c75c2e56f8d3af7d914a00ce30286"},{url:"pwa/apple-splash-portrait-light-640x1136.png",revision:"588e312fd0851d5767972a1efc33e6a3"},{url:"pwa/apple-splash-portrait-light-750x1334.png",revision:"191c785b1e7b47ac1b1d6bc2a84bde85"},{url:"pwa/apple-splash-portrait-light-828x1792.png",revision:"8deb1063185df6a2d3089a9fa33f6ad1"},{url:"pwa/apple-touch-icon-180x180.png",revision:"91aec7b3a553812fbd3cd72adb17fcc4"},{url:"pwa/favicon-16.ico",revision:"163ae861c5ab9f68ed21324c19dfe35d"},{url:"pwa/favicon-32.ico",revision:"874b054da3800e7c320445396a49de81"},{url:"pwa/favicon-48.ico",revision:"ae2747aeae28b34eed33001c91ec2f3b"},{url:"pwa/favicon-64.ico",revision:"6a697d7662ab5ee246918cdc7c412343"},{url:"pwa/logo.svg",revision:"1aa262f4a37293a91083eea10794d2ca"},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/pwa-120x120.png",revision:"3f5ec31f6bd07910482227b259344110"},{url:"pwa/pwa-144x144.png",revision:"4fdf5c8fb085f764ed7dd5a26698bff5"},{url:"pwa/pwa-152x152.png",revision:"4cf41c7b603d382e83e098affb7cb9da"},{url:"pwa/pwa-167x167.png",revision:"de6a5ca921b45fb3bd30d27c707981c6"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-192x192.png",revision:"3d58c2dd940c535cc166cc8d0844429d"},{url:"pwa/pwa-24x24.png",revision:"bdb25f68ca300283b37041e47d3e6ba8"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-36x36.png",revision:"4d08bb198d4e54e4d12a0810fc59f059"},{url:"pwa/pwa-48x48.png",revision:"97d7369c892f1e0914c2617ff26feb3c"},{url:"pwa/pwa-50x50.png",revision:"a20fc2e6f26aa548f9cae07911087f6c"},{url:"pwa/pwa-64x64.png",revision:"f57763be3212fd4154c502d607e7ed38"},{url:"pwa/pwa-72x72.png",revision:"66698bb499639052ad337f7e9a7d7ea8"},{url:"pwa/pwa-88x88.png",revision:"6e8af0a85b0627a835b62067d5189cb4"},{url:"pwa/pwa-96x96.png",revision:"675ea863c25fa9ae31d4d76a47463c78"},{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"robots.txt",revision:"f77c87f977e0fcce05a6df46c885a129"},{url:"pwa/maskable-icon-1240x600.png",revision:"f3188c7d8e5038f28068c7a3632dbe4b"},{url:"pwa/maskable-icon-512x512.png",revision:"e716feaa60f08d95d0909e1c85bf1f98"},{url:"pwa/maskable-icon-620x300.png",revision:"b4954ceadf0d6f2095c45f8cc8240337"},{url:"pwa/pwa-1024x1024.png",revision:"1ed367ae76416e79fd0bdd6ee70666bc"},{url:"pwa/pwa-120x120.png",revision:"3f5ec31f6bd07910482227b259344110"},{url:"pwa/pwa-144x144.png",revision:"4fdf5c8fb085f764ed7dd5a26698bff5"},{url:"pwa/pwa-152x152.png",revision:"4cf41c7b603d382e83e098affb7cb9da"},{url:"pwa/pwa-167x167.png",revision:"de6a5ca921b45fb3bd30d27c707981c6"},{url:"pwa/pwa-180x180.png",revision:"225b42752632e2866c4f8fe4ab2f62ee"},{url:"pwa/pwa-192x192.png",revision:"3d58c2dd940c535cc166cc8d0844429d"},{url:"pwa/pwa-24x24.png",revision:"bdb25f68ca300283b37041e47d3e6ba8"},{url:"pwa/pwa-300x300.png",revision:"7f79d74e34aedef57c98a1c9c156ba6b"},{url:"pwa/pwa-36x36.png",revision:"4d08bb198d4e54e4d12a0810fc59f059"},{url:"pwa/pwa-48x48.png",revision:"97d7369c892f1e0914c2617ff26feb3c"},{url:"pwa/pwa-50x50.png",revision:"a20fc2e6f26aa548f9cae07911087f6c"},{url:"pwa/pwa-64x64.png",revision:"f57763be3212fd4154c502d607e7ed38"},{url:"pwa/pwa-72x72.png",revision:"66698bb499639052ad337f7e9a7d7ea8"},{url:"pwa/pwa-88x88.png",revision:"6e8af0a85b0627a835b62067d5189cb4"},{url:"pwa/pwa-96x96.png",revision:"675ea863c25fa9ae31d4d76a47463c78"},{url:"manifest.webmanifest",revision:"eb07dc0bb24b0c377320c5c5b5043177"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html")))}));
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camera.ui/server",
3
- "version": "0.0.11-alpha.7",
3
+ "version": "0.0.11-alpha.8",
4
4
  "description": "camera.ui",
5
5
  "author": "seydx (https://github.com/seydx/camera.ui)",
6
6
  "bin": {
@@ -31,8 +31,8 @@
31
31
  "dependencies": {
32
32
  "@assemblyscript/loader": "^0.27.29",
33
33
  "@bjia56/portable-python": "^0.1.74",
34
- "@camera.ui/go2rtc": "^0.0.20",
35
- "@camera.ui/nats": "^0.0.9",
34
+ "@camera.ui/go2rtc": "^0.0.21",
35
+ "@camera.ui/nats": "^0.0.10",
36
36
  "@fastify/cors": "^9.0.1",
37
37
  "@fastify/formbody": "^7.4.0",
38
38
  "@fastify/helmet": "^11.1.1",
@@ -84,7 +84,7 @@
84
84
  "@types/fs-extra": "^11.0.4",
85
85
  "@types/js-yaml": "^4.0.9",
86
86
  "@types/jsonwebtoken": "^9.0.6",
87
- "@types/node": "^22.1.0",
87
+ "@types/node": "^22.2.0",
88
88
  "@types/node-forge": "^1.3.11",
89
89
  "@types/object-path": "^0.11.4",
90
90
  "@types/safe-timers": "^1.1.2",
@@ -108,7 +108,7 @@
108
108
  "rimraf": "^6.0.1",
109
109
  "tsx": "^4.17.0",
110
110
  "typescript": "^5.5.4",
111
- "updates": "^16.3.7"
111
+ "updates": "^16.4.0"
112
112
  },
113
113
  "bugs": {
114
114
  "url": "https://github.com/seydx/camera.ui/issues"
@@ -0,0 +1,106 @@
1
+ import asyncio
2
+ import time
3
+ from typing import Any, Literal
4
+
5
+ import numpy as np
6
+ from PIL import Image
7
+
8
+ width = 640
9
+ height = 360
10
+
11
+
12
+ def yuv420_to_rgb(yuv_bytes: bytes, width: int, height: int) -> np.ndarray[Any, Any]:
13
+ frame_size = width * height
14
+ uv_size = frame_size // 4
15
+
16
+ raw_data = np.frombuffer(yuv_bytes, dtype=np.uint8)
17
+
18
+ y = raw_data[:frame_size].reshape((height, width)).astype(np.float32) - 16.0
19
+ u = (
20
+ raw_data[frame_size : frame_size + uv_size].reshape((height // 2, width // 2)).astype(np.float32)
21
+ - 128.0
22
+ )
23
+ v = raw_data[frame_size + uv_size :].reshape((height // 2, width // 2)).astype(np.float32) - 128.0
24
+
25
+ # Upsample U and V to match Y dimensions in one step
26
+ u = u.repeat(2, axis=0).repeat(2, axis=1)
27
+ v = v.repeat(2, axis=0).repeat(2, axis=1)
28
+
29
+ # Perform YUV to RGB conversion
30
+ r = y + 1.402 * v
31
+ g = y - 0.344136 * u - 0.714136 * v
32
+ b = y + 1.772 * u
33
+
34
+ # return np.clip(np.stack((r, g, b), axis=-1), 0, 255).astype(np.uint8)
35
+ rgb = np.stack((r, g, b), axis=-1)
36
+ return np.clip(rgb, 0, 255).astype(np.uint8)
37
+
38
+
39
+ def yuv420_to_rgba(yuv_bytes: bytes, width: int, height: int) -> np.ndarray[Any, Any]:
40
+ rgb = yuv420_to_rgb(yuv_bytes, width, height)
41
+ alpha = np.full((height, width, 1), 255, dtype=np.uint8) # Alpha direkt als uint8
42
+ rgba = np.concatenate((rgb, alpha), axis=-1)
43
+ return rgba
44
+
45
+
46
+ def yuv420_to_gray(yuv_bytes: bytes, width: int, height: int) -> np.ndarray[Any, Any]:
47
+ frame_size = width * height
48
+ raw_data = np.frombuffer(yuv_bytes, dtype=np.uint8)
49
+ return raw_data[:frame_size].reshape((height, width)).astype(np.uint8)
50
+
51
+
52
+ def read_yuv_file():
53
+ with open("frame.yuv", "rb") as f:
54
+ return f.read()
55
+
56
+
57
+ def main(format: Literal["rgb", "rgba", "gray"]):
58
+ yuv_bytes = read_yuv_file()
59
+
60
+ if format == "rgb":
61
+ rgb = yuv420_to_rgb(yuv_bytes, width, height)
62
+ rgb_image = Image.fromarray(rgb)
63
+ rgb_image.save("frame_rgb.jpg")
64
+ elif format == "rgba":
65
+ rgba = yuv420_to_rgba(yuv_bytes, width, height)
66
+ rgba_image = Image.fromarray(rgba)
67
+ rgba_image.save("frame_rgba.png")
68
+ elif format == "gray":
69
+ gray = yuv420_to_gray(yuv_bytes, width, height)
70
+ gray_image = Image.fromarray(gray)
71
+ gray_image.save("frame_gray.jpg")
72
+
73
+
74
+ async def benchmark(format: Literal["rgb", "rgba", "gray"]):
75
+ yuv_bytes = read_yuv_file()
76
+
77
+ fps = 10
78
+ total_frames = 3000
79
+ average_latency_in_ms = 6
80
+ frame_duration = 1.0 / fps
81
+ current_frame = 0
82
+
83
+ start = time.time()
84
+
85
+ while current_frame < total_frames:
86
+ if format == "rgb":
87
+ rgb = yuv420_to_rgb(yuv_bytes, width, height)
88
+ Image.fromarray(rgb)
89
+ elif format == "rgba":
90
+ rgba = yuv420_to_rgba(yuv_bytes, width, height)
91
+ Image.fromarray(rgba)
92
+ elif format == "gray":
93
+ gray = yuv420_to_gray(yuv_bytes, width, height)
94
+ Image.fromarray(gray)
95
+
96
+ current_frame += 1
97
+ await asyncio.sleep(frame_duration + average_latency_in_ms / 1000.0)
98
+
99
+ end = time.time()
100
+ print("Simulation completed! Total duration:", (end - start) * 1000, "ms")
101
+
102
+
103
+ format: Literal["rgb", "rgba", "gray"] = "gray"
104
+
105
+ main(format)
106
+ asyncio.run(benchmark(format))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camera.ui/server",
3
- "version": "0.0.11-alpha.7",
3
+ "version": "0.0.11-alpha.8",
4
4
  "description": "camera.ui",
5
5
  "author": "seydx (https://github.com/seydx/camera.ui)",
6
6
  "bin": {
@@ -31,8 +31,8 @@
31
31
  "dependencies": {
32
32
  "@assemblyscript/loader": "^0.27.29",
33
33
  "@bjia56/portable-python": "^0.1.74",
34
- "@camera.ui/go2rtc": "^0.0.20",
35
- "@camera.ui/nats": "^0.0.9",
34
+ "@camera.ui/go2rtc": "^0.0.21",
35
+ "@camera.ui/nats": "^0.0.10",
36
36
  "@fastify/cors": "^9.0.1",
37
37
  "@fastify/formbody": "^7.4.0",
38
38
  "@fastify/helmet": "^11.1.1",
@@ -84,7 +84,7 @@
84
84
  "@types/fs-extra": "^11.0.4",
85
85
  "@types/js-yaml": "^4.0.9",
86
86
  "@types/jsonwebtoken": "^9.0.6",
87
- "@types/node": "^22.1.0",
87
+ "@types/node": "^22.2.0",
88
88
  "@types/node-forge": "^1.3.11",
89
89
  "@types/object-path": "^0.11.4",
90
90
  "@types/safe-timers": "^1.1.2",
@@ -108,7 +108,7 @@
108
108
  "rimraf": "^6.0.1",
109
109
  "tsx": "^4.17.0",
110
110
  "typescript": "^5.5.4",
111
- "updates": "^16.3.7"
111
+ "updates": "^16.4.0"
112
112
  },
113
113
  "bugs": {
114
114
  "url": "https://github.com/seydx/camera.ui/issues"