35 comments

[ 1.9 ms ] story [ 54.6 ms ] thread
From https://news.ycombinator.com/item?id=44717303 :

> Objective metrics and tools for video encoding and source signal quality: netflix/vmaf, easyVmaf, psy-ex/metrics, ffmpeg-quality-metrics,

netflix/vmaf: https://GitHub.com/netflix/vmwaf

gdavila/easyVmaf: https://github.com/gdavila/easyVmaf

psy-ex/metrics: https://github.com/psy-ex/metrics/

slhck/ffmpeg-quality-metrics: Calculate quality metrics with FFmpeg (SSIM, PSNR, VMAF, VIF) https://github.com/slhck/ffmpeg-quality-metrics

Something like this would be great too:

The Ardour Manual > Loudness Analyzer and Normalizer: https://manual.ardour.org/mixing/basic-mixing/loudness-analy...

This is a great addition! You can use the raw ffmpeg mode to do this currently if you know the flag syntax
Someday it would be cool for someone to write and maintain:

(Develop a development and branch coverage testing plan for)

A rust WASM GUI video encoding tool with by default just two UI wells A and B. In the "basic encoding" workflow, show in (A) the input video and audio waveform and metrics, and in (B) the output video and audio waveform and metrics. By default, if there is already an output feed, lock the video scrubbers together so that seeking seeks in both A and B in order to make comparing input signal with output encoding(s) easy.

Integrate or just reimplement e.g easyVMAF and other tools for tuning and optimizing encoding parameters. Develop the metrics report schema in YAML-LD with RDFS (and schema.org,) and store that with a filepath derived from the filename.

In an additional YAML-LD file, Store a list of encoding outputs per input video. It probably looks a lot like the output from ytdl, for example.

Given a set of encoding profiles, generate each output and enqueue each in a review queue to display in wells (A, B, [C, [D, ...]])

Like VirtualDub but in Rust with a WASM build.

Just a thought - is the text “Click to upload” with a cloud icon perhaps a bit misleading?

If it’s fully client side, then you are just opening a file in essence - no clouds in sight!

Nice interface at a first glance, for sure can be useful for users who would find using the actual thing too cumbersome. How does performance compare to the native app? Is any form of hardware decoding/encoding like h264_nvenc available? (I guess not?)
~4x slower than native for encoding, which is acceptable for clips under 5 mins. No hardware encoding -- WASM is CPU-bound, for now. WebCodecs could bridge that gap in future.
this is ffmpeg running inside the browser am I correct? did not know this was possible. wonder what else we can run via webassembly
vibe-coded, and the github repo does not even contain the sources, just a single 'server.js' that is only for the documentation
Interesting idea - must have been a lot of work to add all those features. I just tried it and it works locally too, which is pretty epic.
FFmpeg is so useful for TTS
Absolutely. Audio extraction, format conversion, loudness normalization are all there. If you have a specific TTS pipeline in mind the raw FFmpeg mode should handle most of it.
I love this, be interesting if this could make an in-browser video editor
It already does -- trim, crop, concatenate, picture-in-picture, side-by-side, subtitle embedding. What would you add? Let's make it happen.
I find it fascinating that we keep trying to build things that already exist, but on top of another app (web browser). I mean, it's cool to see, and it will have its use-cases, but I wonder where we'd be if we didn't have to do this.
The browser-as-runtime has one property nothing else has: zero install on every OS. For sensitive files for medical, legal, personal. It's also the only architecture where you can verifiably prove data never left the device.

My personal pain point. I teach entertainment engineering at univ. We need this. All the time. Getting IT to install this in a classroom is a pain. It has already reduced my pain regarding this (anecdotal, yes. But I see the results and am planning to do a usability study). Thought it might be useful to someone else.

In 2016 I was working for an organization that wanted a video streaming web app, but could not tolerate any latency. In the past, we solved this with an NAPI extension in Firefox. They removed this for good security reasons, but it left our users without an option. They would have to move to an electron app. Distributing this app and updating it across 1000s of terminals worldwide was not something we were set up to do. I hacked together something like this and could not believe how well it worked. The initial POC is here: https://github.com/colek42/streamingDemo.
Thank you. This works entirely offline. I work in a univ setting where I cannot easily install software for classes. This can be used as a regular app once installed as a PWA. Even the ffmppeg lib is cached. Once installed it looks like any other app, with dock icon etc.
this is cool. was thinking for this long time. someone shows up