[{"data":1,"prerenderedAt":28},["ShallowReactive",2],{"blog-index":3},[4,14,22],{"path":5,"title":6,"description":7,"date":8,"tags":9},"\u002Fblog\u002Fsplit-video-by-scene-changes-in-browser","How to Split a Video by Scene Changes in Your Browser","Learn how browser-based shot detection finds hard cuts, filters flashes, and exports separate MP4 scenes locally without uploading your video.","2026-08-15",[10,11,12,13],"guide","video","scene-detection","privacy",{"path":15,"title":16,"description":17,"date":18,"tags":19},"\u002Fblog\u002Fartplayer-blog-is-live","The ArtPlayer Blog Is Live","ArtPlayer.org now publishes product notes, browser-media engineering deep dives, and release updates — written in Markdown, generated as static pages.","2026-08-08",[20,21],"announcement","product",{"path":23,"title":24,"description":25,"date":18,"tags":26},"\u002Fblog\u002Fupscale-video-online-without-uploading","How to Upscale a Video Online Without Uploading It","Learn how to upscale a video privately in your browser, choose the right quality mode, and handle WebGPU, codec, memory, and output-size limits.",[10,11,27,13],"webgpu",1787284600572]