@@ -48,7 +48,7 @@ encoders supported by your FFmpeg install will show up.
|
||||
- [ ] AV1
|
||||
- [x] libaom-av1
|
||||
- [x] librav1e (Partial support)
|
||||
- [ ] libsvtav1
|
||||
- [x] libsvtav1
|
||||
- [ ] av1_amf
|
||||
- [ ] av1_nvenc
|
||||
- [ ] av1_qsv
|
||||
@@ -60,7 +60,6 @@ encoders supported by your FFmpeg install will show up.
|
||||
- [ ] h264_amf
|
||||
- [ ] h264_nvenc
|
||||
- [ ] h264_qsv
|
||||
- [ ] h264_v4l2m2m
|
||||
- [ ] h264_vaapi
|
||||
- [ ] h264_vulkan
|
||||
- [ ] H.265
|
||||
@@ -68,12 +67,10 @@ encoders supported by your FFmpeg install will show up.
|
||||
- [ ] h264_amf
|
||||
- [ ] h264_nvenc
|
||||
- [ ] h264_qsv
|
||||
- [ ] h264_v4l2m2m
|
||||
- [ ] h264_vaapi
|
||||
- [ ] h264_vulkan
|
||||
- [ ] VP8
|
||||
- [ ] libvpx
|
||||
- [ ] vp8_v4l2m2m
|
||||
- [ ] vp8_vaapi
|
||||
- [ ] VP9
|
||||
- [ ] libvpx-vp9
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
"defaultMode": "window",
|
||||
"documentRoot": "/solid-src/dist/",
|
||||
"url": "/",
|
||||
"port": 5432,
|
||||
"enableServer": true,
|
||||
"enableNativeAPI": true,
|
||||
"singlePageServe": true,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<script src="/__neutralino_globals.js"></script>
|
||||
<script src="http://localhost:5432/__neutralino_globals.js"></script>
|
||||
<title>Vencoder</title>
|
||||
</head>
|
||||
|
||||
|
||||
@@ -11,11 +11,13 @@
|
||||
"dependencies": {
|
||||
"@neutralinojs/lib": "^6.3.0",
|
||||
"@solidjs/router": "^0.15.3",
|
||||
"@tailwindcss/vite": "^4.1.13",
|
||||
"color-convert": "^3.1.2",
|
||||
"solid-js": "^1.9.9"
|
||||
"solid-js": "^1.9.9",
|
||||
"tailwindcss": "^4.1.13"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^24.5.2",
|
||||
"@types/node": "^24.6.1",
|
||||
"prettier": "3.6.2",
|
||||
"typescript": "~5.8.3",
|
||||
"vite": "^7.1.7",
|
||||
|
||||
Generated
+492
-124
@@ -14,16 +14,22 @@ importers:
|
||||
'@solidjs/router':
|
||||
specifier: ^0.15.3
|
||||
version: 0.15.3(solid-js@1.9.9)
|
||||
'@tailwindcss/vite':
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13(vite@7.1.7(@types/node@24.6.1)(jiti@2.6.1)(lightningcss@1.30.1))
|
||||
color-convert:
|
||||
specifier: ^3.1.2
|
||||
version: 3.1.2
|
||||
solid-js:
|
||||
specifier: ^1.9.9
|
||||
version: 1.9.9
|
||||
tailwindcss:
|
||||
specifier: ^4.1.13
|
||||
version: 4.1.13
|
||||
devDependencies:
|
||||
'@types/node':
|
||||
specifier: ^24.5.2
|
||||
version: 24.5.2
|
||||
specifier: ^24.6.1
|
||||
version: 24.6.1
|
||||
prettier:
|
||||
specifier: 3.6.2
|
||||
version: 3.6.2
|
||||
@@ -32,10 +38,10 @@ importers:
|
||||
version: 5.8.3
|
||||
vite:
|
||||
specifier: ^7.1.7
|
||||
version: 7.1.7(@types/node@24.5.2)
|
||||
version: 7.1.7(@types/node@24.6.1)(jiti@2.6.1)(lightningcss@1.30.1)
|
||||
vite-plugin-solid:
|
||||
specifier: ^2.11.8
|
||||
version: 2.11.8(solid-js@1.9.9)(vite@7.1.7(@types/node@24.5.2))
|
||||
version: 2.11.8(solid-js@1.9.9)(vite@7.1.7(@types/node@24.6.1)(jiti@2.6.1)(lightningcss@1.30.1))
|
||||
|
||||
packages:
|
||||
|
||||
@@ -276,6 +282,10 @@ packages:
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@isaacs/fs-minipass@4.0.1':
|
||||
resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
|
||||
engines: {node: '>=18.0.0'}
|
||||
|
||||
'@jridgewell/gen-mapping@0.3.13':
|
||||
resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==}
|
||||
|
||||
@@ -295,113 +305,113 @@ packages:
|
||||
'@neutralinojs/lib@6.3.0':
|
||||
resolution: {integrity: sha512-5HOtqWwylQ5SD6G/QaLNOSfub+/+fh08tTJfsEslg5fYFVbcCdTS50byqWTvkjluW57KaeuCaFpALhT20bFhDQ==}
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.52.2':
|
||||
resolution: {integrity: sha512-o3pcKzJgSGt4d74lSZ+OCnHwkKBeAbFDmbEm5gg70eA8VkyCuC/zV9TwBnmw6VjDlRdF4Pshfb+WE9E6XY1PoQ==}
|
||||
'@rollup/rollup-android-arm-eabi@4.52.3':
|
||||
resolution: {integrity: sha512-h6cqHGZ6VdnwliFG1NXvMPTy/9PS3h8oLh7ImwR+kl+oYnQizgjxsONmmPSb2C66RksfkfIxEVtDSEcJiO0tqw==}
|
||||
cpu: [arm]
|
||||
os: [android]
|
||||
|
||||
'@rollup/rollup-android-arm64@4.52.2':
|
||||
resolution: {integrity: sha512-cqFSWO5tX2vhC9hJTK8WAiPIm4Q8q/cU8j2HQA0L3E1uXvBYbOZMhE2oFL8n2pKB5sOCHY6bBuHaRwG7TkfJyw==}
|
||||
'@rollup/rollup-android-arm64@4.52.3':
|
||||
resolution: {integrity: sha512-wd+u7SLT/u6knklV/ifG7gr5Qy4GUbH2hMWcDauPFJzmCZUAJ8L2bTkVXC2niOIxp8lk3iH/QX8kSrUxVZrOVw==}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@rollup/rollup-darwin-arm64@4.52.2':
|
||||
resolution: {integrity: sha512-vngduywkkv8Fkh3wIZf5nFPXzWsNsVu1kvtLETWxTFf/5opZmflgVSeLgdHR56RQh71xhPhWoOkEBvbehwTlVA==}
|
||||
'@rollup/rollup-darwin-arm64@4.52.3':
|
||||
resolution: {integrity: sha512-lj9ViATR1SsqycwFkJCtYfQTheBdvlWJqzqxwc9f2qrcVrQaF/gCuBRTiTolkRWS6KvNxSk4KHZWG7tDktLgjg==}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@rollup/rollup-darwin-x64@4.52.2':
|
||||
resolution: {integrity: sha512-h11KikYrUCYTrDj6h939hhMNlqU2fo/X4NB0OZcys3fya49o1hmFaczAiJWVAFgrM1NCP6RrO7lQKeVYSKBPSQ==}
|
||||
'@rollup/rollup-darwin-x64@4.52.3':
|
||||
resolution: {integrity: sha512-+Dyo7O1KUmIsbzx1l+4V4tvEVnVQqMOIYtrxK7ncLSknl1xnMHLgn7gddJVrYPNZfEB8CIi3hK8gq8bDhb3h5A==}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@rollup/rollup-freebsd-arm64@4.52.2':
|
||||
resolution: {integrity: sha512-/eg4CI61ZUkLXxMHyVlmlGrSQZ34xqWlZNW43IAU4RmdzWEx0mQJ2mN/Cx4IHLVZFL6UBGAh+/GXhgvGb+nVxw==}
|
||||
'@rollup/rollup-freebsd-arm64@4.52.3':
|
||||
resolution: {integrity: sha512-u9Xg2FavYbD30g3DSfNhxgNrxhi6xVG4Y6i9Ur1C7xUuGDW3banRbXj+qgnIrwRN4KeJ396jchwy9bCIzbyBEQ==}
|
||||
cpu: [arm64]
|
||||
os: [freebsd]
|
||||
|
||||
'@rollup/rollup-freebsd-x64@4.52.2':
|
||||
resolution: {integrity: sha512-QOWgFH5X9+p+S1NAfOqc0z8qEpJIoUHf7OWjNUGOeW18Mx22lAUOiA9b6r2/vpzLdfxi/f+VWsYjUOMCcYh0Ng==}
|
||||
'@rollup/rollup-freebsd-x64@4.52.3':
|
||||
resolution: {integrity: sha512-5M8kyi/OX96wtD5qJR89a/3x5x8x5inXBZO04JWhkQb2JWavOWfjgkdvUqibGJeNNaz1/Z1PPza5/tAPXICI6A==}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.52.2':
|
||||
resolution: {integrity: sha512-kDWSPafToDd8LcBYd1t5jw7bD5Ojcu12S3uT372e5HKPzQt532vW+rGFFOaiR0opxePyUkHrwz8iWYEyH1IIQA==}
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.52.3':
|
||||
resolution: {integrity: sha512-IoerZJ4l1wRMopEHRKOO16e04iXRDyZFZnNZKrWeNquh5d6bucjezgd+OxG03mOMTnS1x7hilzb3uURPkJ0OfA==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.52.2':
|
||||
resolution: {integrity: sha512-gKm7Mk9wCv6/rkzwCiUC4KnevYhlf8ztBrDRT9g/u//1fZLapSRc+eDZj2Eu2wpJ+0RzUKgtNijnVIB4ZxyL+w==}
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.52.3':
|
||||
resolution: {integrity: sha512-ZYdtqgHTDfvrJHSh3W22TvjWxwOgc3ThK/XjgcNGP2DIwFIPeAPNsQxrJO5XqleSlgDux2VAoWQ5iJrtaC1TbA==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.52.2':
|
||||
resolution: {integrity: sha512-66lA8vnj5mB/rtDNwPgrrKUOtCLVQypkyDa2gMfOefXK6rcZAxKLO9Fy3GkW8VkPnENv9hBkNOFfGLf6rNKGUg==}
|
||||
'@rollup/rollup-linux-arm64-gnu@4.52.3':
|
||||
resolution: {integrity: sha512-NcViG7A0YtuFDA6xWSgmFb6iPFzHlf5vcqb2p0lGEbT+gjrEEz8nC/EeDHvx6mnGXnGCC1SeVV+8u+smj0CeGQ==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.52.2':
|
||||
resolution: {integrity: sha512-s+OPucLNdJHvuZHuIz2WwncJ+SfWHFEmlC5nKMUgAelUeBUnlB4wt7rXWiyG4Zn07uY2Dd+SGyVa9oyLkVGOjA==}
|
||||
'@rollup/rollup-linux-arm64-musl@4.52.3':
|
||||
resolution: {integrity: sha512-d3pY7LWno6SYNXRm6Ebsq0DJGoiLXTb83AIPCXl9fmtIQs/rXoS8SJxxUNtFbJ5MiOvs+7y34np77+9l4nfFMw==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-loong64-gnu@4.52.2':
|
||||
resolution: {integrity: sha512-8wTRM3+gVMDLLDdaT6tKmOE3lJyRy9NpJUS/ZRWmLCmOPIJhVyXwjBo+XbrrwtV33Em1/eCTd5TuGJm4+DmYjw==}
|
||||
'@rollup/rollup-linux-loong64-gnu@4.52.3':
|
||||
resolution: {integrity: sha512-3y5GA0JkBuirLqmjwAKwB0keDlI6JfGYduMlJD/Rl7fvb4Ni8iKdQs1eiunMZJhwDWdCvrcqXRY++VEBbvk6Eg==}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-ppc64-gnu@4.52.2':
|
||||
resolution: {integrity: sha512-6yqEfgJ1anIeuP2P/zhtfBlDpXUb80t8DpbYwXQ3bQd95JMvUaqiX+fKqYqUwZXqdJDd8xdilNtsHM2N0cFm6A==}
|
||||
'@rollup/rollup-linux-ppc64-gnu@4.52.3':
|
||||
resolution: {integrity: sha512-AUUH65a0p3Q0Yfm5oD2KVgzTKgwPyp9DSXc3UA7DtxhEb/WSPfbG4wqXeSN62OG5gSo18em4xv6dbfcUGXcagw==}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.52.2':
|
||||
resolution: {integrity: sha512-sshYUiYVSEI2B6dp4jMncwxbrUqRdNApF2c3bhtLAU0qA8Lrri0p0NauOsTWh3yCCCDyBOjESHMExonp7Nzc0w==}
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.52.3':
|
||||
resolution: {integrity: sha512-1makPhFFVBqZE+XFg3Dkq+IkQ7JvmUrwwqaYBL2CE+ZpxPaqkGaiWFEWVGyvTwZace6WLJHwjVh/+CXbKDGPmg==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-riscv64-musl@4.52.2':
|
||||
resolution: {integrity: sha512-duBLgd+3pqC4MMwBrKkFxaZerUxZcYApQVC5SdbF5/e/589GwVvlRUnyqMFbM8iUSb1BaoX/3fRL7hB9m2Pj8Q==}
|
||||
'@rollup/rollup-linux-riscv64-musl@4.52.3':
|
||||
resolution: {integrity: sha512-OOFJa28dxfl8kLOPMUOQBCO6z3X2SAfzIE276fwT52uXDWUS178KWq0pL7d6p1kz7pkzA0yQwtqL0dEPoVcRWg==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.52.2':
|
||||
resolution: {integrity: sha512-tzhYJJidDUVGMgVyE+PmxENPHlvvqm1KILjjZhB8/xHYqAGeizh3GBGf9u6WdJpZrz1aCpIIHG0LgJgH9rVjHQ==}
|
||||
'@rollup/rollup-linux-s390x-gnu@4.52.3':
|
||||
resolution: {integrity: sha512-jMdsML2VI5l+V7cKfZx3ak+SLlJ8fKvLJ0Eoa4b9/vCUrzXKgoKxvHqvJ/mkWhFiyp88nCkM5S2v6nIwRtPcgg==}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.52.2':
|
||||
resolution: {integrity: sha512-opH8GSUuVcCSSyHHcl5hELrmnk4waZoVpgn/4FDao9iyE4WpQhyWJ5ryl5M3ocp4qkRuHfyXnGqg8M9oKCEKRA==}
|
||||
'@rollup/rollup-linux-x64-gnu@4.52.3':
|
||||
resolution: {integrity: sha512-tPgGd6bY2M2LJTA1uGq8fkSPK8ZLYjDjY+ZLK9WHncCnfIz29LIXIqUgzCR0hIefzy6Hpbe8Th5WOSwTM8E7LA==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.52.2':
|
||||
resolution: {integrity: sha512-LSeBHnGli1pPKVJ79ZVJgeZWWZXkEe/5o8kcn23M8eMKCUANejchJbF/JqzM4RRjOJfNRhKJk8FuqL1GKjF5oQ==}
|
||||
'@rollup/rollup-linux-x64-musl@4.52.3':
|
||||
resolution: {integrity: sha512-BCFkJjgk+WFzP+tcSMXq77ymAPIxsX9lFJWs+2JzuZTLtksJ2o5hvgTdIcZ5+oKzUDMwI0PfWzRBYAydAHF2Mw==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@rollup/rollup-openharmony-arm64@4.52.2':
|
||||
resolution: {integrity: sha512-uPj7MQ6/s+/GOpolavm6BPo+6CbhbKYyZHUDvZ/SmJM7pfDBgdGisFX3bY/CBDMg2ZO4utfhlApkSfZ92yXw7Q==}
|
||||
'@rollup/rollup-openharmony-arm64@4.52.3':
|
||||
resolution: {integrity: sha512-KTD/EqjZF3yvRaWUJdD1cW+IQBk4fbQaHYJUmP8N4XoKFZilVL8cobFSTDnjTtxWJQ3JYaMgF4nObY/+nYkumA==}
|
||||
cpu: [arm64]
|
||||
os: [openharmony]
|
||||
|
||||
'@rollup/rollup-win32-arm64-msvc@4.52.2':
|
||||
resolution: {integrity: sha512-Z9MUCrSgIaUeeHAiNkm3cQyst2UhzjPraR3gYYfOjAuZI7tcFRTOD+4cHLPoS/3qinchth+V56vtqz1Tv+6KPA==}
|
||||
'@rollup/rollup-win32-arm64-msvc@4.52.3':
|
||||
resolution: {integrity: sha512-+zteHZdoUYLkyYKObGHieibUFLbttX2r+58l27XZauq0tcWYYuKUwY2wjeCN9oK1Um2YgH2ibd6cnX/wFD7DuA==}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@rollup/rollup-win32-ia32-msvc@4.52.2':
|
||||
resolution: {integrity: sha512-+GnYBmpjldD3XQd+HMejo+0gJGwYIOfFeoBQv32xF/RUIvccUz20/V6Otdv+57NE70D5pa8W/jVGDoGq0oON4A==}
|
||||
'@rollup/rollup-win32-ia32-msvc@4.52.3':
|
||||
resolution: {integrity: sha512-of1iHkTQSo3kr6dTIRX6t81uj/c/b15HXVsPcEElN5sS859qHrOepM5p9G41Hah+CTqSh2r8Bm56dL2z9UQQ7g==}
|
||||
cpu: [ia32]
|
||||
os: [win32]
|
||||
|
||||
'@rollup/rollup-win32-x64-gnu@4.52.2':
|
||||
resolution: {integrity: sha512-ApXFKluSB6kDQkAqZOKXBjiaqdF1BlKi+/eqnYe9Ee7U2K3pUDKsIyr8EYm/QDHTJIM+4X+lI0gJc3TTRhd+dA==}
|
||||
'@rollup/rollup-win32-x64-gnu@4.52.3':
|
||||
resolution: {integrity: sha512-s0hybmlHb56mWVZQj8ra9048/WZTPLILKxcvcq+8awSZmyiSUZjjem1AhU3Tf4ZKpYhK4mg36HtHDOe8QJS5PQ==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@rollup/rollup-win32-x64-msvc@4.52.2':
|
||||
resolution: {integrity: sha512-ARz+Bs8kY6FtitYM96PqPEVvPXqEZmPZsSkXvyX19YzDqkCaIlhCieLLMI5hxO9SRZ2XtCtm8wxhy0iJ2jxNfw==}
|
||||
'@rollup/rollup-win32-x64-msvc@4.52.3':
|
||||
resolution: {integrity: sha512-zGIbEVVXVtauFgl3MRwGWEN36P5ZGenHRMgNw88X5wEhEBpq0XrMEZwOn07+ICrwM17XO5xfMZqh0OldCH5VTA==}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
@@ -410,6 +420,96 @@ packages:
|
||||
peerDependencies:
|
||||
solid-js: ^1.8.6
|
||||
|
||||
'@tailwindcss/node@4.1.13':
|
||||
resolution: {integrity: sha512-eq3ouolC1oEFOAvOMOBAmfCIqZBJuvWvvYWh5h5iOYfe1HFC6+GZ6EIL0JdM3/niGRJmnrOc+8gl9/HGUaaptw==}
|
||||
|
||||
'@tailwindcss/oxide-android-arm64@4.1.13':
|
||||
resolution: {integrity: sha512-BrpTrVYyejbgGo57yc8ieE+D6VT9GOgnNdmh5Sac6+t0m+v+sKQevpFVpwX3pBrM2qKrQwJ0c5eDbtjouY/+ew==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [android]
|
||||
|
||||
'@tailwindcss/oxide-darwin-arm64@4.1.13':
|
||||
resolution: {integrity: sha512-YP+Jksc4U0KHcu76UhRDHq9bx4qtBftp9ShK/7UGfq0wpaP96YVnnjFnj3ZFrUAjc5iECzODl/Ts0AN7ZPOANQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
'@tailwindcss/oxide-darwin-x64@4.1.13':
|
||||
resolution: {integrity: sha512-aAJ3bbwrn/PQHDxCto9sxwQfT30PzyYJFG0u/BWZGeVXi5Hx6uuUOQEI2Fa43qvmUjTRQNZnGqe9t0Zntexeuw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
'@tailwindcss/oxide-freebsd-x64@4.1.13':
|
||||
resolution: {integrity: sha512-Wt8KvASHwSXhKE/dJLCCWcTSVmBj3xhVhp/aF3RpAhGeZ3sVo7+NTfgiN8Vey/Fi8prRClDs6/f0KXPDTZE6nQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
'@tailwindcss/oxide-linux-arm-gnueabihf@4.1.13':
|
||||
resolution: {integrity: sha512-mbVbcAsW3Gkm2MGwA93eLtWrwajz91aXZCNSkGTx/R5eb6KpKD5q8Ueckkh9YNboU8RH7jiv+ol/I7ZyQ9H7Bw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
'@tailwindcss/oxide-linux-arm64-gnu@4.1.13':
|
||||
resolution: {integrity: sha512-wdtfkmpXiwej/yoAkrCP2DNzRXCALq9NVLgLELgLim1QpSfhQM5+ZxQQF8fkOiEpuNoKLp4nKZ6RC4kmeFH0HQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@tailwindcss/oxide-linux-arm64-musl@4.1.13':
|
||||
resolution: {integrity: sha512-hZQrmtLdhyqzXHB7mkXfq0IYbxegaqTmfa1p9MBj72WPoDD3oNOh1Lnxf6xZLY9C3OV6qiCYkO1i/LrzEdW2mg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
'@tailwindcss/oxide-linux-x64-gnu@4.1.13':
|
||||
resolution: {integrity: sha512-uaZTYWxSXyMWDJZNY1Ul7XkJTCBRFZ5Fo6wtjrgBKzZLoJNrG+WderJwAjPzuNZOnmdrVg260DKwXCFtJ/hWRQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@tailwindcss/oxide-linux-x64-musl@4.1.13':
|
||||
resolution: {integrity: sha512-oXiPj5mi4Hdn50v5RdnuuIms0PVPI/EG4fxAfFiIKQh5TgQgX7oSuDWntHW7WNIi/yVLAiS+CRGW4RkoGSSgVQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
'@tailwindcss/oxide-wasm32-wasi@4.1.13':
|
||||
resolution: {integrity: sha512-+LC2nNtPovtrDwBc/nqnIKYh/W2+R69FA0hgoeOn64BdCX522u19ryLh3Vf3F8W49XBcMIxSe665kwy21FkhvA==}
|
||||
engines: {node: '>=14.0.0'}
|
||||
cpu: [wasm32]
|
||||
bundledDependencies:
|
||||
- '@napi-rs/wasm-runtime'
|
||||
- '@emnapi/core'
|
||||
- '@emnapi/runtime'
|
||||
- '@tybys/wasm-util'
|
||||
- '@emnapi/wasi-threads'
|
||||
- tslib
|
||||
|
||||
'@tailwindcss/oxide-win32-arm64-msvc@4.1.13':
|
||||
resolution: {integrity: sha512-dziTNeQXtoQ2KBXmrjCxsuPk3F3CQ/yb7ZNZNA+UkNTeiTGgfeh+gH5Pi7mRncVgcPD2xgHvkFCh/MhZWSgyQg==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
'@tailwindcss/oxide-win32-x64-msvc@4.1.13':
|
||||
resolution: {integrity: sha512-3+LKesjXydTkHk5zXX01b5KMzLV1xl2mcktBJkje7rhFUpUlYJy7IMOLqjIRQncLTa1WZZiFY/foAeB5nmaiTw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
'@tailwindcss/oxide@4.1.13':
|
||||
resolution: {integrity: sha512-CPgsM1IpGRa880sMbYmG1s4xhAy3xEt1QULgTJGQmZUeNgXFR7s1YxYygmJyBGtou4SyEosGAGEeYqY7R53bIA==}
|
||||
engines: {node: '>= 10'}
|
||||
|
||||
'@tailwindcss/vite@4.1.13':
|
||||
resolution: {integrity: sha512-0PmqLQ010N58SbMTJ7BVJ4I2xopiQn/5i6nlb4JmxzQf8zcS5+m2Cv6tqh+sfDwtIdjoEnOvwsGQ1hkUi8QEHQ==}
|
||||
peerDependencies:
|
||||
vite: ^5.2.0 || ^6 || ^7
|
||||
|
||||
'@types/babel__core@7.20.5':
|
||||
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
|
||||
|
||||
@@ -425,8 +525,8 @@ packages:
|
||||
'@types/estree@1.0.8':
|
||||
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
|
||||
|
||||
'@types/node@24.5.2':
|
||||
resolution: {integrity: sha512-FYxk1I7wPv3K2XBaoyH2cTnocQEu8AOZ60hPbsyukMPLv5/5qr7V1i8PLHdl6Zf87I+xZXFvPCXYjiTFq+YSDQ==}
|
||||
'@types/node@24.6.1':
|
||||
resolution: {integrity: sha512-ljvjjs3DNXummeIaooB4cLBKg2U6SPI6Hjra/9rRIy7CpM0HpLtG9HptkMKAb4HYWy5S7HUvJEuWgr/y0U8SHw==}
|
||||
|
||||
babel-plugin-jsx-dom-expressions@0.40.1:
|
||||
resolution: {integrity: sha512-b4iHuirqK7RgaMzB2Lsl7MqrlDgQtVRSSazyrmx7wB3T759ggGjod5Rkok5MfHjQXhR7tRPmdwoeGPqBnW2KfA==}
|
||||
@@ -442,8 +542,8 @@ packages:
|
||||
solid-js:
|
||||
optional: true
|
||||
|
||||
baseline-browser-mapping@2.8.6:
|
||||
resolution: {integrity: sha512-wrH5NNqren/QMtKUEEJf7z86YjfqW/2uw3IL3/xpqZUC95SSVIFXYQeeGjL6FT/X68IROu6RMehZQS5foy2BXw==}
|
||||
baseline-browser-mapping@2.8.9:
|
||||
resolution: {integrity: sha512-hY/u2lxLrbecMEWSB0IpGzGyDyeoMFQhCvZd2jGFSE5I17Fh01sYUBPCJtkWERw7zrac9+cIghxm/ytJa2X8iA==}
|
||||
hasBin: true
|
||||
|
||||
browserslist@4.26.2:
|
||||
@@ -451,8 +551,12 @@ packages:
|
||||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
||||
hasBin: true
|
||||
|
||||
caniuse-lite@1.0.30001743:
|
||||
resolution: {integrity: sha512-e6Ojr7RV14Un7dz6ASD0aZDmQPT/A+eZU+nuTNfjqmRrmkmQlnTNWH0SKmqagx9PeW87UVqapSurtAXifmtdmw==}
|
||||
caniuse-lite@1.0.30001746:
|
||||
resolution: {integrity: sha512-eA7Ys/DGw+pnkWWSE/id29f2IcPHVoE8wxtvE5JdvD2V28VTDPy1yEeo11Guz0sJ4ZeGRcm3uaTcAqK1LXaphA==}
|
||||
|
||||
chownr@3.0.0:
|
||||
resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
color-convert@3.1.2:
|
||||
resolution: {integrity: sha512-UNqkvCDXstVck3kdowtOTWROIJQwafjOfXSmddoDrXo4cewMKmusCeF22Q24zvjR8nwWib/3S/dfyzPItPEiJg==}
|
||||
@@ -477,8 +581,16 @@ packages:
|
||||
supports-color:
|
||||
optional: true
|
||||
|
||||
electron-to-chromium@1.5.222:
|
||||
resolution: {integrity: sha512-gA7psSwSwQRE60CEoLz6JBCQPIxNeuzB2nL8vE03GK/OHxlvykbLyeiumQy1iH5C2f3YbRAZpGCMT12a/9ih9w==}
|
||||
detect-libc@2.1.1:
|
||||
resolution: {integrity: sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==}
|
||||
engines: {node: '>=8'}
|
||||
|
||||
electron-to-chromium@1.5.228:
|
||||
resolution: {integrity: sha512-nxkiyuqAn4MJ1QbobwqJILiDtu/jk14hEAWaMiJmNPh1Z+jqoFlBFZjdXwLWGeVSeu9hGLg6+2G9yJaW8rBIFA==}
|
||||
|
||||
enhanced-resolve@5.18.3:
|
||||
resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==}
|
||||
engines: {node: '>=10.13.0'}
|
||||
|
||||
entities@6.0.1:
|
||||
resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==}
|
||||
@@ -511,6 +623,9 @@ packages:
|
||||
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
||||
graceful-fs@4.2.11:
|
||||
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
|
||||
|
||||
html-entities@2.3.3:
|
||||
resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==}
|
||||
|
||||
@@ -518,6 +633,10 @@ packages:
|
||||
resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
|
||||
engines: {node: '>=12.13'}
|
||||
|
||||
jiti@2.6.1:
|
||||
resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==}
|
||||
hasBin: true
|
||||
|
||||
js-tokens@4.0.0:
|
||||
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
|
||||
|
||||
@@ -531,13 +650,88 @@ packages:
|
||||
engines: {node: '>=6'}
|
||||
hasBin: true
|
||||
|
||||
lightningcss-darwin-arm64@1.30.1:
|
||||
resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
||||
lightningcss-darwin-x64@1.30.1:
|
||||
resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
||||
lightningcss-freebsd-x64@1.30.1:
|
||||
resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [x64]
|
||||
os: [freebsd]
|
||||
|
||||
lightningcss-linux-arm-gnueabihf@1.30.1:
|
||||
resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
|
||||
lightningcss-linux-arm64-gnu@1.30.1:
|
||||
resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
lightningcss-linux-arm64-musl@1.30.1:
|
||||
resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
|
||||
lightningcss-linux-x64-gnu@1.30.1:
|
||||
resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
lightningcss-linux-x64-musl@1.30.1:
|
||||
resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
||||
lightningcss-win32-arm64-msvc@1.30.1:
|
||||
resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
||||
lightningcss-win32-x64-msvc@1.30.1:
|
||||
resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
||||
lightningcss@1.30.1:
|
||||
resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==}
|
||||
engines: {node: '>= 12.0.0'}
|
||||
|
||||
lru-cache@5.1.1:
|
||||
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
|
||||
|
||||
magic-string@0.30.19:
|
||||
resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==}
|
||||
|
||||
merge-anything@5.1.7:
|
||||
resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==}
|
||||
engines: {node: '>=12.13'}
|
||||
|
||||
minipass@7.1.2:
|
||||
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
|
||||
engines: {node: '>=16 || 14 >=14.17'}
|
||||
|
||||
minizlib@3.1.0:
|
||||
resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==}
|
||||
engines: {node: '>= 18'}
|
||||
|
||||
ms@2.1.3:
|
||||
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
||||
|
||||
@@ -568,8 +762,8 @@ packages:
|
||||
engines: {node: '>=14'}
|
||||
hasBin: true
|
||||
|
||||
rollup@4.52.2:
|
||||
resolution: {integrity: sha512-I25/2QgoROE1vYV+NQ1En9T9UFB9Cmfm2CJ83zZOlaDpvz29wGQSZXWKw7MiNXau7wYgB/T9fVIdIuEQ+KbiiA==}
|
||||
rollup@4.52.3:
|
||||
resolution: {integrity: sha512-RIDh866U8agLgiIcdpB+COKnlCreHJLfIhWC3LVflku5YHfpnsIKigRZeFfMfCc4dVcqNVfQQ5gO/afOck064A==}
|
||||
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
|
||||
hasBin: true
|
||||
|
||||
@@ -599,6 +793,17 @@ packages:
|
||||
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
||||
tailwindcss@4.1.13:
|
||||
resolution: {integrity: sha512-i+zidfmTqtwquj4hMEwdjshYYgMbOrPzb9a0M3ZgNa0JMoZeFC6bxZvO8yr8ozS6ix2SDz0+mvryPeBs2TFE+w==}
|
||||
|
||||
tapable@2.2.3:
|
||||
resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==}
|
||||
engines: {node: '>=6'}
|
||||
|
||||
tar@7.5.1:
|
||||
resolution: {integrity: sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
tinyglobby@0.2.15:
|
||||
resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
@@ -608,8 +813,8 @@ packages:
|
||||
engines: {node: '>=14.17'}
|
||||
hasBin: true
|
||||
|
||||
undici-types@7.12.0:
|
||||
resolution: {integrity: sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==}
|
||||
undici-types@7.13.0:
|
||||
resolution: {integrity: sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ==}
|
||||
|
||||
update-browserslist-db@1.1.3:
|
||||
resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
|
||||
@@ -681,6 +886,10 @@ packages:
|
||||
yallist@3.1.1:
|
||||
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
|
||||
|
||||
yallist@5.0.0:
|
||||
resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
|
||||
engines: {node: '>=18'}
|
||||
|
||||
snapshots:
|
||||
|
||||
'@babel/code-frame@7.27.1':
|
||||
@@ -872,6 +1081,10 @@ snapshots:
|
||||
'@esbuild/win32-x64@0.25.10':
|
||||
optional: true
|
||||
|
||||
'@isaacs/fs-minipass@4.0.1':
|
||||
dependencies:
|
||||
minipass: 7.1.2
|
||||
|
||||
'@jridgewell/gen-mapping@0.3.13':
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.5.5
|
||||
@@ -893,79 +1106,150 @@ snapshots:
|
||||
|
||||
'@neutralinojs/lib@6.3.0':
|
||||
optionalDependencies:
|
||||
'@rollup/rollup-darwin-x64': 4.52.2
|
||||
'@rollup/rollup-linux-x64-gnu': 4.52.2
|
||||
'@rollup/rollup-darwin-x64': 4.52.3
|
||||
'@rollup/rollup-linux-x64-gnu': 4.52.3
|
||||
|
||||
'@rollup/rollup-android-arm-eabi@4.52.2':
|
||||
'@rollup/rollup-android-arm-eabi@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-android-arm64@4.52.2':
|
||||
'@rollup/rollup-android-arm64@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-darwin-arm64@4.52.2':
|
||||
'@rollup/rollup-darwin-arm64@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-darwin-x64@4.52.2':
|
||||
'@rollup/rollup-darwin-x64@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-freebsd-arm64@4.52.2':
|
||||
'@rollup/rollup-freebsd-arm64@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-freebsd-x64@4.52.2':
|
||||
'@rollup/rollup-freebsd-x64@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.52.2':
|
||||
'@rollup/rollup-linux-arm-gnueabihf@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.52.2':
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.52.2':
|
||||
'@rollup/rollup-linux-arm64-gnu@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.52.2':
|
||||
'@rollup/rollup-linux-arm64-musl@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-loong64-gnu@4.52.2':
|
||||
'@rollup/rollup-linux-loong64-gnu@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-ppc64-gnu@4.52.2':
|
||||
'@rollup/rollup-linux-ppc64-gnu@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.52.2':
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-riscv64-musl@4.52.2':
|
||||
'@rollup/rollup-linux-riscv64-musl@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.52.2':
|
||||
'@rollup/rollup-linux-s390x-gnu@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.52.2':
|
||||
'@rollup/rollup-linux-x64-gnu@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.52.2':
|
||||
'@rollup/rollup-linux-x64-musl@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-openharmony-arm64@4.52.2':
|
||||
'@rollup/rollup-openharmony-arm64@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-arm64-msvc@4.52.2':
|
||||
'@rollup/rollup-win32-arm64-msvc@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-ia32-msvc@4.52.2':
|
||||
'@rollup/rollup-win32-ia32-msvc@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-x64-gnu@4.52.2':
|
||||
'@rollup/rollup-win32-x64-gnu@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@rollup/rollup-win32-x64-msvc@4.52.2':
|
||||
'@rollup/rollup-win32-x64-msvc@4.52.3':
|
||||
optional: true
|
||||
|
||||
'@solidjs/router@0.15.3(solid-js@1.9.9)':
|
||||
dependencies:
|
||||
solid-js: 1.9.9
|
||||
|
||||
'@tailwindcss/node@4.1.13':
|
||||
dependencies:
|
||||
'@jridgewell/remapping': 2.3.5
|
||||
enhanced-resolve: 5.18.3
|
||||
jiti: 2.6.1
|
||||
lightningcss: 1.30.1
|
||||
magic-string: 0.30.19
|
||||
source-map-js: 1.2.1
|
||||
tailwindcss: 4.1.13
|
||||
|
||||
'@tailwindcss/oxide-android-arm64@4.1.13':
|
||||
optional: true
|
||||
|
||||
'@tailwindcss/oxide-darwin-arm64@4.1.13':
|
||||
optional: true
|
||||
|
||||
'@tailwindcss/oxide-darwin-x64@4.1.13':
|
||||
optional: true
|
||||
|
||||
'@tailwindcss/oxide-freebsd-x64@4.1.13':
|
||||
optional: true
|
||||
|
||||
'@tailwindcss/oxide-linux-arm-gnueabihf@4.1.13':
|
||||
optional: true
|
||||
|
||||
'@tailwindcss/oxide-linux-arm64-gnu@4.1.13':
|
||||
optional: true
|
||||
|
||||
'@tailwindcss/oxide-linux-arm64-musl@4.1.13':
|
||||
optional: true
|
||||
|
||||
'@tailwindcss/oxide-linux-x64-gnu@4.1.13':
|
||||
optional: true
|
||||
|
||||
'@tailwindcss/oxide-linux-x64-musl@4.1.13':
|
||||
optional: true
|
||||
|
||||
'@tailwindcss/oxide-wasm32-wasi@4.1.13':
|
||||
optional: true
|
||||
|
||||
'@tailwindcss/oxide-win32-arm64-msvc@4.1.13':
|
||||
optional: true
|
||||
|
||||
'@tailwindcss/oxide-win32-x64-msvc@4.1.13':
|
||||
optional: true
|
||||
|
||||
'@tailwindcss/oxide@4.1.13':
|
||||
dependencies:
|
||||
detect-libc: 2.1.1
|
||||
tar: 7.5.1
|
||||
optionalDependencies:
|
||||
'@tailwindcss/oxide-android-arm64': 4.1.13
|
||||
'@tailwindcss/oxide-darwin-arm64': 4.1.13
|
||||
'@tailwindcss/oxide-darwin-x64': 4.1.13
|
||||
'@tailwindcss/oxide-freebsd-x64': 4.1.13
|
||||
'@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.13
|
||||
'@tailwindcss/oxide-linux-arm64-gnu': 4.1.13
|
||||
'@tailwindcss/oxide-linux-arm64-musl': 4.1.13
|
||||
'@tailwindcss/oxide-linux-x64-gnu': 4.1.13
|
||||
'@tailwindcss/oxide-linux-x64-musl': 4.1.13
|
||||
'@tailwindcss/oxide-wasm32-wasi': 4.1.13
|
||||
'@tailwindcss/oxide-win32-arm64-msvc': 4.1.13
|
||||
'@tailwindcss/oxide-win32-x64-msvc': 4.1.13
|
||||
|
||||
'@tailwindcss/vite@4.1.13(vite@7.1.7(@types/node@24.6.1)(jiti@2.6.1)(lightningcss@1.30.1))':
|
||||
dependencies:
|
||||
'@tailwindcss/node': 4.1.13
|
||||
'@tailwindcss/oxide': 4.1.13
|
||||
tailwindcss: 4.1.13
|
||||
vite: 7.1.7(@types/node@24.6.1)(jiti@2.6.1)(lightningcss@1.30.1)
|
||||
|
||||
'@types/babel__core@7.20.5':
|
||||
dependencies:
|
||||
'@babel/parser': 7.28.4
|
||||
@@ -989,9 +1273,9 @@ snapshots:
|
||||
|
||||
'@types/estree@1.0.8': {}
|
||||
|
||||
'@types/node@24.5.2':
|
||||
'@types/node@24.6.1':
|
||||
dependencies:
|
||||
undici-types: 7.12.0
|
||||
undici-types: 7.13.0
|
||||
|
||||
babel-plugin-jsx-dom-expressions@0.40.1(@babel/core@7.28.4):
|
||||
dependencies:
|
||||
@@ -1010,17 +1294,19 @@ snapshots:
|
||||
optionalDependencies:
|
||||
solid-js: 1.9.9
|
||||
|
||||
baseline-browser-mapping@2.8.6: {}
|
||||
baseline-browser-mapping@2.8.9: {}
|
||||
|
||||
browserslist@4.26.2:
|
||||
dependencies:
|
||||
baseline-browser-mapping: 2.8.6
|
||||
caniuse-lite: 1.0.30001743
|
||||
electron-to-chromium: 1.5.222
|
||||
baseline-browser-mapping: 2.8.9
|
||||
caniuse-lite: 1.0.30001746
|
||||
electron-to-chromium: 1.5.228
|
||||
node-releases: 2.0.21
|
||||
update-browserslist-db: 1.1.3(browserslist@4.26.2)
|
||||
|
||||
caniuse-lite@1.0.30001743: {}
|
||||
caniuse-lite@1.0.30001746: {}
|
||||
|
||||
chownr@3.0.0: {}
|
||||
|
||||
color-convert@3.1.2:
|
||||
dependencies:
|
||||
@@ -1036,7 +1322,14 @@ snapshots:
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
|
||||
electron-to-chromium@1.5.222: {}
|
||||
detect-libc@2.1.1: {}
|
||||
|
||||
electron-to-chromium@1.5.228: {}
|
||||
|
||||
enhanced-resolve@5.18.3:
|
||||
dependencies:
|
||||
graceful-fs: 4.2.11
|
||||
tapable: 2.2.3
|
||||
|
||||
entities@6.0.1: {}
|
||||
|
||||
@@ -1080,24 +1373,83 @@ snapshots:
|
||||
|
||||
gensync@1.0.0-beta.2: {}
|
||||
|
||||
graceful-fs@4.2.11: {}
|
||||
|
||||
html-entities@2.3.3: {}
|
||||
|
||||
is-what@4.1.16: {}
|
||||
|
||||
jiti@2.6.1: {}
|
||||
|
||||
js-tokens@4.0.0: {}
|
||||
|
||||
jsesc@3.1.0: {}
|
||||
|
||||
json5@2.2.3: {}
|
||||
|
||||
lightningcss-darwin-arm64@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-darwin-x64@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-freebsd-x64@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-linux-arm-gnueabihf@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-linux-arm64-gnu@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-linux-arm64-musl@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-linux-x64-gnu@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-linux-x64-musl@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-win32-arm64-msvc@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss-win32-x64-msvc@1.30.1:
|
||||
optional: true
|
||||
|
||||
lightningcss@1.30.1:
|
||||
dependencies:
|
||||
detect-libc: 2.1.1
|
||||
optionalDependencies:
|
||||
lightningcss-darwin-arm64: 1.30.1
|
||||
lightningcss-darwin-x64: 1.30.1
|
||||
lightningcss-freebsd-x64: 1.30.1
|
||||
lightningcss-linux-arm-gnueabihf: 1.30.1
|
||||
lightningcss-linux-arm64-gnu: 1.30.1
|
||||
lightningcss-linux-arm64-musl: 1.30.1
|
||||
lightningcss-linux-x64-gnu: 1.30.1
|
||||
lightningcss-linux-x64-musl: 1.30.1
|
||||
lightningcss-win32-arm64-msvc: 1.30.1
|
||||
lightningcss-win32-x64-msvc: 1.30.1
|
||||
|
||||
lru-cache@5.1.1:
|
||||
dependencies:
|
||||
yallist: 3.1.1
|
||||
|
||||
magic-string@0.30.19:
|
||||
dependencies:
|
||||
'@jridgewell/sourcemap-codec': 1.5.5
|
||||
|
||||
merge-anything@5.1.7:
|
||||
dependencies:
|
||||
is-what: 4.1.16
|
||||
|
||||
minipass@7.1.2: {}
|
||||
|
||||
minizlib@3.1.0:
|
||||
dependencies:
|
||||
minipass: 7.1.2
|
||||
|
||||
ms@2.1.3: {}
|
||||
|
||||
nanoid@3.3.11: {}
|
||||
@@ -1120,32 +1472,32 @@ snapshots:
|
||||
|
||||
prettier@3.6.2: {}
|
||||
|
||||
rollup@4.52.2:
|
||||
rollup@4.52.3:
|
||||
dependencies:
|
||||
'@types/estree': 1.0.8
|
||||
optionalDependencies:
|
||||
'@rollup/rollup-android-arm-eabi': 4.52.2
|
||||
'@rollup/rollup-android-arm64': 4.52.2
|
||||
'@rollup/rollup-darwin-arm64': 4.52.2
|
||||
'@rollup/rollup-darwin-x64': 4.52.2
|
||||
'@rollup/rollup-freebsd-arm64': 4.52.2
|
||||
'@rollup/rollup-freebsd-x64': 4.52.2
|
||||
'@rollup/rollup-linux-arm-gnueabihf': 4.52.2
|
||||
'@rollup/rollup-linux-arm-musleabihf': 4.52.2
|
||||
'@rollup/rollup-linux-arm64-gnu': 4.52.2
|
||||
'@rollup/rollup-linux-arm64-musl': 4.52.2
|
||||
'@rollup/rollup-linux-loong64-gnu': 4.52.2
|
||||
'@rollup/rollup-linux-ppc64-gnu': 4.52.2
|
||||
'@rollup/rollup-linux-riscv64-gnu': 4.52.2
|
||||
'@rollup/rollup-linux-riscv64-musl': 4.52.2
|
||||
'@rollup/rollup-linux-s390x-gnu': 4.52.2
|
||||
'@rollup/rollup-linux-x64-gnu': 4.52.2
|
||||
'@rollup/rollup-linux-x64-musl': 4.52.2
|
||||
'@rollup/rollup-openharmony-arm64': 4.52.2
|
||||
'@rollup/rollup-win32-arm64-msvc': 4.52.2
|
||||
'@rollup/rollup-win32-ia32-msvc': 4.52.2
|
||||
'@rollup/rollup-win32-x64-gnu': 4.52.2
|
||||
'@rollup/rollup-win32-x64-msvc': 4.52.2
|
||||
'@rollup/rollup-android-arm-eabi': 4.52.3
|
||||
'@rollup/rollup-android-arm64': 4.52.3
|
||||
'@rollup/rollup-darwin-arm64': 4.52.3
|
||||
'@rollup/rollup-darwin-x64': 4.52.3
|
||||
'@rollup/rollup-freebsd-arm64': 4.52.3
|
||||
'@rollup/rollup-freebsd-x64': 4.52.3
|
||||
'@rollup/rollup-linux-arm-gnueabihf': 4.52.3
|
||||
'@rollup/rollup-linux-arm-musleabihf': 4.52.3
|
||||
'@rollup/rollup-linux-arm64-gnu': 4.52.3
|
||||
'@rollup/rollup-linux-arm64-musl': 4.52.3
|
||||
'@rollup/rollup-linux-loong64-gnu': 4.52.3
|
||||
'@rollup/rollup-linux-ppc64-gnu': 4.52.3
|
||||
'@rollup/rollup-linux-riscv64-gnu': 4.52.3
|
||||
'@rollup/rollup-linux-riscv64-musl': 4.52.3
|
||||
'@rollup/rollup-linux-s390x-gnu': 4.52.3
|
||||
'@rollup/rollup-linux-x64-gnu': 4.52.3
|
||||
'@rollup/rollup-linux-x64-musl': 4.52.3
|
||||
'@rollup/rollup-openharmony-arm64': 4.52.3
|
||||
'@rollup/rollup-win32-arm64-msvc': 4.52.3
|
||||
'@rollup/rollup-win32-ia32-msvc': 4.52.3
|
||||
'@rollup/rollup-win32-x64-gnu': 4.52.3
|
||||
'@rollup/rollup-win32-x64-msvc': 4.52.3
|
||||
fsevents: 2.3.3
|
||||
|
||||
semver@6.3.1: {}
|
||||
@@ -1173,6 +1525,18 @@ snapshots:
|
||||
|
||||
source-map-js@1.2.1: {}
|
||||
|
||||
tailwindcss@4.1.13: {}
|
||||
|
||||
tapable@2.2.3: {}
|
||||
|
||||
tar@7.5.1:
|
||||
dependencies:
|
||||
'@isaacs/fs-minipass': 4.0.1
|
||||
chownr: 3.0.0
|
||||
minipass: 7.1.2
|
||||
minizlib: 3.1.0
|
||||
yallist: 5.0.0
|
||||
|
||||
tinyglobby@0.2.15:
|
||||
dependencies:
|
||||
fdir: 6.5.0(picomatch@4.0.3)
|
||||
@@ -1180,7 +1544,7 @@ snapshots:
|
||||
|
||||
typescript@5.8.3: {}
|
||||
|
||||
undici-types@7.12.0: {}
|
||||
undici-types@7.13.0: {}
|
||||
|
||||
update-browserslist-db@1.1.3(browserslist@4.26.2):
|
||||
dependencies:
|
||||
@@ -1190,7 +1554,7 @@ snapshots:
|
||||
|
||||
validate-html-nesting@1.2.3: {}
|
||||
|
||||
vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.7(@types/node@24.5.2)):
|
||||
vite-plugin-solid@2.11.8(solid-js@1.9.9)(vite@7.1.7(@types/node@24.6.1)(jiti@2.6.1)(lightningcss@1.30.1)):
|
||||
dependencies:
|
||||
'@babel/core': 7.28.4
|
||||
'@types/babel__core': 7.20.5
|
||||
@@ -1198,25 +1562,29 @@ snapshots:
|
||||
merge-anything: 5.1.7
|
||||
solid-js: 1.9.9
|
||||
solid-refresh: 0.6.3(solid-js@1.9.9)
|
||||
vite: 7.1.7(@types/node@24.5.2)
|
||||
vitefu: 1.1.1(vite@7.1.7(@types/node@24.5.2))
|
||||
vite: 7.1.7(@types/node@24.6.1)(jiti@2.6.1)(lightningcss@1.30.1)
|
||||
vitefu: 1.1.1(vite@7.1.7(@types/node@24.6.1)(jiti@2.6.1)(lightningcss@1.30.1))
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
vite@7.1.7(@types/node@24.5.2):
|
||||
vite@7.1.7(@types/node@24.6.1)(jiti@2.6.1)(lightningcss@1.30.1):
|
||||
dependencies:
|
||||
esbuild: 0.25.10
|
||||
fdir: 6.5.0(picomatch@4.0.3)
|
||||
picomatch: 4.0.3
|
||||
postcss: 8.5.6
|
||||
rollup: 4.52.2
|
||||
rollup: 4.52.3
|
||||
tinyglobby: 0.2.15
|
||||
optionalDependencies:
|
||||
'@types/node': 24.5.2
|
||||
'@types/node': 24.6.1
|
||||
fsevents: 2.3.3
|
||||
jiti: 2.6.1
|
||||
lightningcss: 1.30.1
|
||||
|
||||
vitefu@1.1.1(vite@7.1.7(@types/node@24.5.2)):
|
||||
vitefu@1.1.1(vite@7.1.7(@types/node@24.6.1)(jiti@2.6.1)(lightningcss@1.30.1)):
|
||||
optionalDependencies:
|
||||
vite: 7.1.7(@types/node@24.5.2)
|
||||
vite: 7.1.7(@types/node@24.6.1)(jiti@2.6.1)(lightningcss@1.30.1)
|
||||
|
||||
yallist@3.1.1: {}
|
||||
|
||||
yallist@5.0.0: {}
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
onlyBuiltDependencies:
|
||||
- '@tailwindcss/oxide'
|
||||
- esbuild
|
||||
|
||||
@@ -251,8 +251,10 @@ function App() {
|
||||
return encoders;
|
||||
}
|
||||
|
||||
function onParametersChanged(key: string, value: any) {
|
||||
// @ts-ignore
|
||||
function onParametersChanged<K extends keyof FFmpegParams>(
|
||||
key: K,
|
||||
value: any,
|
||||
) {
|
||||
ffmpegParams[key] = value;
|
||||
setOutputCommand(generateOutputCommand(ffmpegParams));
|
||||
}
|
||||
@@ -264,6 +266,7 @@ function App() {
|
||||
x: 120,
|
||||
y: 120,
|
||||
injectGlobals: true,
|
||||
processArgs: "--port=5434",
|
||||
});
|
||||
}
|
||||
|
||||
@@ -276,7 +279,7 @@ function App() {
|
||||
|
||||
let acodec = audioEncoder();
|
||||
|
||||
if (acodec === "") {
|
||||
if (acodec === undefined || acodec === "") {
|
||||
acodec = audioCodec();
|
||||
}
|
||||
|
||||
@@ -391,6 +394,7 @@ function App() {
|
||||
injectGlobals: true,
|
||||
maximizable: false,
|
||||
enableInspector: false,
|
||||
processArgs: "--port=5433",
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,22 +1,30 @@
|
||||
import { Match, Switch } from "solid-js";
|
||||
import type { CodecInfo, FFmpegParams } from "@/util/ffmpeg";
|
||||
import type {
|
||||
CodecInfo,
|
||||
FFmpegParamChangedFunc,
|
||||
FFmpegParams,
|
||||
} from "@/util/ffmpeg";
|
||||
import LibaomOptions from "./encoders/libaom";
|
||||
import Librav1eOptions from "./encoders/librav1e";
|
||||
import LibSvtAv1Options from "./encoders/libsvtav1";
|
||||
|
||||
function AV1Options(props: {
|
||||
codec: CodecInfo | undefined;
|
||||
encoder: string;
|
||||
params: FFmpegParams;
|
||||
onParamChanged: (key: string, value: any) => void;
|
||||
onParamChanged: FFmpegParamChangedFunc;
|
||||
}) {
|
||||
return (
|
||||
<Switch fallback={<div>No options.</div>}>
|
||||
<Switch fallback={<div class="text-center mt-4">No options.</div>}>
|
||||
<Match when={props.encoder === "libaom-av1"}>
|
||||
<LibaomOptions {...props} />
|
||||
</Match>
|
||||
<Match when={props.encoder === "librav1e"}>
|
||||
<Librav1eOptions {...props} />
|
||||
</Match>
|
||||
<Match when={props.encoder === "libsvtav1"}>
|
||||
<LibSvtAv1Options {...props} />
|
||||
</Match>
|
||||
</Switch>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
import { os } from "@neutralinojs/lib";
|
||||
import { type CodecInfo, type FFmpegParams } from "../util/ffmpeg";
|
||||
import {
|
||||
type CodecInfo,
|
||||
type FFmpegParamChangedFunc,
|
||||
type FFmpegParams,
|
||||
} from "../util/ffmpeg";
|
||||
import BreezeIcon from "./BreezeIcon";
|
||||
|
||||
/**
|
||||
@@ -8,7 +12,7 @@ import BreezeIcon from "./BreezeIcon";
|
||||
function DNxHDOptions(props: {
|
||||
codec: CodecInfo | undefined;
|
||||
params: FFmpegParams;
|
||||
onParamChanged: (key: string, value: any) => void;
|
||||
onParamChanged: FFmpegParamChangedFunc;
|
||||
}) {
|
||||
return (
|
||||
<section id="commonLossyOptions">
|
||||
|
||||
@@ -2,6 +2,7 @@ import { createSignal, Show } from "solid-js";
|
||||
import {
|
||||
DEFAULT_BITRATE,
|
||||
type CodecInfo,
|
||||
type FFmpegParamChangedFunc,
|
||||
type FFmpegParams,
|
||||
} from "../util/ffmpeg";
|
||||
import { os } from "@neutralinojs/lib";
|
||||
@@ -22,7 +23,7 @@ const information = {
|
||||
function H264Options(props: {
|
||||
codec: CodecInfo | undefined;
|
||||
params: FFmpegParams;
|
||||
onParamChanged: (key: string, value: any) => void;
|
||||
onParamChanged: FFmpegParamChangedFunc;
|
||||
}) {
|
||||
const [twopass, setTwopass] = createSignal(false);
|
||||
const defaultCrf =
|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
import { createSignal, Show } from "solid-js";
|
||||
import {
|
||||
DEFAULT_BITRATE,
|
||||
type CodecInfo,
|
||||
type FFmpegParams,
|
||||
} from "../util/ffmpeg";
|
||||
import { os } from "@neutralinojs/lib";
|
||||
import BreezeIcon from "./BreezeIcon";
|
||||
|
||||
function VP9Options(props: {
|
||||
codec: CodecInfo | undefined;
|
||||
params: FFmpegParams;
|
||||
onParamChanged: (key: string, value: any) => void;
|
||||
}) {
|
||||
const [twopass, setTwopass] = createSignal(false);
|
||||
const defaultCrf = 30;
|
||||
|
||||
return (
|
||||
<section id="commonLossyOptions">
|
||||
<div class="row flex-col align-items-center">
|
||||
<h3 class="k-form-section-title">Encoder Options</h3>
|
||||
</div>
|
||||
<div class="k-form">
|
||||
<div></div>
|
||||
<div class="checkbox-container">
|
||||
<input
|
||||
type="checkbox"
|
||||
value={props.params.twopass?.toString()}
|
||||
onInput={(e) => {
|
||||
props.params.twopass = e.target.checked;
|
||||
props.onParamChanged("twopass", e.target.checked);
|
||||
setTwopass(e.target.checked);
|
||||
}}
|
||||
id="twopassCheck"
|
||||
/>
|
||||
<label for="twopassCheck">
|
||||
Use target bitrate instead of CRF
|
||||
</label>
|
||||
<button
|
||||
class="icon-button"
|
||||
onclick={() =>
|
||||
os.open(
|
||||
"https://trac.ffmpeg.org/wiki/Encode/H.264#twopass",
|
||||
)
|
||||
}
|
||||
title="This will use the two-pass rate control mode instead of relying on a Constant Rate Factor (CRF) value."
|
||||
>
|
||||
<BreezeIcon icon="help-about" alt="Help" />
|
||||
</button>
|
||||
</div>
|
||||
<label for="encodingPreset">Preset</label>
|
||||
<select
|
||||
class="k-dropdown"
|
||||
name="encodingPreset"
|
||||
id="encodingPreset"
|
||||
value={props.params.preset ?? "medium"}
|
||||
oninput={(e) => {
|
||||
props.params.preset = e.target.value;
|
||||
props.onParamChanged("preset", e.target.value);
|
||||
}}
|
||||
>
|
||||
<option value="ultrafast">ultrafast</option>
|
||||
<option value="superfast">superfast</option>
|
||||
<option value="veryfast">veryfast</option>
|
||||
<option value="faster">faster</option>
|
||||
<option value="fast">fast</option>
|
||||
<option value="medium">medium (Default)</option>
|
||||
<option value="slow">slow</option>
|
||||
<option value="slower">slower</option>
|
||||
<option value="veryslow">veryslow</option>
|
||||
<option
|
||||
value="placebo"
|
||||
title="Don't use this option, it rarely helps."
|
||||
>
|
||||
placebo
|
||||
</option>
|
||||
</select>
|
||||
<Show
|
||||
when={twopass()}
|
||||
fallback={
|
||||
<>
|
||||
<label for="crf">CRF</label>
|
||||
<input
|
||||
type="number"
|
||||
name="crf"
|
||||
id="crf"
|
||||
min="0"
|
||||
max="51"
|
||||
value={props.params.crf ?? defaultCrf}
|
||||
oninput={(e) => {
|
||||
props.params.crf = parseInt(e.target.value);
|
||||
props.onParamChanged(
|
||||
"crf",
|
||||
parseInt(e.target.value),
|
||||
);
|
||||
}}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
>
|
||||
<label for="bitrate">Bitrate</label>
|
||||
<div>
|
||||
<input
|
||||
type="number"
|
||||
name="bitrate"
|
||||
id="bitrate"
|
||||
value={props.params.vbitrate ?? DEFAULT_BITRATE}
|
||||
oninput={(e) => {
|
||||
props.params.vbitrate = parseInt(
|
||||
e.target.value,
|
||||
);
|
||||
props.onParamChanged(
|
||||
"vbitrate",
|
||||
parseInt(e.target.value),
|
||||
);
|
||||
}}
|
||||
/>
|
||||
<span> Kbps</span>
|
||||
</div>
|
||||
</Show>
|
||||
<Show when={props.codec?.shortName === "h264"}>
|
||||
<div></div>
|
||||
<div class="checkbox-container">
|
||||
<input
|
||||
type="checkbox"
|
||||
value={props.params.faststart?.toString()}
|
||||
onInput={(e) => {
|
||||
props.params.faststart = e.target.checked;
|
||||
props.onParamChanged(
|
||||
"faststart",
|
||||
e.target.checked,
|
||||
);
|
||||
}}
|
||||
id="fastStartCheck"
|
||||
/>
|
||||
<label for="fastStartCheck">Enable Fast Start</label>
|
||||
<button
|
||||
class="icon-button"
|
||||
onclick={() =>
|
||||
os.open(
|
||||
"https://trac.ffmpeg.org/wiki/Encode/H.264#faststartforwebvideo",
|
||||
)
|
||||
}
|
||||
title="This will move some information to the beginning of your file and allow the video to begin playing before it is completely downloaded by the viewer, recommended for web videos. Click for more information."
|
||||
>
|
||||
<BreezeIcon icon="help-about" alt="Help" />
|
||||
</button>
|
||||
</div>
|
||||
</Show>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
export default VP9Options;
|
||||
@@ -1,6 +1,7 @@
|
||||
import {
|
||||
DEFAULT_BITRATE,
|
||||
type CodecInfo,
|
||||
type FFmpegParamChangedFunc,
|
||||
type FFmpegParams,
|
||||
} from "@/util/ffmpeg";
|
||||
import { os } from "@neutralinojs/lib";
|
||||
@@ -12,7 +13,7 @@ const DEFAULT_CRF = 23;
|
||||
function LibaomOptions(props: {
|
||||
codec: CodecInfo | undefined;
|
||||
params: FFmpegParams;
|
||||
onParamChanged: (key: string, value: any) => void;
|
||||
onParamChanged: FFmpegParamChangedFunc;
|
||||
}) {
|
||||
const [rateControlMode, setRateControlMode] = createSignal("Constant");
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import {
|
||||
DEFAULT_BITRATE,
|
||||
type CodecInfo,
|
||||
type FFmpegParamChangedFunc,
|
||||
type FFmpegParams,
|
||||
} from "@/util/ffmpeg";
|
||||
import { os } from "@neutralinojs/lib";
|
||||
@@ -10,7 +11,7 @@ import { onMount } from "solid-js";
|
||||
function Librav1eOptions(props: {
|
||||
codec: CodecInfo | undefined;
|
||||
params: FFmpegParams;
|
||||
onParamChanged: (key: string, value: any) => void;
|
||||
onParamChanged: FFmpegParamChangedFunc;
|
||||
}) {
|
||||
onMount(() => {
|
||||
props.onParamChanged("crf", undefined);
|
||||
|
||||
@@ -0,0 +1,128 @@
|
||||
import {
|
||||
DEFAULT_BITRATE,
|
||||
type CodecInfo,
|
||||
type FFmpegParamChangedFunc,
|
||||
type FFmpegParams,
|
||||
} from "@/util/ffmpeg";
|
||||
import { os } from "@neutralinojs/lib";
|
||||
import BreezeIcon from "@/components/BreezeIcon";
|
||||
import { createEffect, createSignal, onMount, Show } from "solid-js";
|
||||
|
||||
const DEFAULT_CRF = 30;
|
||||
|
||||
function LibSvtAv1Options({
|
||||
codec,
|
||||
params,
|
||||
onParamChanged,
|
||||
}: {
|
||||
codec: CodecInfo | undefined;
|
||||
params: FFmpegParams;
|
||||
onParamChanged: FFmpegParamChangedFunc;
|
||||
}) {
|
||||
const [gop, setGop] = createSignal("-1");
|
||||
const [filmGrain, setFilmGrain] = createSignal("0");
|
||||
const [tune, setTune] = createSignal("1");
|
||||
|
||||
createEffect(() => {
|
||||
const g = gop();
|
||||
const params = [`tune=${tune()}`];
|
||||
|
||||
if (filmGrain() !== "0") {
|
||||
params.push(`film-grain=${filmGrain()}`);
|
||||
}
|
||||
|
||||
onParamChanged("outputopts", {
|
||||
g: g === "-1" ? undefined : g,
|
||||
"svtav1-params": params.join(":"),
|
||||
});
|
||||
});
|
||||
|
||||
onMount(() => {
|
||||
onParamChanged("vbitrate", undefined);
|
||||
|
||||
if (isNaN(parseInt(params.preset ?? ""))) {
|
||||
onParamChanged("preset", "5");
|
||||
}
|
||||
});
|
||||
|
||||
return (
|
||||
<section id="encoderOptions">
|
||||
<div class="row flex-col align-items-center">
|
||||
<h3 class="k-form-section-title">Encoder Options</h3>
|
||||
</div>
|
||||
<div class="k-form">
|
||||
<label>Help</label>
|
||||
<div>
|
||||
<button
|
||||
class="icon-button"
|
||||
onclick={() =>
|
||||
os.open(
|
||||
"https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/master/Docs/Ffmpeg.md",
|
||||
)
|
||||
}
|
||||
title="Click to view the documentation for this encoder."
|
||||
>
|
||||
<BreezeIcon icon="help-about" alt="Help" />
|
||||
</button>
|
||||
</div>
|
||||
<label for="preset">Preset</label>
|
||||
<input
|
||||
type="number"
|
||||
name="preset"
|
||||
id="preset"
|
||||
title="A range from -2 to 13. Higher means faster but a loss in quality. Preset 13 is not intended for human use."
|
||||
value={params.preset ?? 5}
|
||||
oninput={(e) => onParamChanged("preset", e.target.value)}
|
||||
min="-2"
|
||||
max="13"
|
||||
/>
|
||||
<label for="crf">CRF</label>
|
||||
<input
|
||||
type="number"
|
||||
name="crf"
|
||||
id="crf"
|
||||
title="A range from 1 to 63. A good starting point for a 1080p video is 30"
|
||||
value={params.crf ?? 30}
|
||||
oninput={(e) =>
|
||||
onParamChanged("crf", parseInt(e.target.value))
|
||||
}
|
||||
min="1"
|
||||
max="63"
|
||||
/>
|
||||
<label for="gop">GOP</label>
|
||||
<input
|
||||
type="number"
|
||||
name="gop"
|
||||
id="gop"
|
||||
title="How many frames will pass before the encoder will add a key frame. Specify -1 to leave the parameter unspecified."
|
||||
value={gop()}
|
||||
oninput={(e) => setGop(e.target.value)}
|
||||
min="-1"
|
||||
/>
|
||||
<label for="filmGrain">Film Grain</label>
|
||||
<input
|
||||
type="number"
|
||||
name="filmGrain"
|
||||
id="filmGrain"
|
||||
title="Film grains are hard to compress. The encoder can try to replace the film grain in the video with a synthetic grain."
|
||||
value={filmGrain()}
|
||||
oninput={(e) => setFilmGrain(e.target.value)}
|
||||
min="0"
|
||||
/>
|
||||
<label for="tune">Tune</label>
|
||||
<select
|
||||
name="tune"
|
||||
id="tune"
|
||||
class="k-dropdown"
|
||||
value={tune()}
|
||||
oninput={(e) => setTune(e.target.value)}
|
||||
>
|
||||
<option value="0">Subjective Quality</option>
|
||||
<option value="1">Objective Quality (PSNR)</option>
|
||||
</select>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
export default LibSvtAv1Options;
|
||||
@@ -1,5 +1,7 @@
|
||||
/* An attempt of imitating KDE's Kirigami UI Framework */
|
||||
|
||||
@reference "./index.css";
|
||||
|
||||
:root {
|
||||
--k-grid-unit: 16px;
|
||||
--k-small-spacing: 4px;
|
||||
@@ -97,6 +99,7 @@ button {
|
||||
border-radius: var(--k-border-radius);
|
||||
box-shadow: var(--k-border-color) 0 1px;
|
||||
background-color: var(--k-primary-highlight);
|
||||
padding: 2px 6px;
|
||||
font-size: inherit;
|
||||
|
||||
&:hover {
|
||||
@@ -123,6 +126,7 @@ button {
|
||||
padding: var(--k-small-spacing) calc(var(--k-medium-spacing) + 12px)
|
||||
var(--k-small-spacing) var(--k-medium-spacing);
|
||||
border: 1px solid var(--k-border-color);
|
||||
border-radius: var(--k-border-radius);
|
||||
box-shadow: var(--k-border-color) 0 1px;
|
||||
max-width: 16em;
|
||||
font-size: inherit;
|
||||
@@ -177,6 +181,7 @@ input[type="number"] {
|
||||
border-bottom: 1px solid var(--k-border-color);
|
||||
width: fit-content;
|
||||
margin-bottom: var(--k-medium-spacing);
|
||||
@apply text-xl font-bold mt-4;
|
||||
}
|
||||
|
||||
.k-page-footer {
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
@import "tailwindcss";
|
||||
|
||||
:root {
|
||||
font-family: system-ui, Avenir, Helvetica, Arial, sans-serif;
|
||||
--system-accent-color: accentcolor;
|
||||
|
||||
@@ -144,9 +144,11 @@ export interface FFmpegParams {
|
||||
/**
|
||||
* Extra output parameters defined by Vencoder
|
||||
*/
|
||||
outputopts?: { [key: string]: string };
|
||||
outputopts?: { [key: string]: string | undefined };
|
||||
}
|
||||
|
||||
export type FFmpegParamChangedFunc = <K extends keyof FFmpegParams>(key: K, value: FFmpegParams[K]) => void;
|
||||
|
||||
const NULL_LOCATION = window.NL_OS === "Windows" ? "NUL" : "/dev/null";
|
||||
|
||||
/**
|
||||
@@ -191,6 +193,8 @@ export function generateOutputCommand(params: FFmpegParams) {
|
||||
|
||||
if (params.outputopts !== undefined) {
|
||||
for (const key of Object.keys(params.outputopts)) {
|
||||
if (params.outputopts[key] === undefined) continue;
|
||||
|
||||
outputopts += ` -${key} ${params.outputopts[key]}`.trimEnd();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import tailwindcss from "@tailwindcss/vite";
|
||||
import { fileURLToPath, URL } from "node:url";
|
||||
import { defineConfig } from "vite";
|
||||
import solid from "vite-plugin-solid";
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [solid()],
|
||||
plugins: [solid(), tailwindcss()],
|
||||
resolve: {
|
||||
alias: {
|
||||
"@": fileURLToPath(new URL("./src", import.meta.url)),
|
||||
|
||||
Reference in New Issue
Block a user