{"_id":"@browser-mc/browser-movie-converter","_rev":"12-b50f644c1deb7994fdad72d1ec9204aa","name":"@browser-mc/browser-movie-converter","dist-tags":{"latest":"1.3.0"},"versions":{"0.0.1":{"name":"@browser-mc/browser-movie-converter","version":"0.0.1","_id":"@browser-mc/browser-movie-converter@0.0.1","maintainers":[{"name":"aqz","email":"tamaina@hotmail.co.jp"}],"dist":{"shasum":"500053f48d430326fe7363ad01f2e5e44d123820","tarball":"https://registry.npmjs.org/@browser-mc/browser-movie-converter/-/browser-movie-converter-0.0.1.tgz","fileCount":14,"integrity":"sha512-6YthjhIhX5MgWhbJnttbwGzzztQUzj6Z1gJykb1b7m5TP7cXvSAvBG/RyhJG4feCFq3QxxcdBHRsmyhgbGWZAA==","signatures":[{"sig":"MEQCIF0sZIVIbIWVCmJfvBd2oN4dEnGIUbdFQQpe9eEv3p4YAiAaWpYIf2B+Scpqk3p6MjYljxmczRLKO7wxr3FxaF6Xkw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52610},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"pnpm build","build":"tsc -p tsconfig.json","prebuild":"pnpm --filter @browser-mc/mediabunny-scene-keyframes build && pnpm --filter @browser-mc/webcodecs-color build","typecheck":"tsc -p tsconfig.json --noEmit","pretypecheck":"pnpm --filter @browser-mc/mediabunny-scene-keyframes build && pnpm --filter @browser-mc/webcodecs-color build","test:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/electron-smoke.mjs","test:hls:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/hls-electron-smoke.mjs"},"_npmUser":{"name":"aqz","email":"tamaina@hotmail.co.jp"},"directories":{},"_nodeVersion":"24.16.0","dependencies":{"mediabunny":"^1.46.0","@browser-mc/webcodecs-color":"^0.0.1","@browser-mc/mediabunny-scene-keyframes":"^0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/browser-movie-converter_0.0.1_1780810949693_0.2770706054138674","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@browser-mc/browser-movie-converter","version":"0.1.0","_id":"@browser-mc/browser-movie-converter@0.1.0","maintainers":[{"name":"aqz","email":"tamaina@hotmail.co.jp"}],"homepage":"https://github.com/tamaina/browser-media-converter#readme","bugs":{"url":"https://github.com/tamaina/browser-media-converter/issues"},"dist":{"shasum":"a6f9f8aa117e396f10426932aece933868ce4c6a","tarball":"https://registry.npmjs.org/@browser-mc/browser-movie-converter/-/browser-movie-converter-0.1.0.tgz","fileCount":14,"integrity":"sha512-zy837WFZhyPl8PX4skkaMYDqmtJu7bG4vaGVW8Z1M8E6hFcCzP1MQsd/PTUi9PU/Eb0mTN9xvdD5JtNIUBXCgA==","signatures":[{"sig":"MEUCIQD+Ak6UsY3qiPQ0rkLUMoN52Te6W3GCAeXvnvYJl5FZwgIgJL/T0ps3I2iRfuzjGSz4vSoaVcLPa1dLnLYRdosjcb4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@browser-mc%2fbrowser-movie-converter@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":55959},"main":"./dist/index.js","type":"module","_from":"file:.npm-pack/browser-mc-browser-movie-converter-0.1.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"pnpm build","build":"pnpm --filter @browser-mc/browser-movie-converter... build:package","typecheck":"pnpm --filter @browser-mc/browser-movie-converter... typecheck:package","build:package":"tsc -p tsconfig.json","test:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/electron-smoke.mjs","test:hls:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/hls-electron-smoke.mjs","typecheck:package":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"aqz","email":"tamaina@hotmail.co.jp"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:b0205024-8cc9-4761-a9d2-23af1a1a66c1"}},"_resolved":"/home/runner/work/browser-media-converter/browser-media-converter/.npm-pack/browser-mc-browser-movie-converter-0.1.0.tgz","_integrity":"sha512-zy837WFZhyPl8PX4skkaMYDqmtJu7bG4vaGVW8Z1M8E6hFcCzP1MQsd/PTUi9PU/Eb0mTN9xvdD5JtNIUBXCgA==","repository":{"url":"git+https://github.com/tamaina/browser-media-converter.git","type":"git","directory":"packages/browser-movie-converter"},"_npmVersion":"11.16.0","description":"Browser movie conversion package using Mediabunny for demux/mux/encode orchestration and the local WebCodecs color helpers for resizing.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mediabunny":"^1.46.0","@browser-mc/webcodecs-color":"^0.1.0","@browser-mc/mediabunny-scene-keyframes":"^0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/browser-movie-converter_0.1.0_1780848125347_0.5586517662719155","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@browser-mc/browser-movie-converter","version":"0.1.1","_id":"@browser-mc/browser-movie-converter@0.1.1","maintainers":[{"name":"aqz","email":"tamaina@hotmail.co.jp"}],"homepage":"https://github.com/tamaina/browser-media-converter#readme","bugs":{"url":"https://github.com/tamaina/browser-media-converter/issues"},"dist":{"shasum":"55a5b90060b5614d96d09795ec74a93aee20c8a6","tarball":"https://registry.npmjs.org/@browser-mc/browser-movie-converter/-/browser-movie-converter-0.1.1.tgz","fileCount":14,"integrity":"sha512-oeJ36jG9iYQVZEaMyLuko9AQKI6E3v3522xAPm+soNjZxHIp3OyTYwGlUEi1IIWRB1X82OIwhlViObJYfMbXeQ==","signatures":[{"sig":"MEUCID3whrzpZe91QiRnvo1XuhLcH5SHW43C5a2sX2JLXxDiAiEAu0sRRzxhIgL3ydln+UdLkcDps8RgHWvjIRkUNnQS1Yk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@browser-mc%2fbrowser-movie-converter@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56108},"main":"./dist/index.js","type":"module","_from":"file:.npm-pack/browser-mc-browser-movie-converter-0.1.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"pnpm build","build":"pnpm --filter @browser-mc/browser-movie-converter... build:package","typecheck":"pnpm --filter @browser-mc/browser-movie-converter... typecheck:package","build:package":"tsc -p tsconfig.json","test:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/electron-smoke.mjs","test:hls:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/hls-electron-smoke.mjs","typecheck:package":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"aqz","email":"tamaina@hotmail.co.jp"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:b0205024-8cc9-4761-a9d2-23af1a1a66c1"}},"_resolved":"/home/runner/work/browser-media-converter/browser-media-converter/.npm-pack/browser-mc-browser-movie-converter-0.1.1.tgz","_integrity":"sha512-oeJ36jG9iYQVZEaMyLuko9AQKI6E3v3522xAPm+soNjZxHIp3OyTYwGlUEi1IIWRB1X82OIwhlViObJYfMbXeQ==","repository":{"url":"git+https://github.com/tamaina/browser-media-converter.git","type":"git","directory":"packages/browser-movie-converter"},"_npmVersion":"11.16.0","description":"Browser movie conversion package using Mediabunny for demux/mux/encode orchestration and the local WebCodecs color helpers for resizing.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mediabunny":"^1.46.0","@browser-mc/webcodecs-color":"^0.1.1","@browser-mc/mediabunny-scene-keyframes":"^0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/browser-movie-converter_0.1.1_1780851389108_0.19570134747475154","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@browser-mc/browser-movie-converter","version":"0.2.0","_id":"@browser-mc/browser-movie-converter@0.2.0","maintainers":[{"name":"aqz","email":"tamaina@hotmail.co.jp"}],"homepage":"https://github.com/tamaina/browser-media-converter#readme","bugs":{"url":"https://github.com/tamaina/browser-media-converter/issues"},"dist":{"shasum":"9698dca6d696f377f32f55558d274ccd5b63a82d","tarball":"https://registry.npmjs.org/@browser-mc/browser-movie-converter/-/browser-movie-converter-0.2.0.tgz","fileCount":14,"integrity":"sha512-BH0mMIMkbv9jSs2M1EEN/EFJIZb4n6NmQ1pMlLrmzeamSxa5nzkvga5VBRk1DTiRRfL3QlZTPgd35J1o+nXy7g==","signatures":[{"sig":"MEUCICi2WqMgu0UkmOGM9JBuiRRnXR3qb/ihtK49ruszcK2/AiEA3siT1PCkwvAdStgk+ZIQwGLAR+HDCZgW73QzxgWudV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@browser-mc%2fbrowser-movie-converter@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56108},"main":"./dist/index.js","type":"module","_from":"file:.npm-pack/browser-mc-browser-movie-converter-0.2.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"pnpm build","build":"pnpm --filter @browser-mc/browser-movie-converter... build:package","typecheck":"pnpm --filter @browser-mc/browser-movie-converter... typecheck:package","build:package":"tsc -p tsconfig.json","test:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/electron-smoke.mjs","test:hls:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/hls-electron-smoke.mjs","typecheck:package":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"aqz","email":"tamaina@hotmail.co.jp"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:b0205024-8cc9-4761-a9d2-23af1a1a66c1"}},"_resolved":"/home/runner/work/browser-media-converter/browser-media-converter/.npm-pack/browser-mc-browser-movie-converter-0.2.0.tgz","_integrity":"sha512-BH0mMIMkbv9jSs2M1EEN/EFJIZb4n6NmQ1pMlLrmzeamSxa5nzkvga5VBRk1DTiRRfL3QlZTPgd35J1o+nXy7g==","repository":{"url":"git+https://github.com/tamaina/browser-media-converter.git","type":"git","directory":"packages/browser-movie-converter"},"_npmVersion":"11.16.0","description":"Browser movie conversion package using Mediabunny for demux/mux/encode orchestration and the local WebCodecs color helpers for resizing.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mediabunny":"^1.46.0","@browser-mc/webcodecs-color":"^0.2.0","@browser-mc/mediabunny-scene-keyframes":"^0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/browser-movie-converter_0.2.0_1780864167499_0.45656715634269696","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@browser-mc/browser-movie-converter","version":"0.3.0","_id":"@browser-mc/browser-movie-converter@0.3.0","maintainers":[{"name":"aqz","email":"tamaina@hotmail.co.jp"}],"homepage":"https://github.com/tamaina/browser-media-converter#readme","bugs":{"url":"https://github.com/tamaina/browser-media-converter/issues"},"dist":{"shasum":"ecc9b12fd4025a2da7fd2d90981456a10e0e8a52","tarball":"https://registry.npmjs.org/@browser-mc/browser-movie-converter/-/browser-movie-converter-0.3.0.tgz","fileCount":14,"integrity":"sha512-v3S+4JrT3fMMyFjdCAtrj//NVE3dsFsy6/cNGVCfyFMyDNGTkNhSF7xRF+DGM1k8SBNqz2Sm34tA08UwY+CDZw==","signatures":[{"sig":"MEYCIQDU0MFPcpDk6fSO+OSEuosOLycovPR2YbeTQ9uSyL0JlgIhANQWJxT9ak8Y9zBQxTDbtJZYzoeKDtkdXOccPMEb5gbd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@browser-mc%2fbrowser-movie-converter@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59602},"main":"./dist/index.js","type":"module","_from":"file:.npm-pack/browser-mc-browser-movie-converter-0.3.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"pnpm build","build":"pnpm --filter @browser-mc/browser-movie-converter... build:package","typecheck":"pnpm --filter @browser-mc/browser-movie-converter... typecheck:package","build:package":"tsc -p tsconfig.json","test:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/electron-smoke.mjs","test:hls:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/hls-electron-smoke.mjs","typecheck:package":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"aqz","email":"tamaina@hotmail.co.jp"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:b0205024-8cc9-4761-a9d2-23af1a1a66c1"}},"_resolved":"/home/runner/work/browser-media-converter/browser-media-converter/.npm-pack/browser-mc-browser-movie-converter-0.3.0.tgz","_integrity":"sha512-v3S+4JrT3fMMyFjdCAtrj//NVE3dsFsy6/cNGVCfyFMyDNGTkNhSF7xRF+DGM1k8SBNqz2Sm34tA08UwY+CDZw==","repository":{"url":"git+https://github.com/tamaina/browser-media-converter.git","type":"git","directory":"packages/browser-movie-converter"},"_npmVersion":"11.16.0","description":"Browser movie conversion package using Mediabunny for demux/mux/encode orchestration and the local WebCodecs color helpers for resizing.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mediabunny":"^1.46.0","@browser-mc/webcodecs-color":"^0.2.1","@browser-mc/mediabunny-scene-keyframes":"^0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/browser-movie-converter_0.3.0_1781089624646_0.053868836460024605","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@browser-mc/browser-movie-converter","version":"0.4.0","_id":"@browser-mc/browser-movie-converter@0.4.0","maintainers":[{"name":"aqz","email":"tamaina@hotmail.co.jp"}],"homepage":"https://github.com/tamaina/browser-media-converter#readme","bugs":{"url":"https://github.com/tamaina/browser-media-converter/issues"},"dist":{"shasum":"d3e65fd20b95c8eda31b6d86efc7c8483544c5f4","tarball":"https://registry.npmjs.org/@browser-mc/browser-movie-converter/-/browser-movie-converter-0.4.0.tgz","fileCount":14,"integrity":"sha512-ewuDPfVTrzxkXwkVg5y0EKEV6jfadZaxMSZOJ7izUpVm7OmrslCU4ECwk9yuLIQgEaVKtsHvxNLXJ8FRDEgt2Q==","signatures":[{"sig":"MEUCIQDz4Ge9HBqiPT7BN1fxF3Gf7T6EgZhxrEMz3sCDo4iL0wIgEBrtobs5J4fEgi5D04ddcu/OI8KUcGFT0kLqNL1cI2c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@browser-mc%2fbrowser-movie-converter@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":84568},"main":"./dist/index.js","type":"module","_from":"file:.npm-pack/browser-mc-browser-movie-converter-0.4.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"pnpm build","build":"pnpm --filter @browser-mc/browser-movie-converter... build:package","typecheck":"pnpm --filter @browser-mc/browser-movie-converter... typecheck:package","build:package":"tsc -p tsconfig.json","test:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/electron-smoke.mjs","test:hls:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/hls-electron-smoke.mjs","typecheck:package":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"aqz","email":"tamaina@hotmail.co.jp"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:b0205024-8cc9-4761-a9d2-23af1a1a66c1"}},"_resolved":"/home/runner/work/browser-media-converter/browser-media-converter/.npm-pack/browser-mc-browser-movie-converter-0.4.0.tgz","_integrity":"sha512-ewuDPfVTrzxkXwkVg5y0EKEV6jfadZaxMSZOJ7izUpVm7OmrslCU4ECwk9yuLIQgEaVKtsHvxNLXJ8FRDEgt2Q==","repository":{"url":"git+https://github.com/tamaina/browser-media-converter.git","type":"git","directory":"packages/browser-movie-converter"},"_npmVersion":"11.16.0","description":"Browser movie conversion package using Mediabunny for demux/mux/encode orchestration and the local WebCodecs color helpers for resizing.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mediabunny":"^1.46.0","@browser-mc/video-codec":"^0.0.1","@browser-mc/webcodecs-color":"^0.2.1","@browser-mc/mediabunny-scene-keyframes":"^0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/browser-movie-converter_0.4.0_1781115670154_0.2985282842522978","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@browser-mc/browser-movie-converter","version":"1.0.0","_id":"@browser-mc/browser-movie-converter@1.0.0","maintainers":[{"name":"aqz","email":"tamaina@hotmail.co.jp"}],"homepage":"https://github.com/tamaina/browser-media-converter#readme","bugs":{"url":"https://github.com/tamaina/browser-media-converter/issues"},"dist":{"shasum":"b32a89625dd38fa23d9d071b4114c38df429750a","tarball":"https://registry.npmjs.org/@browser-mc/browser-movie-converter/-/browser-movie-converter-1.0.0.tgz","fileCount":14,"integrity":"sha512-HpLuhbjcDeGonF0oAWz9x1mS4iUKoWTazUbOF/NmZkJb5tODyYmBF7yTmmX4SiblIuSRa79eIyAobhbk74Ou7A==","signatures":[{"sig":"MEUCIFiZ8YkhV5Jply5dp1FaJQ5BzO6wOE0pM9jy3qoWATP8AiEAqAWdKiooxZl4J+RhvmCQj3wUtBvhzjyghvt4o0sBm1w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@browser-mc%2fbrowser-movie-converter@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81998},"main":"./dist/index.js","type":"module","_from":"file:.npm-pack/browser-mc-browser-movie-converter-1.0.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"pnpm build","build":"pnpm --filter @browser-mc/browser-movie-converter... build:package","typecheck":"pnpm --filter @browser-mc/browser-movie-converter... typecheck:package","build:package":"tsc -p tsconfig.json","test:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/electron-smoke.mjs","test:hls:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/hls-electron-smoke.mjs","typecheck:package":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"aqz","email":"tamaina@hotmail.co.jp"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:b0205024-8cc9-4761-a9d2-23af1a1a66c1"}},"_resolved":"/home/runner/work/browser-media-converter/browser-media-converter/.npm-pack/browser-mc-browser-movie-converter-1.0.0.tgz","_integrity":"sha512-HpLuhbjcDeGonF0oAWz9x1mS4iUKoWTazUbOF/NmZkJb5tODyYmBF7yTmmX4SiblIuSRa79eIyAobhbk74Ou7A==","repository":{"url":"git+https://github.com/tamaina/browser-media-converter.git","type":"git","directory":"packages/browser-movie-converter"},"_npmVersion":"11.16.0","description":"Browser movie conversion package using Mediabunny for demux/mux/encode orchestration and the local WebCodecs color helpers for resizing.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mediabunny":"^1.46.0","@browser-mc/video-codec":"^0.0.1","@browser-mc/webcodecs-color":"^1.0.0","@browser-mc/mediabunny-scene-keyframes":"^0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/browser-movie-converter_1.0.0_1781162139728_0.611309268387507","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@browser-mc/browser-movie-converter","version":"1.0.1","_id":"@browser-mc/browser-movie-converter@1.0.1","maintainers":[{"name":"aqz","email":"tamaina@hotmail.co.jp"}],"homepage":"https://github.com/tamaina/browser-media-converter#readme","bugs":{"url":"https://github.com/tamaina/browser-media-converter/issues"},"dist":{"shasum":"9e1fd39e73b921d831f9ddd47a12e558c8f93686","tarball":"https://registry.npmjs.org/@browser-mc/browser-movie-converter/-/browser-movie-converter-1.0.1.tgz","fileCount":15,"integrity":"sha512-bvUj+fTcXRNIRuWeNU6r36ooJ3ITYewfX45N7ZB6cFeV/8eqBuTANLD2xPd5dvhA9QUDN1mIs8o0O0MrEvWiUw==","signatures":[{"sig":"MEUCIDHokr+rgw25dspTpUK5/AnXr98T3Je6kpBrASwqTzjNAiEAkr9sLHYGV4Y8/xMM/guo0g3LSh0jZu0UlSv7Y+hd9Fk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@browser-mc%2fbrowser-movie-converter@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":89709},"main":"./dist/index.js","type":"module","_from":"file:.npm-pack/browser-mc-browser-movie-converter-1.0.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"pnpm build","build":"pnpm --filter @browser-mc/browser-movie-converter... build:package","typecheck":"pnpm --filter @browser-mc/browser-movie-converter... typecheck:package","build:package":"tsc -p tsconfig.json","test:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/electron-smoke.mjs","test:hls:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/hls-electron-smoke.mjs","typecheck:package":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"aqz","email":"tamaina@hotmail.co.jp"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:b0205024-8cc9-4761-a9d2-23af1a1a66c1"}},"_resolved":"/home/runner/work/browser-media-converter/browser-media-converter/.npm-pack/browser-mc-browser-movie-converter-1.0.1.tgz","_integrity":"sha512-bvUj+fTcXRNIRuWeNU6r36ooJ3ITYewfX45N7ZB6cFeV/8eqBuTANLD2xPd5dvhA9QUDN1mIs8o0O0MrEvWiUw==","repository":{"url":"git+https://github.com/tamaina/browser-media-converter.git","type":"git","directory":"packages/browser-movie-converter"},"_npmVersion":"11.16.0","description":"Browser movie conversion package using Mediabunny for demux/mux/encode orchestration and the local WebCodecs color helpers for resizing.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mediabunny":"^1.46.0","@browser-mc/video-codec":"^0.0.1","@browser-mc/webcodecs-color":"^1.0.1","@browser-mc/mediabunny-scene-keyframes":"^0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/browser-movie-converter_1.0.1_1781167362673_0.3428237383354804","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@browser-mc/browser-movie-converter","version":"1.0.2","_id":"@browser-mc/browser-movie-converter@1.0.2","maintainers":[{"name":"aqz","email":"tamaina@hotmail.co.jp"}],"homepage":"https://github.com/tamaina/browser-media-converter#readme","bugs":{"url":"https://github.com/tamaina/browser-media-converter/issues"},"dist":{"shasum":"bb387c8bbcbd2d7409911bf0a4cb6c0d63e3880b","tarball":"https://registry.npmjs.org/@browser-mc/browser-movie-converter/-/browser-movie-converter-1.0.2.tgz","fileCount":15,"integrity":"sha512-wXAarqUsUSKWUow0j4rhIXZUjK4aBamwncN6LoySHeLJhOoslzTXgsN5/LpJMPEPENPOeH/a06dIaHGDvFfnUg==","signatures":[{"sig":"MEUCIC5nV31InKzhkl0G7oM/NJqCqJ6iy8M9FbLiB0UCsma0AiEAklJnyf1XwmQh7Qxg4AWg9nqNxqzjULFtikAMvmFGdWI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@browser-mc%2fbrowser-movie-converter@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":91879},"main":"./dist/index.js","type":"module","_from":"file:.npm-pack/browser-mc-browser-movie-converter-1.0.2.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"pnpm build","build":"pnpm --filter @browser-mc/browser-movie-converter... build:package","typecheck":"pnpm --filter @browser-mc/browser-movie-converter... typecheck:package","build:package":"tsc -p tsconfig.json","test:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/electron-smoke.mjs","test:hls:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/hls-electron-smoke.mjs","typecheck:package":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"aqz","email":"tamaina@hotmail.co.jp"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:b0205024-8cc9-4761-a9d2-23af1a1a66c1"}},"_resolved":"/home/runner/work/browser-media-converter/browser-media-converter/.npm-pack/browser-mc-browser-movie-converter-1.0.2.tgz","_integrity":"sha512-wXAarqUsUSKWUow0j4rhIXZUjK4aBamwncN6LoySHeLJhOoslzTXgsN5/LpJMPEPENPOeH/a06dIaHGDvFfnUg==","repository":{"url":"git+https://github.com/tamaina/browser-media-converter.git","type":"git","directory":"packages/browser-movie-converter"},"_npmVersion":"11.16.0","description":"Browser movie conversion package using Mediabunny for demux/mux/encode orchestration and the local WebCodecs color helpers for resizing.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mediabunny":"^1.46.0","@browser-mc/video-codec":"^0.0.1","@browser-mc/webcodecs-color":"^1.0.1","@browser-mc/mediabunny-scene-keyframes":"^0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/browser-movie-converter_1.0.2_1781179733606_0.956189963494777","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@browser-mc/browser-movie-converter","version":"1.1.0","_id":"@browser-mc/browser-movie-converter@1.1.0","maintainers":[{"name":"aqz","email":"tamaina@hotmail.co.jp"}],"homepage":"https://github.com/tamaina/browser-media-converter#readme","bugs":{"url":"https://github.com/tamaina/browser-media-converter/issues"},"dist":{"shasum":"c6f9ea5c98477029e2d0da7a902425f3982885e3","tarball":"https://registry.npmjs.org/@browser-mc/browser-movie-converter/-/browser-movie-converter-1.1.0.tgz","fileCount":15,"integrity":"sha512-bkkjdDfg5x1gHCroV0QKD+5KmxqlQxm+J6vnPhwg0wwDL6Vxsm8lqwI9RigMdlq0vG1ArfXiqdPqHCbeKM1aLQ==","signatures":[{"sig":"MEQCIB8CqBA4cFyH9m5r3rQZOaT6KOUrAix65FXByWHOdEe2AiAVW44Gm3iOF87hxuweGjaPpOQkzAwFM3jrF6BQRzE8LQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@browser-mc%2fbrowser-movie-converter@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":109718},"main":"./dist/index.js","type":"module","_from":"file:.npm-pack/browser-mc-browser-movie-converter-1.1.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"pnpm build","build":"pnpm --filter @browser-mc/browser-movie-converter... build:package","typecheck":"pnpm --filter @browser-mc/browser-movie-converter... typecheck:package","build:package":"tsc -p tsconfig.json","test:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/electron-smoke.mjs","test:hls:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/hls-electron-smoke.mjs","typecheck:package":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"aqz","email":"tamaina@hotmail.co.jp"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:b0205024-8cc9-4761-a9d2-23af1a1a66c1"}},"_resolved":"/home/runner/work/browser-media-converter/browser-media-converter/.npm-pack/browser-mc-browser-movie-converter-1.1.0.tgz","_integrity":"sha512-bkkjdDfg5x1gHCroV0QKD+5KmxqlQxm+J6vnPhwg0wwDL6Vxsm8lqwI9RigMdlq0vG1ArfXiqdPqHCbeKM1aLQ==","repository":{"url":"git+https://github.com/tamaina/browser-media-converter.git","type":"git","directory":"packages/browser-movie-converter"},"_npmVersion":"11.16.0","description":"Browser movie conversion package using Mediabunny for demux/mux/encode orchestration and the local WebCodecs color helpers for resizing.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mediabunny":"^1.46.0","@browser-mc/video-codec":"^0.0.1","@browser-mc/webcodecs-color":"^1.0.1","@browser-mc/mediabunny-scene-keyframes":"^0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/browser-movie-converter_1.1.0_1781181074307_0.29445963855599167","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@browser-mc/browser-movie-converter","version":"1.2.0","_id":"@browser-mc/browser-movie-converter@1.2.0","maintainers":[{"name":"aqz","email":"tamaina@hotmail.co.jp"}],"homepage":"https://github.com/tamaina/browser-media-converter#readme","bugs":{"url":"https://github.com/tamaina/browser-media-converter/issues"},"dist":{"shasum":"15fc8cbb2aab5a1160e7f36c606ce348ce87f37f","tarball":"https://registry.npmjs.org/@browser-mc/browser-movie-converter/-/browser-movie-converter-1.2.0.tgz","fileCount":15,"integrity":"sha512-KxJepPdJ5J0nOLbWH0FaVllcmdy0P7N1JeLs8N37Pd14MizCtcRG0gfEku0DOwYbPocGWF5Xogi8Q8D1dRpKWw==","signatures":[{"sig":"MEYCIQDdzhlc8vxj64ZQezlsfp7eau5Ty5ZHlJd0VFblOedl/QIhAIye1kwGfe+EeHQOJ3IJZ+yPNoA45rYt2ViCmcxdOH02","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@browser-mc%2fbrowser-movie-converter@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":117824},"main":"./dist/index.js","type":"module","_from":"file:.npm-pack/browser-mc-browser-movie-converter-1.2.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"pnpm build","build":"pnpm --filter @browser-mc/browser-movie-converter... build:package","typecheck":"pnpm --filter @browser-mc/browser-movie-converter... typecheck:package","build:package":"tsc -p tsconfig.json","test:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/electron-smoke.mjs","test:hls:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/hls-electron-smoke.mjs","typecheck:package":"tsc -p tsconfig.json --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"aqz","email":"tamaina@hotmail.co.jp"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:b0205024-8cc9-4761-a9d2-23af1a1a66c1"}},"_resolved":"/home/runner/work/browser-media-converter/browser-media-converter/.npm-pack/browser-mc-browser-movie-converter-1.2.0.tgz","_integrity":"sha512-KxJepPdJ5J0nOLbWH0FaVllcmdy0P7N1JeLs8N37Pd14MizCtcRG0gfEku0DOwYbPocGWF5Xogi8Q8D1dRpKWw==","repository":{"url":"git+https://github.com/tamaina/browser-media-converter.git","type":"git","directory":"packages/browser-movie-converter"},"_npmVersion":"11.16.0","description":"Browser movie conversion package using Mediabunny for demux/mux/encode orchestration and the local WebCodecs color helpers for resizing.","directories":{},"_nodeVersion":"22.22.3","dependencies":{"mediabunny":"^1.46.0","@browser-mc/video-codec":"^0.0.1","@browser-mc/webcodecs-color":"^1.0.1","@browser-mc/mediabunny-scene-keyframes":"^0.0.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/browser-movie-converter_1.2.0_1781183996152_0.7740616681477319","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"_id":"@browser-mc/browser-movie-converter@1.3.0","bugs":{"url":"https://github.com/tamaina/browser-media-converter/issues"},"dist":{"shasum":"c14601be579a18a917f5b18c90af4e152476f9c0","tarball":"https://registry.npmjs.org/@browser-mc/browser-movie-converter/-/browser-movie-converter-1.3.0.tgz","integrity":"sha512-0/YzVQZ0GaDNDVQjUdsqba5kdzZaL+mYYQ/XcDvW3knDkx8dhW5b1ofF0WQ60gxW+mSegry+mUm0YrjHvOENPA==","fileCount":15,"unpackedSize":124564,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@browser-mc%2fbrowser-movie-converter@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDC9+KrG8llxsBNYhCDUAgPyMzFwpReuMNFi1MmKC0rVwIhAKkrqEeak61fMLMvdvsMUs0KmFimBi7ird0qbNx/NVU5"}]},"main":"./dist/index.js","name":"@browser-mc/browser-movie-converter","type":"module","_from":"file:.npm-pack/browser-mc-browser-movie-converter-1.3.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"}},"scripts":{"test":"pnpm build","build":"pnpm --filter @browser-mc/browser-movie-converter... build:package","typecheck":"pnpm --filter @browser-mc/browser-movie-converter... typecheck:package","build:package":"tsc -p tsconfig.json","test:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/electron-smoke.mjs","test:hls:electron":"pnpm build && env -u ELECTRON_RUN_AS_NODE xvfb-run -a node test/hls-electron-smoke.mjs","typecheck:package":"tsc -p tsconfig.json --noEmit"},"version":"1.3.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:b0205024-8cc9-4761-a9d2-23af1a1a66c1"},"approver":{"name":"aqz","email":"tamaina@hotmail.co.jp"}},"homepage":"https://github.com/tamaina/browser-media-converter#readme","_resolved":"/home/runner/work/browser-media-converter/browser-media-converter/.npm-pack/browser-mc-browser-movie-converter-1.3.0.tgz","_integrity":"sha512-0/YzVQZ0GaDNDVQjUdsqba5kdzZaL+mYYQ/XcDvW3knDkx8dhW5b1ofF0WQ60gxW+mSegry+mUm0YrjHvOENPA==","repository":{"url":"git+https://github.com/tamaina/browser-media-converter.git","type":"git","directory":"packages/browser-movie-converter"},"_npmVersion":"11.17.0","description":"Browser movie conversion package using Mediabunny for demux/mux/encode orchestration and the local WebCodecs color helpers for resizing.","directories":{},"maintainers":[{"name":"aqz","email":"tamaina@hotmail.co.jp"}],"_nodeVersion":"22.22.3","dependencies":{"mediabunny":"^1.46.0","@browser-mc/video-codec":"^0.0.1","@browser-mc/webcodecs-color":"^1.0.1","@browser-mc/mediabunny-scene-keyframes":"^0.0.1"},"publishConfig":{"access":"public"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/browser-movie-converter_1.3.0_1781246181320_0.7998374646353481"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-07T05:42:29.259Z","modified":"2026-06-12T06:36:21.718Z","0.0.1":"2026-06-07T05:42:29.828Z","0.1.0":"2026-06-07T16:02:05.448Z","0.1.1":"2026-06-07T16:56:29.185Z","0.2.0":"2026-06-07T20:29:27.567Z","0.3.0":"2026-06-10T11:07:04.733Z","0.4.0":"2026-06-10T18:21:10.231Z","1.0.0":"2026-06-11T07:15:39.808Z","1.0.1":"2026-06-11T08:42:42.763Z","1.0.2":"2026-06-11T12:08:53.688Z","1.1.0":"2026-06-11T12:31:14.388Z","1.2.0":"2026-06-11T13:19:56.253Z","1.3.0":"2026-06-12T06:36:21.410Z"},"bugs":{"url":"https://github.com/tamaina/browser-media-converter/issues"},"homepage":"https://github.com/tamaina/browser-media-converter#readme","repository":{"url":"git+https://github.com/tamaina/browser-media-converter.git","type":"git","directory":"packages/browser-movie-converter"},"description":"Browser movie conversion package using Mediabunny for demux/mux/encode orchestration and the local WebCodecs color helpers for resizing.","maintainers":[{"name":"aqz","email":"tamaina@hotmail.co.jp"}],"readme":"# @browser-mc/browser-movie-converter\n\nBrowser movie conversion package using Mediabunny for demux/mux/encode orchestration and the local WebCodecs color helpers for resizing.\n\n- Caller-provided Mediabunny `Input` for MP4/MOV/WebM and other supported sources\n- MP4/WebM output through Mediabunny `Conversion`\n- HLS output through local Mediabunny helpers\n- Streaming scene detection and keyframe forcing through `@browser-mc/mediabunny-scene-keyframes`\n- Raw planar resize through `@browser-mc/webcodecs-color`\n- Input color-space inspection and color metadata copying for CPU-resized samples\n\n## Install\n\n```sh\npnpm add @browser-mc/browser-movie-converter mediabunny\n```\n\n## Build Mediabunny conversion options\n\n```ts\nimport {\n  BlobSource,\n  BufferTarget,\n  Conversion,\n  Input,\n  Mp4OutputFormat,\n  Output,\n  QuickTimeInputFormat,\n} from 'mediabunny';\nimport {\n  buildMovieConversionOptions,\n} from '@browser-mc/browser-movie-converter';\n\nconst input = new Input({\n  source: new BlobSource(file),\n  formats: [new QuickTimeInputFormat()],\n});\nconst target = new BufferTarget();\nconst output = new Output({\n  target,\n  format: new Mp4OutputFormat({ fastStart: 'in-memory' }),\n});\n\nconst plan = await buildMovieConversionOptions({\n  input,\n  output,\n  videoTrackQuery: {\n    filter: (track) => track.number === 1,\n  },\n  video: {\n    codec: 'avc',\n    bitrate: { quality: 0.75 },\n  },\n  resize: {\n    width: 1280,\n    rawBitDepth: 8,\n    rawChromaSubsampling: '420',\n  },\n  sceneDetection: {\n    sampleRate: 'all',\n    threshold: 0.2,\n  },\n  colorMetadata: 'preserve',\n});\n\nconst conversion = await Conversion.init(plan.options);\nif (!conversion.isValid) {\n  throw new Error('Mediabunny could not create a valid conversion');\n}\n\nawait conversion.execute();\nconsole.log(plan.sceneKeyFrames?.state.keyFrameTimestamps);\nconsole.log(plan.videoColor?.colorSpace);\nconsole.log(plan.resize);\nconsole.log(target.buffer);\n```\n\n## Capability Checks\n\n```ts\nimport {\n  checkMovieConversionSupport,\n  checkMovieRawFrameSupport,\n  checkMovieVideoEncoderBitDepthSupport,\n  checkMovieVideoEncoderConfigSupport,\n} from '@browser-mc/browser-movie-converter';\n\nconst rawFrame = checkMovieRawFrameSupport({\n  width: 1280,\n  height: 720,\n  sourceFormat: 'I444P10',\n  rawBitDepth: 8,\n  rawChromaSubsampling: '420',\n});\n\nconst encoder = await checkMovieVideoEncoderConfigSupport({\n  codec: 'avc1.64001f',\n  width: 1280,\n  height: 720,\n  bitrate: 4_000_000,\n  framerate: 30,\n});\n\nconst support = await checkMovieConversionSupport({\n  input,\n  output,\n  video: { codec: 'avc', bitrate: 4_000_000 },\n  resize: { width: 1280 },\n});\nconst encoderBitDepths = await checkMovieVideoEncoderBitDepthSupport();\n\nconsole.log(support.supported, support.decodable, support.convertible);\nconsole.log(support.conversion?.discardedTracks);\nconsole.log(rawFrame.supported, rawFrame.format);\nconsole.log(encoder.supported, encoder.config?.codec);\nconsole.table(encoderBitDepths.map(({ codec, bitDepth, chromaSubsampling, fullCodecString, supported }) => ({\n  codec,\n  bitDepth,\n  chromaSubsampling,\n  fullCodecString,\n  supported,\n})));\n```\n\n## HLS\n\n```ts\nimport {\n  BlobSource,\n  Input,\n  QuickTimeInputFormat,\n} from 'mediabunny';\nimport {\n  convertMovieToHls,\n  decodeMovieHlsText,\n} from '@browser-mc/browser-movie-converter';\n\nconst input = new Input({\n  source: new BlobSource(file),\n  formats: [new QuickTimeInputFormat()],\n});\n\nfor await (const asset of convertMovieToHls({\n  input,\n  tracks: 'primary',\n  videoTrackQuery: {\n    filter: (track) => track.number === 1,\n  },\n  targetDuration: 2,\n  resize: {\n    width: 640,\n  },\n  variants: [\n    {\n      resize: {\n        width: 1280,\n      },\n      video: {\n        bitrate: 4_000_000,\n      },\n    },\n    {\n      video: {\n        bitrate: 1_500_000,\n      },\n    },\n  ],\n  sceneDetection: {\n    sampleRate: 'all',\n    threshold: 0.2,\n  },\n})) {\n  if (asset.path.endsWith('.m3u8')) {\n    const bytes = new Uint8Array(await new Response(asset.data).arrayBuffer());\n    console.log(asset.path, decodeMovieHlsText(bytes));\n  } else {\n    await uploadSegment(asset.path, asset.data);\n  }\n}\n```\n\n## Advanced Options\n\n`quantizer` is an advanced encoder-control option for AVC/H.264 style quantizer tuning:\n\n```ts\nconst plan = await buildMovieConversionOptions({\n  input,\n  output,\n  video: {\n    codec: 'avc',\n    bitrate: 4_000_000,\n  },\n  quantizer: {\n    keyFrame: 28,\n    deltaFrame: 36,\n  },\n});\n```\n\nIt accepts either a single integer or `{ keyFrame, deltaFrame }`. Lower values preserve more quality, and higher values compress more aggressively. Values must be integers from 0 to 63.\n\nWhen using `quantizer`, still set `video.bitrate` as a compatibility hint. Mediabunny uses bitrate, not quantizer values, when choosing the AVC/H.264 level for the generated codec string.\n\nWhen split `quantizer` values are used with `keyFrameInterval`, the interval is handled by this package so interval key frames can receive the `keyFrame` quantizer.\n\n## Notes\n\n- This package builds Mediabunny `ConversionOptions`; callers choose the `Output`, target, and final `Conversion` lifecycle. `checkMovieConversionSupport()` loads the selected tracks, calls each selected track's `canDecode()`, builds the conversion plan, and initializes Mediabunny `Conversion` without executing it. It reports `supported: true` only when all selected tracks are decodable and the initialized conversion is valid.\n- When `resize` is set, the generated video options use `VideoSample.toVideoFrame()` plus `webcodecs-color.resizeVideoFrame()` inside Mediabunny's `process` hook. Supported planar YUV/YUVA and `NV12` frames use CPU planar resize. `RGBA`, `RGBX`, `BGRA`, `BGRX`, and unsupported or unknown `VideoFrame` formats resize through Canvas and return `RGBA` with a warning. `resize.rawBitDepth` and `resize.rawChromaSubsampling` can additionally convert supported planar frames before encoding; both default to `preserve`. `NV12` frames are preserved as `NV12` during resize when both controls are preserved, or unpacked to `I420` when raw planar conversion is requested.\n- `rawBitDepth` controls the raw planar `VideoFrame` produced before encoding; it does not by itself prove that the chosen movie codec accepts that frame bit depth. Use `checkMovieRawFrameSupport` for the planned raw frame format, `checkMovieVideoEncoderConfigSupport` for the exact `VideoEncoderConfig` you intend to use, and `checkMovieVideoEncoderBitDepthSupport()` to compare default 1080p 8-bit/10-bit and 4:2:0/4:2:2/4:4:4 encoder configs across codecs.\n- `convertMovieToHls` streams HLS assets through `ReadableStream<Uint8Array>` and requires `variants`, producing one HLS video encode per variant. Top-level resize, scene detection, quantizer, color metadata, force transcode, and key-frame options act as defaults; variant values override them. Audio is encoded once and paired with every video variant.\n- HLS segment formats are controlled by `segmentFormat: { mpegts?: boolean; cmaf?: boolean }`, both `true` by default. Per playlist, Mediabunny picks the first enabled format that supports all of its codecs: MPEG-TS handles avc/hevc video, so codecs it cannot contain (such as `av1` or `vp9` variants) automatically fall through to CMAF (fragmented MP4) segments with an `init-{n}.mp4` init segment. TS and CMAF variants can coexist in one master playlist.\n- For AVC/H.264 transcodes, Mediabunny currently builds `avc1.64....` codec strings by default, which corresponds to High Profile. If the video track is copied without transcoding, the source profile is preserved instead.\n- Resize dimensions are rounded down to a multiple of `dimensionAlignment`, defaulting to `2`, which avoids odd-size 4:2:0/NV12 artifacts and encoder constraints.\n- Scene detection defaults to `sampleRate: 'all'`, so every decoded video sample is considered while conversion runs. Detected scene samples are marked immediately with Mediabunny `VideoSample` encode options to force key frames.\n- `colorMetadata: 'preserve'` copies the source sample's `VideoColorSpace` metadata to CPU-resized planar samples. Canvas-resized samples use the generated frame color space. `colorMetadata: 'canvas-sdr'` draws frames through an sRGB Canvas path and marks output samples as BT.709 SDR; it is a practical browser conversion path, not a dedicated HDR tone-mapping engine.\n- For browser tests with H.264/AAC material, use a browser build that has proprietary codec support, such as installed Chrome/Electron rather than Playwright's bundled Chromium.\n","readmeFilename":"README.md"}