I've been working on extracting frames from video files entirely in the browser to avoid uploads. The goal is to support MP4/WebM/MOV/AVI/MKV, extract by interval/count/time-range, export as JPG/PNG/WebP, optional text watermark, and ZIP download. Processing stays on-device for privacy and works with large files without server limits.

For testing I put up a small tool at https://video2jpg.com/ — it uses Canvas + Media APIs client-side. Source is TypeScript/React, deployed on Cloudflare Workers + R2 for static hosting (no server processing).

Questions for the community:

  • For large videos (2GB+), any tips on memory-efficient frame extraction or throttling decoding?
  • Best way to handle accurate seeking without decoding the entire file?
  • Canvas quality vs. WebCodecs for future improvements?

Would appreciate feedback on approach and edge cases you've hit with in-browser video processing. Happy to share implementation details.

Recommended Answers

All 3 Replies

Seems an awfully convoluted way to go about doing something that ffmpeg will do quite simply.

Processing stays on-device for privacy

Yet your spam link says "Free Online...", where is the privacy here?

Yeah. There are several tools out there that are just fancy GUI wrappers for ffmpeg. And thanks to chatGPT, figuring out what to type in on the command line is just one question away.

That no-server side processing looks to be a lie. You have a web site so somehing happens server side.

Time to create an app instead. Don't dance around and tell me lies.

Maybe I shouldn't ask questions either.

Ask me no questions, and I'll tell you no lies

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.