diff --git a/package-lock.json b/package-lock.json index 2843a4e..5f88d24 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "mediabunny", - "version": "1.50.7", + "version": "1.50.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "mediabunny", - "version": "1.50.7", + "version": "1.50.8", "license": "MPL-2.0", "workspaces": [ ".", @@ -10963,9 +10963,9 @@ "optional": true }, "node_modules/turbores": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/turbores/-/turbores-1.2.1.tgz", - "integrity": "sha512-HcnLHiUggT2YXmnTpUdT3JHnkGWvdJlW9XBPLKZBBB3X5oOEuBaHF99cW+H+CSxnhM+rth2qDTCAteIKhKwiGQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/turbores/-/turbores-1.2.2.tgz", + "integrity": "sha512-dTSKeZ6/BgBKz9T5goMS5ZMcqOiNYO1MbvresYGfWXEF5ZWK+yIZDxNjh86bRj1mnEzhtdsMOJ5GBi8b3Azcpg==", "license": "MPL-2.0", "funding": { "type": "individual", @@ -12894,7 +12894,7 @@ }, "packages/aac-encoder": { "name": "@mediabunny/aac-encoder", - "version": "1.50.7", + "version": "1.50.8", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" @@ -12909,7 +12909,7 @@ }, "packages/ac3": { "name": "@mediabunny/ac3", - "version": "1.50.7", + "version": "1.50.8", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" @@ -12924,7 +12924,7 @@ }, "packages/flac-encoder": { "name": "@mediabunny/flac-encoder", - "version": "1.50.7", + "version": "1.50.8", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" @@ -12939,7 +12939,7 @@ }, "packages/mp3-encoder": { "name": "@mediabunny/mp3-encoder", - "version": "1.50.7", + "version": "1.50.8", "license": "MPL-2.0", "devDependencies": { "@types/emscripten": "^1.40.1" @@ -12954,10 +12954,10 @@ }, "packages/prores": { "name": "@mediabunny/prores", - "version": "1.50.7", + "version": "1.50.8", "license": "MPL-2.0", "dependencies": { - "turbores": "^1.2.1" + "turbores": "^1.2.2" }, "funding": { "type": "individual", @@ -12969,10 +12969,10 @@ }, "packages/server": { "name": "@mediabunny/server", - "version": "1.50.7", + "version": "1.50.8", "license": "MPL-2.0", "dependencies": { - "@mediabunny/prores": "^1.50.6", + "@mediabunny/prores": "^1.50.8", "node-av": "^6.0.0" }, "funding": { diff --git a/package.json b/package.json index 5879f99..37c5bfa 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mediabunny", "author": "Vanilagy", - "version": "1.50.7", + "version": "1.50.8", "description": "Pure TypeScript media toolkit for reading, writing, and converting media files, directly in the browser.", "type": "module", "workspaces": [ @@ -56,10 +56,10 @@ "examples:build": "vite build", "fix-build-import-paths": "tsx scripts/add-import-extensions.ts", "append-namespace": "echo 'export as namespace Mediabunny;' >> dist/mediabunny.d.ts", - "bump-patch": "npm version patch --no-git-tag-version --workspaces && tsx scripts/sync-workspace-deps.ts", - "bump-minor": "npm version minor --no-git-tag-version --workspaces && tsx scripts/sync-workspace-deps.ts", - "bump-major": "npm version major --no-git-tag-version --workspaces && tsx scripts/sync-workspace-deps.ts", - "set-version": "npm version --no-git-tag-version --workspaces && tsx scripts/sync-workspace-deps.ts" + "bump-patch": "npm version patch --no-git-tag-version --workspaces && tsx scripts/sync-workspace-deps.ts && npm i", + "bump-minor": "npm version minor --no-git-tag-version --workspaces && tsx scripts/sync-workspace-deps.ts && npm i", + "bump-major": "npm version major --no-git-tag-version --workspaces && tsx scripts/sync-workspace-deps.ts && npm i", + "set-version": "npm version --no-git-tag-version --workspaces && tsx scripts/sync-workspace-deps.ts && npm i" }, "license": "MPL-2.0", "repository": { diff --git a/packages/aac-encoder/package.json b/packages/aac-encoder/package.json index 31d9a59..8d2641d 100644 --- a/packages/aac-encoder/package.json +++ b/packages/aac-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/aac-encoder", "author": "Vanilagy", - "version": "1.50.7", + "version": "1.50.8", "description": "AAC encoder extension for Mediabunny, based on FFmpeg.", "main": "./dist/bundles/mediabunny-aac-encoder.mjs", "module": "./dist/bundles/mediabunny-aac-encoder.mjs", diff --git a/packages/ac3/package.json b/packages/ac3/package.json index 420ea96..bf60d87 100644 --- a/packages/ac3/package.json +++ b/packages/ac3/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/ac3", "author": "Vanilagy", - "version": "1.50.7", + "version": "1.50.8", "description": "AC-3 and E-AC-3 (Dolby Digital) decoder and encoder extension for Mediabunny, based on FFmpeg.", "main": "./dist/bundles/mediabunny-ac3.mjs", "module": "./dist/bundles/mediabunny-ac3.mjs", diff --git a/packages/flac-encoder/package.json b/packages/flac-encoder/package.json index ad8820a..c97ae6e 100644 --- a/packages/flac-encoder/package.json +++ b/packages/flac-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/flac-encoder", "author": "Vanilagy", - "version": "1.50.7", + "version": "1.50.8", "description": "FLAC encoder extension for Mediabunny, based on libFLAC.", "main": "./dist/bundles/mediabunny-flac-encoder.mjs", "module": "./dist/bundles/mediabunny-flac-encoder.mjs", diff --git a/packages/mp3-encoder/package.json b/packages/mp3-encoder/package.json index 6bc7e09..cf59128 100644 --- a/packages/mp3-encoder/package.json +++ b/packages/mp3-encoder/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/mp3-encoder", "author": "Vanilagy", - "version": "1.50.7", + "version": "1.50.8", "description": "MP3 encoder extension for Mediabunny, based on LAME.", "main": "./dist/bundles/mediabunny-mp3-encoder.mjs", "module": "./dist/bundles/mediabunny-mp3-encoder.mjs", diff --git a/packages/prores/package.json b/packages/prores/package.json index 83b7dc3..d28c9de 100644 --- a/packages/prores/package.json +++ b/packages/prores/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/prores", "author": "Vanilagy", - "version": "1.50.7", + "version": "1.50.8", "description": "Apple ProRes decoder extension for Mediabunny, based on TurboRes.", "main": "./dist/bundles/mediabunny-prores.mjs", "module": "./dist/bundles/mediabunny-prores.mjs", @@ -34,7 +34,7 @@ "url": "https://github.com/sponsors/Vanilagy" }, "dependencies": { - "turbores": "^1.2.1" + "turbores": "^1.2.2" }, "peerDependencies": { "mediabunny": "^1.49.0" diff --git a/packages/server/package.json b/packages/server/package.json index a740f0c..944adc1 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@mediabunny/server", "author": "Vanilagy", - "version": "1.50.7", + "version": "1.50.8", "description": "Adds full video and audio decoder and encoder support to Mediabunny for use in server-side environments (Node, Bun, Deno). Based on NodeAV.", "main": "./dist/bundles/mediabunny-server.cjs", "module": "./dist/bundles/mediabunny-server.mjs", @@ -35,7 +35,7 @@ }, "dependencies": { "node-av": "^6.0.0", - "@mediabunny/prores": "^1.50.7" + "@mediabunny/prores": "^1.50.8" }, "peerDependencies": { "mediabunny": "^1.45.0" diff --git a/packages/server/src/video-encoder.ts b/packages/server/src/video-encoder.ts index ed08d33..a37b4ff 100644 --- a/packages/server/src/video-encoder.ts +++ b/packages/server/src/video-encoder.ts @@ -203,6 +203,11 @@ export class NodeAvVideoEncoder extends CustomVideoEncoder { if (isRealtime) { codecContext.setOption('preset', '12'); } + } else if (this.avCodec.name === 'h264_nvenc') { + // When we force a key frame, we want a true IDR frame, not just an I frame + codecContext.setOption('forced-idr', '1'); + } else if (this.avCodec.name === 'hevc_nvenc') { + codecContext.setOption('forced-idr', '1'); } if (this.codec === 'prores') {