diff --git a/public/wallpapers/wallpaper14.jpg b/public/wallpapers/wallpaper14.jpg deleted file mode 100644 index c1762f7..0000000 Binary files a/public/wallpapers/wallpaper14.jpg and /dev/null differ diff --git a/public/wallpapers/wallpaper16.jpg b/public/wallpapers/wallpaper16.jpg deleted file mode 100644 index 9038dde..0000000 Binary files a/public/wallpapers/wallpaper16.jpg and /dev/null differ diff --git a/src/lib/exporter/videoExporter.ts b/src/lib/exporter/videoExporter.ts index c692fc3..a3619d4 100644 --- a/src/lib/exporter/videoExporter.ts +++ b/src/lib/exporter/videoExporter.ts @@ -118,9 +118,20 @@ export class VideoExporter { if (this.cancelled) break; const canvas = this.renderer!.getCanvas(); + + // CRITICAL FIX for Windows: Explicitly specify colorSpace when creating VideoFrame from canvas + // Without this, VideoFrame.colorSpace can be null on Windows, causing "Cannot read properties of null" error + // Using BT.709 with sRGB transfer (IEC 61966-2-1) which is standard for HD video + // @ts-ignore - TypeScript definitions may not include all VideoFrameInit properties const exportFrame = new VideoFrame(canvas, { timestamp, duration: frameDuration, + colorSpace: { + primaries: 'bt709', + transfer: 'iec61966-2-1', + matrix: 'rgb', + fullRange: true, + }, }); if (this.encoder && this.encoder.state === 'configured') {