> AV1 software decoding is already very intensive so AV2 decoding benchmarks are the next thing that would be really interesting (or mortifying) to see.
It brings tooling that is a LOT easier. Just things like dependency management, test running and so on is so much better in Rust than in C, even if you happen to write the exact same code because you basically write unsafe code and hand rolled assembly for many things. I think this is people using the tool they know rather than the best tool (And if you know a tool well, it might become the best tool for the job because of that). It could be because a huge chunk of existing code can be re-used. But all else being equal (existing code, existing developers don't exist) I refuse to believe a codec should ever be written in C ever again.
The safety can be worth it in certain cases. Like when handling untrusted input. And it's not just Rust: look at WUFFS for example. WUFFS can actually rival handwritten implementations in certain cases.
Are video codecs in the present day able to be sandboxed? In my fantasies at least I’d like the worst a malicious video file can do is cause garbage output or cause the codec to crash.
Forgive the ignorance, I have worked entirely in the abstracted layers of the stack, and mostly web.
Windows may use virtualization-based security by default, but I'm not aware of macOS or Linux doing the same -- Apple builds security directly into the silicon such that no virtualization is required, and Linux just rawdogs everything.
Whether that counts is up to you. I suppose it's still "sandboxed" in that it runs in a less privileged context than the kernel.
WUFFS like approaches work better for algorithms like lz77 that are substantially bandwidth constrained. for something like a video codec, the computational intensity is much higher so you need better codegen to reach max speed
The specification for AV2 has only been finalised very recently, so performant encoders have not yet been developed. Meaningful comparison to older codecs like H265 and AV1 will only be possible once that has changed. (It'll be slower, but almost certainly not one-frame-per-second slow.)
dav1d is the av1 decoder and it’s an insane feat of engineering. Written in assembly, it even eschews the normal c calling convention to get even better performance.
The normal C calling convention is really only for cross-binary calls (e.g. between shared libraries). If you're not doing that you can ignore it; it's not a weird thing to do. It would be odd to strictly follow it in assembly and I assume compilers don't either.
Rocksky itself isn't a streaming service, it tracks what you listen to from other apps/services and builds discovery/social features arround that listening history.
If you see the state of what is called "production quality" software these days, alpha/beta quality has lost most of its meaning. You now just wait for "next prod"
Maybe because of the API access issues? I built almost the same system as OP, but I had to drive a browser to post to X because the API was too expensive for a single person to afford. A few weeks ago they switched it so it's pennies a post now and I could finally integrate the API.
Kyber | Low-level Developers and Sales | Paris area (hybrid) and Remote in Europe | Full-time | kyber.media
Kyber is an open-source SDK and platform to control remote machines, from Remote Desktop to Robots Teleoperation/Teleobservation.
Kyber is a multi-stream and multi-actuator transport in extremely-low latency, over Quic; it encloses the server, the client and the protocol.
One could use Kyber to control robots, drones, desktop, servers in the cloud or just remote rendering of interactive 3D programs. Kyber is done for Remote RealTime, where every millisecond matters.
Kyber is developed by engineers from the VLC and FFmpeg community, and we code in Rust, in C and in assembly. We have some development in Go too.
We're a quite technical team, but cool to work with.
Contact: jobs -- at -- kyber.media (subject: “HN job”)
Kyber | Low-level Developers | Paris area (hybrid) and Remote in Europe | Full-time | kyber.media
Kyber is an open-source SDK and platform to control remote machines, from Remote Desktop to Robots Teleoperation/Teleobservation.
Kyber is a multi-stream and multi-actuator transport in extremely-low latency, over Quic; it encloses the server, the client and the protocol.
One could use Kyber to control robots, drones, desktop, servers in the cloud or just remote rendering of interactive 3D programs. Kyber is done for Remote RealTime, where every millisecond matters.
Kyber is developed by engineers from the VLC and FFmpeg community, and we code in Rust, in C and in assembly.
We have some development in Go too.
We're a quite technical team, but cool to work with.
Contact: jobs -- at -- kyber.media (subject: “HN job”)
Yes, this is going to be fun to watch.
reply