4 ms·
Hello HN Modfy is a purely browser-based privacy-first video tool capable of performing tasks like converting, compression, etc without uploading your files.
by cryogenicplanet 6y ago
Hello HN
Modfy is a purely browser-based privacy-first video tool capable of performing tasks like converting, compression, etc without uploading your files.
I thought it would be cool to process video in the browser using Web Assembly and FFmpeg
The project is also open source and based on https://github.com/ffmpegwasm/ffmpeg.wasm https://github.com/ffmpegwasm/ffmpeg.wasm
Let me know what you think!
- untog 6y agoHow does the performance compare to running ffmpeg ad usual? I’m guessing that WASM means you don’t have access to things like hardware acceleration?
- cryogenicplanet 6y agoIt is definitely slower than using ffmpeg normally, but the idea is for more non technical users it adds convenience and they don't have to use a command line. Yeah this version doesn't have hardware acceleration, but if I am not wrong WASM has hardware acceleration in development or coming soon.
- sktrdie 6y agoAwesome work! The easy-of-use and privacy capabilities of this totally out-weight the somewhat slower performance. The safety one has with being able to do this in the browser, rather than having to download a tool that is not "sandboxed" and is capable of potentially running anything on your system, is amazing. Regarding the slowness, can you comment on why you think WebAssembly is slower than native? I'm sure some remarks would be very helpful to the Wasm team. Thanks!
- whyleyc 6y agoI tested with a 64MB, 124s long, 1152x720 .MOV video converted to .MP4 and here's what I saw: modfy.video - 258 seconds native ffmpeg - 23 seconds This was using a 2020 MBP with a 2.3 GHz Quad-Core Intel Core i7 processor & 32GB of RAM. My local ffmpeg version was v4.3.1. So it looks like performance definitely takes a hit due to WASM, but I'm sure performance will improve, and this is technically a very impressive achievement. The UI is really nice, and the privacy benefits of remaining client side, whilst delivered through the Web are great (i.e. nothing to install locally). I'm one of the co-founders @ Zamzar so really interested in this space. Congrats to @cryogenicplanet on this project - you've done a great job with it!
- the-dude 6y agoIsn't .MOV already .MP4?
- dylan604 6y agoNo. MP4 is based on MOV. MP4 is typically going to have h.264 video with AAC audio. MOV is not limited in video codec, nor audio codec. Even though MediaInfo reports MOV as MPEG-4, they are not the same.
- Denvercoder9 6y agoMP4 isn't limited in video codec or audio codec either, and it's quite common to have non-H.264 or non-AAC codecs in them. The only difference between MOV and MP4 are a few later created extensions, and the difference in every day use is negligble.
- dylan604 6y agoMP4 is an ISO standardized version of where MOV was at the time it was made a standard. MOV is an Apple product that they are free to update as they see fit. Apple has since modified the QT container regarding things like the moov atoms for aspect ratio, color systems (709 vs 609 etc), and all of the other similar fiddly bits. This is the major differences between the two to me.
- LeoPanthera 6y agoBoth mov and mp4 are "containers", which can contain different kinds of codec. Both are usually h264 - mp4 especially - but they don't have to be. mp4 files can contain many different variants of mpeg-4, including hevc. mov files can contain virtually anything.
- ArtWomb 6y agoThanks for building, cryogenicplanet! Just wanted to add I really like the "no-upload" programming paradigm a lot. I use browser native webgl rendering internally for example to automate generation of static digital art assets. All samples and finished images are transferred via http. And its easy to run on any device: just fire up chrome and enter url. I'd like to do the same for the video asset generation pipeline as well. For which I do most ffmpeg processing on host. WASM build allows for browser based video generation on the fly ;)
- cryogenicplanet 6y agoYeah this is definitely try to push that dream of not having to upload/download software and doing most if not all things on the browser itself
- FraKtus 6y agoI am not knowledgeable with WASM, can it enable threading in FFmpeg? That’s where FFmpeg shine...
- markdog12 6y agoYes, SIMD as well, although they're not available on all browsers/devices.
- leptons 6y agoI'm curious about using this to transcode youtube videos in the browser. Wondering if CORS is going to be an issue. Looks like I found another rabbit hole to keep me occupied for a while.