ffmpeg.wasm
reference-types
Our great sponsors
ffmpeg.wasm | reference-types | |
---|---|---|
76 | 9 | |
12,983 | 151 | |
3.6% | - | |
8.9 | 5.3 | |
15 days ago | over 2 years ago | |
C | WebAssembly | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ffmpeg.wasm
-
Show HN: I open-sourced the in-memory PostgreSQL I built at work for E2E tests
There's already ffmpeg wasm. I've used it in projects. Works great.
https://github.com/ffmpegwasm/ffmpeg.wasm
-
FFmpeg 7.0 Released
There's a low-hanging fruit that I think would make ffmpeg more helpful for regular people.
There's a million terrible websites that offer file conversion services. They're ad-ridden, with god-knows-what privacy/security postures. There's little reason for users to need to upload their files to a third-party when they can do it locally. But getting them to download fiddly technical software is tough - and they're right to mistrust it.
So, there's a WASM version of ffmpeg, already working and hosted at Netlify [1]. It downloads the WASM bundle to your browser and you can run conversions/transformations as you wish, in your browser. Sandboxed and pretty performant too!
If this tool a) was updated regularly b) had a nicer, non-CLI UI for everyday users and c) was available at an easily-Googlable domain name - it would solve all the problems I mentioned above.
[1]: https://ffmpegwasm.netlify.app/
-
FFmpeg-online: ffpmeg running on the browser
As their github page says, based on https://ffmpegwasm.netlify.app ...
I'm guessing no one did GPU-optimizations? I saw a web app (not an ffmpeg transpilation) that went clever and used WebGL so it can access the GPU and use its parallel processing capabilities...
-
Locoly (locoly.app): an in-browser video editor running all computations locally
ffmpeg.wasm: The engine making all these happen. However, I’m a bit concerned about its current situation. The repo has not been updated for more than six months now, and that’s not a healthy sign for an open-source project. Clearly I was reading the commits wrong. The author mentioned “speed up x264 with SIMD intrinsics” in their roadmap (https://github.com/ffmpegwasm/ffmpeg.wasm/discussions/415), which, if landed, could make such on-device video editors much more competitive.
-
[TASK] Reverse Engineer my Web App Before Production
I use https://github.com/ffmpegwasm/ffmpeg.wasm and I want my FFMPEG commands to be hidden from others.
- AWS service for transcoding audio to mp3 and images to jpg?
-
I made a simple online video editor with React and ffmpeg
Possibly using this? https://github.com/ffmpegwasm/ffmpeg.wasm
-
Newbie question: Is there any possible way to grab metadata from local media files and process them in the webbrowser?
You could try using something like ffmpeg wasm which is a way of using ffmpeg client side in browser. Unfortunately WebAssembly only supports files less than 2 gigabytes, which is a problem for videos. And I don't know if ffmpeg wasm contains ffprobe, so you might have to find another project or try to compile ffprobe to wasm yourself. This stuff is out of my wheelhouse so I can't offer much help.
- Show HN: FFmpeg UI
- Petition to add support for Gopher protocol in Firefox
reference-types
-
Old CSS, new CSS (2020)
> It could be an interesting use case for WASM if the problem of passing data into the WASM VM cheaply (perhaps by reference) can be solved.
WASM Reference Types should hopefully solve this. The WASM working group seems to have some good momentum - so I'm hopeful this (or a similar replacement spec) will land sooner rather than later.
https://github.com/WebAssembly/reference-types/blob/master/p...
-
Bring garbage collected programming languages efficiently to WebAssembly
AFAIK GC is irrelevant for "direct DOM access", you would rather want to hop into the following rabbit hole:
- reference types: https://github.com/WebAssembly/reference-types/blob/master/p...
- interface types (inactive): https://github.com/WebAssembly/interface-types/blob/main/pro...
- component model: https://github.com/WebAssembly/component-model
If this looks like a mess, that's because it is. Compared to that, the current solution to go through a Javascript shim doesn't look too bad IMHO.
-
Extism: Make all software programmable with WebAssembly
[1]: https://github.com/WebAssembly/proposals
A glance of the overview and spec seems to indicate that WASM will provide some primitive data types, and any GC language can build their implementation on top of it. As I understand it, it's heavily based on Reference Types[3], which allows acting on host-provided types, and is already considered part of the spec [4]. It doesn't remove the need for the 5 different runtimes to have their own GC, but it lowers the bulk that the runtimes need to carry around, and offloads some of that onto the WASM runtime instead.
[3]: https://github.com/WebAssembly/reference-types/blob/master/p...
-
Struggling to find yew benchmarks
They've talked about interface types, and added reference types, which is a stepping stone toward the GC extension proposal, which would be a stepping stone toward manipulating the DOM from the WebAssembly side, but their official roadmap page is more short-term.
-
Blazor WASM and privacy
Nope, WASM reference types, it has nothing to do with .NET type system.
-
FFmpeg for browser and node, powered by WebAssembly
> And there's been talk of exposing the JS GC to wasm for a few years. Hopefully when that stuff lands, it'll get easier to marshal objects across the gap.
You don't need a Wasm GC to do this. If you only need js objects to pass on to, say, the host's function or check is null or not, then reference types that are opaque external references: https://github.com/WebAssembly/reference-types/blob/master/p...
You can even do many more things if you export `Reflect` to WebAssembly: https://github.com/AssemblyScript/assemblyscript/blob/main/t...
Reference Types are available almost everywhere already (In Safari will be available after 15.0): https://webassembly.org/roadmap
- WebContainers: Run Node.js natively in the browser
-
Cranelift, Part 3: Correctness in Register Allocation
Re: GC -- yes, indeed, the whole business with safepoints arose from the need to support Wasm reference types as a backend for Wasmtime or Firefox. No safepoints are needed for Rust (or other C-like) code.
-
Wasmer 1.0 released, the fastest WebAssembly VM, cross-compilation, headless, native object engine, AOT compilers and more!
Reference Types,
What are some alternatives?
rust-ffmpeg-wasi - ffmpeg libraries precompiled for WebAsembly/WASI, as a Rust crate.
assemblyscript - A TypeScript-like language for WebAssembly.
ffprobe-wasm - A Web-based FFProbe. Powered by FFmpeg, Vue and Web Assembly!
wasmtime - A fast and secure runtime for WebAssembly
ffmpeg-libav-tutorial - FFmpeg libav tutorial - learn how media works from basic to transmuxing, transcoding and more. Translations: 🇺🇸 🇨🇳 🇰🇷 🇪🇸 🇻🇳 🇧🇷
proposals - Tracking WebAssembly proposals
node-ytdl-core - YouTube video downloader in javascript.
schism - A self-hosting Scheme to WebAssembly compiler
handbrake-js - Video encoding / transcoding / converting for node.js
webcontainer-core - Dev environments. In your web app.
ffmpeg.js - Port of FFmpeg with Emscripten
biwascheme - Scheme interpreter written in JavaScript