Compare commits

..

No commits in common. "0010aa0a334630fd53d200949461afc3f622380d" and "f590f77bca4ea92ed30bee6cebddeea30036e248" have entirely different histories.

4 changed files with 68 additions and 58 deletions

View file

@ -19,19 +19,16 @@ 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) |
| `/amd_h264` | Enable AMF using DX11 with H.264 encoder (for AMD GPU) | | `/h265` | Enable the H.265 CPU encoder (slow compression) |
| `/amd_h265` | Enable AMF using DX11 with H.265 encoder (for AMD GPU) |
| `/h265` | Enable the H.265 CPU encoder (slow compression) |
> NVidia and AMD hardware accelerators support is experimental, but faster > NVenc support is experimental, but faster than CPU counterparts.
> than CPU counterparts.
## More info ## More info
@ -41,7 +38,6 @@ 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
View file

@ -1,12 +1,12 @@
{ {
"name": "dsr", "name": "dsr",
"version": "1.11.3", "version": "1.11.2",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "dsr", "name": "dsr",
"version": "1.11.3", "version": "1.11.2",
"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.2" "electron": "^33.0"
} }
}, },
"node_modules/@derhuerst/http-basic": { "node_modules/@derhuerst/http-basic": {
@ -311,11 +311,12 @@
} }
}, },
"node_modules/@electron/asar": { "node_modules/@electron/asar": {
"version": "3.2.17", "version": "3.2.13",
"resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.17.tgz", "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.13.tgz",
"integrity": "sha512-OcWImUI686w8LkghQj9R2ynZ2ME693Ek6L1SiaAgqGKzBaTIZw3fHDqN82Rcl+EU1Gm9EgkJ5KLIY/q5DCRbbA==", "integrity": "sha512-pY5z2qQSwbFzJsBdgfJIzXf5ElHTVMutC2dxh0FD60njknMu3n1NnTABOcQwbb5/v5soqE79m9UjaJryBf3epg==",
"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"
@ -514,9 +515,9 @@
} }
}, },
"node_modules/@electron/packager": { "node_modules/@electron/packager": {
"version": "18.3.6", "version": "18.3.5",
"resolved": "https://registry.npmjs.org/@electron/packager/-/packager-18.3.6.tgz", "resolved": "https://registry.npmjs.org/@electron/packager/-/packager-18.3.5.tgz",
"integrity": "sha512-1eXHB5t+SQKvUiDpWGpvr90ZSSbXj+isrh3YbjCTjKT4bE4SQrKSBfukEAaBvp67+GXHFtCHjQgN9qSTFIge+Q==", "integrity": "sha512-ClgTxXTt3MesWAcjIxIkgxELjTcllw1FRoVsihP7uT48kpDMqI71p4XvnMWbq8PvU57TcrKICAaLkxRhbc+/wQ==",
"license": "BSD-2-Clause", "license": "BSD-2-Clause",
"dependencies": { "dependencies": {
"@electron/asar": "^3.2.13", "@electron/asar": "^3.2.13",
@ -564,9 +565,9 @@
} }
}, },
"node_modules/@electron/rebuild": { "node_modules/@electron/rebuild": {
"version": "3.7.1", "version": "3.7.0",
"resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.7.1.tgz", "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-3.7.0.tgz",
"integrity": "sha512-sKGD+xav4Gh25+LcLY0rjIwcCFTw+f/HU1pB48UVbwxXXRGaXEqIH0AaYKN46dgd/7+6kuiDXzoyAEvx1zCsdw==", "integrity": "sha512-VW++CNSlZwMYP7MyXEbrKjpzEwhB5kDNbzGtiPEjwYysqyTCF+YbNJ210Dj3AjWsGSV4iEEwNkmJN9yGZmVvmw==",
"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",
@ -648,9 +649,9 @@
} }
}, },
"node_modules/@electron/windows-sign": { "node_modules/@electron/windows-sign": {
"version": "1.2.0", "version": "1.1.3",
"resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.2.0.tgz", "resolved": "https://registry.npmjs.org/@electron/windows-sign/-/windows-sign-1.1.3.tgz",
"integrity": "sha512-5zfLHfD6kGgsXzuYlKwlWWO8w6dboKy4dhd7rGnR4rQYumuDgPAF2TYjEa8LUi89KdHxtDy2btq02KvbjhK9Iw==", "integrity": "sha512-OqVSdAe+/88fIjvTDWiy+5Ho1nXsiBhE5RTsIQ6M/zcxcDAEP2TlQCkOyusItnmzXRN+XTFaK9gKhiZ6KGyXQw==",
"license": "BSD-2-Clause", "license": "BSD-2-Clause",
"dependencies": { "dependencies": {
"cross-dirname": "^0.1.0", "cross-dirname": "^0.1.0",
@ -825,6 +826,16 @@
"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",
@ -840,10 +851,16 @@
"@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": "20.17.6", "version": "22.7.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz",
"integrity": "sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==", "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"undici-types": "~6.19.2" "undici-types": "~6.19.2"
@ -1027,7 +1044,6 @@
"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
}, },
@ -1455,9 +1471,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/cross-spawn": { "node_modules/cross-spawn": {
"version": "7.0.5", "version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
"integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"path-key": "^3.1.0", "path-key": "^3.1.0",
@ -1625,9 +1641,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/electron": { "node_modules/electron": {
"version": "33.2.0", "version": "33.0.0",
"resolved": "https://registry.npmjs.org/electron/-/electron-33.2.0.tgz", "resolved": "https://registry.npmjs.org/electron/-/electron-33.0.0.tgz",
"integrity": "sha512-PVw1ICAQDPsnnsmpNFX/b1i/49h67pbSPxuIENd9K9WpGO1tsRaQt+K2bmXqTuoMJsbzIc75Ce8zqtuwBPqawA==", "integrity": "sha512-OdLLR/zAVuNfKahSSYokZmSi7uK2wEYTbCoiIdqWLsOWmCqO9j0JC2XkYQmXQcAk2BJY0ri4lxwAfc5pzPDYsA==",
"dev": true, "dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
@ -1665,6 +1681,16 @@
"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",
@ -3172,9 +3198,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/negotiator": { "node_modules/negotiator": {
"version": "0.6.4", "version": "0.6.3",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
"integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": ">= 0.6" "node": ">= 0.6"
@ -3188,9 +3214,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/node-abi": { "node_modules/node-abi": {
"version": "3.71.0", "version": "3.70.0",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.70.0.tgz",
"integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", "integrity": "sha512-xMTIZdvAyzGyxwOwxXv/8V/f/KAqKWNCeNIIFu2doEtQp9wvMUTam036At/iVtJqum6n5ljbAhUmXAUOhyivSA==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"semver": "^7.3.5" "semver": "^7.3.5"

View file

@ -1,6 +1,6 @@
{ {
"name": "dsr", "name": "dsr",
"version": "1.11.3", "version": "1.11.2",
"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.2" "electron": "^33.0"
}, },
"config": { "config": {
"forge": { "forge": {

View file

@ -182,24 +182,12 @@ 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";