Compare commits
3 commits
f590f77bca
...
0010aa0a33
Author | SHA1 | Date | |
---|---|---|---|
0010aa0a33 | |||
74b5be4e3b | |||
e1aad3fb1e |
4 changed files with 58 additions and 68 deletions
22
README.md
22
README.md
|
@ -19,16 +19,19 @@ Tool for sharing video to Discord.
|
||||||
|
|
||||||
You can add thoses flags in the `Target` field of your Windows shortcut.
|
You can add thoses flags in the `Target` field of your Windows shortcut.
|
||||||
|
|
||||||
| | |
|
| | |
|
||||||
| ------------- | ----------------------------------------------------- |
|
| ------------- | ------------------------------------------------------ |
|
||||||
| `/nitro` | Increase the file limit to 500Mo |
|
| `/nitro` | Increase the file limit to 500Mo |
|
||||||
| `/nitrobasic` | Increase the file limit to 50Mo |
|
| `/nitrobasic` | Increase the file limit to 50Mo |
|
||||||
| | |
|
| | |
|
||||||
| `/nvenc_h264` | Enable NVenc with H.264 encoder (NVidia GPU required) |
|
| `/nvenc_h264` | Enable NVenc with H.264 encoder (NVidia GPU required) |
|
||||||
| `/nvenc_h265` | Enable NVenc with H.265 encoder (NVidia GPU required) |
|
| `/nvenc_h265` | Enable NVenc with H.265 encoder (NVidia GPU required) |
|
||||||
| `/h265` | Enable the H.265 CPU encoder (slow compression) |
|
| `/amd_h264` | Enable AMF using DX11 with H.264 encoder (for AMD GPU) |
|
||||||
|
| `/amd_h265` | Enable AMF using DX11 with H.265 encoder (for AMD GPU) |
|
||||||
|
| `/h265` | Enable the H.265 CPU encoder (slow compression) |
|
||||||
|
|
||||||
> NVenc support is experimental, but faster than CPU counterparts.
|
> NVidia and AMD hardware accelerators support is experimental, but faster
|
||||||
|
> than CPU counterparts.
|
||||||
|
|
||||||
## More info
|
## More info
|
||||||
|
|
||||||
|
@ -38,6 +41,7 @@ You can add thoses flags in the `Target` field of your Windows shortcut.
|
||||||
- [x] Defaults to H.264 CPU encoder
|
- [x] Defaults to H.264 CPU encoder
|
||||||
- [x] If already under the limit, the file won't be compressed
|
- [x] If already under the limit, the file won't be compressed
|
||||||
- [x] NVenc support
|
- [x] NVenc support
|
||||||
|
- [x] AMD cards acceleration support
|
||||||
- [x] Nitro suppport
|
- [x] Nitro suppport
|
||||||
- [x] Merge 2 audio files into one track when recorded with system audio and microphone
|
- [x] Merge 2 audio files into one track when recorded with system audio and microphone
|
||||||
split up, while keeping the original ones (with conveniant metadata)
|
split up, while keeping the original ones (with conveniant metadata)
|
||||||
|
|
88
package-lock.json
generated
88
package-lock.json
generated
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "dsr",
|
"name": "dsr",
|
||||||
"version": "1.11.2",
|
"version": "1.11.3",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "dsr",
|
"name": "dsr",
|
||||||
"version": "1.11.2",
|
"version": "1.11.3",
|
||||||
"license": "AGPL-3.0-or-later",
|
"license": "AGPL-3.0-or-later",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron-forge/maker-zip": "^7.5",
|
"@electron-forge/maker-zip": "^7.5",
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@electron-forge/cli": "^7.5",
|
"@electron-forge/cli": "^7.5",
|
||||||
"@types/ffprobe-static": "^2.0",
|
"@types/ffprobe-static": "^2.0",
|
||||||
"electron": "^33.0"
|
"electron": "^33.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@derhuerst/http-basic": {
|
"node_modules/@derhuerst/http-basic": {
|
||||||
|
@ -311,12 +311,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron/asar": {
|
"node_modules/@electron/asar": {
|
||||||
"version": "3.2.13",
|
"version": "3.2.17",
|
||||||
"resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.13.tgz",
|
"resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.17.tgz",
|
||||||
"integrity": "sha512-pY5z2qQSwbFzJsBdgfJIzXf5ElHTVMutC2dxh0FD60njknMu3n1NnTABOcQwbb5/v5soqE79m9UjaJryBf3epg==",
|
"integrity": "sha512-OcWImUI686w8LkghQj9R2ynZ2ME693Ek6L1SiaAgqGKzBaTIZw3fHDqN82Rcl+EU1Gm9EgkJ5KLIY/q5DCRbbA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/glob": "^7.1.0",
|
|
||||||
"commander": "^5.0.0",
|
"commander": "^5.0.0",
|
||||||
"glob": "^7.1.6",
|
"glob": "^7.1.6",
|
||||||
"minimatch": "^3.0.4"
|
"minimatch": "^3.0.4"
|
||||||
|
@ -515,9 +514,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron/packager": {
|
"node_modules/@electron/packager": {
|
||||||
"version": "18.3.5",
|
"version": "18.3.6",
|
||||||
"resolved": "https://registry.npmjs.org/@electron/packager/-/packager-18.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/@electron/packager/-/packager-18.3.6.tgz",
|
||||||
"integrity": "sha512-ClgTxXTt3MesWAcjIxIkgxELjTcllw1FRoVsihP7uT48kpDMqI71p4XvnMWbq8PvU57TcrKICAaLkxRhbc+/wQ==",
|
"integrity": "sha512-1eXHB5t+SQKvUiDpWGpvr90ZSSbXj+isrh3YbjCTjKT4bE4SQrKSBfukEAaBvp67+GXHFtCHjQgN9qSTFIge+Q==",
|
||||||
"license": "BSD-2-Clause",
|
"license": "BSD-2-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron/asar": "^3.2.13",
|
"@electron/asar": "^3.2.13",
|
||||||
|
@ -565,9 +564,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron/rebuild": {
|
"node_modules/@electron/rebuild": {
|
||||||
"version": "3.7.0",
|
"version": "3.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.7.1.tgz",
|
||||||
"integrity": "sha512-VW++CNSlZwMYP7MyXEbrKjpzEwhB5kDNbzGtiPEjwYysqyTCF+YbNJ210Dj3AjWsGSV4iEEwNkmJN9yGZmVvmw==",
|
"integrity": "sha512-sKGD+xav4Gh25+LcLY0rjIwcCFTw+f/HU1pB48UVbwxXXRGaXEqIH0AaYKN46dgd/7+6kuiDXzoyAEvx1zCsdw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@electron/node-gyp": "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2",
|
"@electron/node-gyp": "git+https://github.com/electron/node-gyp.git#06b29aafb7708acef8b3669835c8a7857ebc92d2",
|
||||||
|
@ -649,9 +648,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@electron/windows-sign": {
|
"node_modules/@electron/windows-sign": {
|
||||||
"version": "1.1.3",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.2.0.tgz",
|
||||||
"integrity": "sha512-OqVSdAe+/88fIjvTDWiy+5Ho1nXsiBhE5RTsIQ6M/zcxcDAEP2TlQCkOyusItnmzXRN+XTFaK9gKhiZ6KGyXQw==",
|
"integrity": "sha512-5zfLHfD6kGgsXzuYlKwlWWO8w6dboKy4dhd7rGnR4rQYumuDgPAF2TYjEa8LUi89KdHxtDy2btq02KvbjhK9Iw==",
|
||||||
"license": "BSD-2-Clause",
|
"license": "BSD-2-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cross-dirname": "^0.1.0",
|
"cross-dirname": "^0.1.0",
|
||||||
|
@ -826,16 +825,6 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/glob": {
|
|
||||||
"version": "7.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
|
|
||||||
"integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"@types/minimatch": "*",
|
|
||||||
"@types/node": "*"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@types/http-cache-semantics": {
|
"node_modules/@types/http-cache-semantics": {
|
||||||
"version": "4.0.4",
|
"version": "4.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz",
|
||||||
|
@ -851,16 +840,10 @@
|
||||||
"@types/node": "*"
|
"@types/node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/minimatch": {
|
|
||||||
"version": "5.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
|
|
||||||
"integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
|
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "22.7.5",
|
"version": "20.17.6",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
|
||||||
"integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==",
|
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~6.19.2"
|
"undici-types": "~6.19.2"
|
||||||
|
@ -1044,6 +1027,7 @@
|
||||||
"version": "3.2.0",
|
"version": "3.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz",
|
||||||
"integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
|
"integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==",
|
||||||
|
"deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
|
@ -1471,9 +1455,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/cross-spawn": {
|
"node_modules/cross-spawn": {
|
||||||
"version": "7.0.3",
|
"version": "7.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz",
|
||||||
"integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
|
"integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"path-key": "^3.1.0",
|
"path-key": "^3.1.0",
|
||||||
|
@ -1641,9 +1625,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/electron": {
|
"node_modules/electron": {
|
||||||
"version": "33.0.0",
|
"version": "33.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/electron/-/electron-33.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/electron/-/electron-33.2.0.tgz",
|
||||||
"integrity": "sha512-OdLLR/zAVuNfKahSSYokZmSi7uK2wEYTbCoiIdqWLsOWmCqO9j0JC2XkYQmXQcAk2BJY0ri4lxwAfc5pzPDYsA==",
|
"integrity": "sha512-PVw1ICAQDPsnnsmpNFX/b1i/49h67pbSPxuIENd9K9WpGO1tsRaQt+K2bmXqTuoMJsbzIc75Ce8zqtuwBPqawA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
@ -1681,16 +1665,6 @@
|
||||||
"global-agent": "^3.0.0"
|
"global-agent": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/electron/node_modules/@types/node": {
|
|
||||||
"version": "20.16.11",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.11.tgz",
|
|
||||||
"integrity": "sha512-y+cTCACu92FyA5fgQSAI8A1H429g7aSK2HsO7K4XYUWc4dY5IUz55JSDIYT6/VsOLfGy8vmvQYC2hfb0iF16Uw==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"undici-types": "~6.19.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/electron/node_modules/fs-extra": {
|
"node_modules/electron/node_modules/fs-extra": {
|
||||||
"version": "8.1.0",
|
"version": "8.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
|
||||||
|
@ -3198,9 +3172,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/negotiator": {
|
"node_modules/negotiator": {
|
||||||
"version": "0.6.3",
|
"version": "0.6.4",
|
||||||
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
|
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz",
|
||||||
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
|
"integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.6"
|
"node": ">= 0.6"
|
||||||
|
@ -3214,9 +3188,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/node-abi": {
|
"node_modules/node-abi": {
|
||||||
"version": "3.70.0",
|
"version": "3.71.0",
|
||||||
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.70.0.tgz",
|
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz",
|
||||||
"integrity": "sha512-xMTIZdvAyzGyxwOwxXv/8V/f/KAqKWNCeNIIFu2doEtQp9wvMUTam036At/iVtJqum6n5ljbAhUmXAUOhyivSA==",
|
"integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"semver": "^7.3.5"
|
"semver": "^7.3.5"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "dsr",
|
"name": "dsr",
|
||||||
"version": "1.11.2",
|
"version": "1.11.3",
|
||||||
"description": "Discord Video Sharing",
|
"description": "Discord Video Sharing",
|
||||||
"main": "./dist/main.js",
|
"main": "./dist/main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@electron-forge/cli": "^7.5",
|
"@electron-forge/cli": "^7.5",
|
||||||
"@types/ffprobe-static": "^2.0",
|
"@types/ffprobe-static": "^2.0",
|
||||||
"electron": "^33.0"
|
"electron": "^33.2"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"forge": {
|
"forge": {
|
||||||
|
|
12
src/main.ts
12
src/main.ts
|
@ -182,12 +182,24 @@ app.whenReady().then(() => {
|
||||||
hwAcc = "-hwaccel cuda";
|
hwAcc = "-hwaccel cuda";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (argv.includes("/amd_h264")) {
|
||||||
|
// Use AMF H.264
|
||||||
|
codec = "h264_amf";
|
||||||
|
hwAcc = "-hwaccel d3d11va";
|
||||||
|
}
|
||||||
|
|
||||||
if (argv.includes("/nvenc_h265")) {
|
if (argv.includes("/nvenc_h265")) {
|
||||||
// Use NVenc H.265
|
// Use NVenc H.265
|
||||||
codec = "hevc_nvenc";
|
codec = "hevc_nvenc";
|
||||||
hwAcc = "-hwaccel cuda";
|
hwAcc = "-hwaccel cuda";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (argv.includes("/amd_h265")) {
|
||||||
|
// Use AMF H.265
|
||||||
|
codec = "hevc_amf";
|
||||||
|
hwAcc = "-hwaccel d3d11va";
|
||||||
|
}
|
||||||
|
|
||||||
if (argv.includes("/h265")) {
|
if (argv.includes("/h265")) {
|
||||||
// Use H.265 encoder
|
// Use H.265 encoder
|
||||||
codec = "libx265";
|
codec = "libx265";
|
||||||
|
|
Loading…
Reference in a new issue