@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.
- package/dist/interface/pwa/pwa-120x120.png +0 -0
- package/dist/interface/pwa/pwa-144x144.png +0 -0
- package/dist/interface/pwa/pwa-152x152.png +0 -0
- package/dist/interface/pwa/pwa-167x167.png +0 -0
- package/dist/interface/pwa/pwa-192x192.png +0 -0
- package/dist/interface/pwa/pwa-24x24.png +0 -0
- package/dist/interface/pwa/pwa-36x36.png +0 -0
- package/dist/interface/pwa/pwa-48x48.png +0 -0
- package/dist/interface/pwa/pwa-50x50.png +0 -0
- package/dist/interface/pwa/pwa-64x64.png +0 -0
- package/dist/interface/pwa/pwa-72x72.png +0 -0
- package/dist/interface/pwa/pwa-88x88.png +0 -0
- package/dist/interface/pwa/pwa-96x96.png +0 -0
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +5 -5
- package/dist/server/src/polyglot/node/decoder/wasm/test/imageUtils.py +106 -0
- package/package.json +5 -5
|
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
|
package/dist/interface/sw.js
CHANGED
|
@@ -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")))}));
|
package/dist/server/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camera.ui/server",
|
|
3
|
-
"version": "0.0.11-alpha.
|
|
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.
|
|
35
|
-
"@camera.ui/nats": "^0.0.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
35
|
-
"@camera.ui/nats": "^0.0.
|
|
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.
|
|
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.
|
|
111
|
+
"updates": "^16.4.0"
|
|
112
112
|
},
|
|
113
113
|
"bugs": {
|
|
114
114
|
"url": "https://github.com/seydx/camera.ui/issues"
|