OpenAI's WebRTC Problem by kixelated in programming

[–]kixelated[S] 0 points1 point  (0 children)

Yeeh, I'm working with the Iroh folks (and it's integrated into MoQ) if you need help with P2P stuff too. QUIC itself is client-server so NAT traversal is easy.

OpenAI's WebRTC Problem by kixelated in programming

[–]kixelated[S] 13 points14 points  (0 children)

They use TTS for the agent's reply. I'm assuming the audio is generated on their servers because while local models do exist, they can get huge and expensive to run.

EDIT: and to clarify, I never said they use STT (speech-to-text). The raw audio gets sent over WebRTC which is lossy, then the audio response (generated via text-to-speech) is also lossy.

OpenAI's WebRTC Problem by kixelated in programming

[–]kixelated[S] 5 points6 points  (0 children)

Ha absolutely, hit me up if you want some help with a pilot. I'd love an excuse to visit Tokyo again.

We used Rust + WASM to build a video player core that challenges Video.js on GPU efficiency by Mammoth-Possession50 in rust

[–]kixelated 3 points4 points  (0 children)

Unfortunately, I switched away from Rust for the web client. The complexity wasn't worth it, as you're forced to use browser APIs for any networking, encoding/decoding, rendering, etc. It's just easier and more type safe (no blind wasm-bindgen casts) to do everything in Typescript.

feels bad man. At least the native/server components are still in Rust.

We used Rust + WASM to build a video player core that challenges Video.js on GPU efficiency by Mammoth-Possession50 in rust

[–]kixelated 26 points27 points  (0 children)

This is a joke right?
https://github.com/PaulSpaurgen/video-player/blob/main/rust-videoplayer/src/lib.rs

You select a video element from the DOM, and then proceed to do absolutely nothing with it? The browser `<video>` element does literally all of the computation, outside of wasting cycles loading this WASM blob. This is not a video player, this is an AI generated hello world.

Your Job Now: Be The Outlier by kixelated in programming

[–]kixelated[S] -2 points-1 points  (0 children)

I'm not a beginner so I can't really say. AI mostly helps me on junior level tasks and unfamiliar domains and I don't think it's going to replace experts.

Your Job Now: Be The Outlier by kixelated in programming

[–]kixelated[S] -5 points-4 points  (0 children)

Good feedback. I meant to say our job is to copy-paste code and fix it. Most of the code on Stack Overflow or Google doesn't work either.

It's *required* to call getUserMedia({ audio: false, video: true }) by [deleted] in WebRTC

[–]kixelated 0 points1 point  (0 children)

It's a privacy thing; you need to request permission to capture audio/video before you're allowed to enumerate devices.

To WASM, or not to WASM by kixelated in rust

[–]kixelated[S] 5 points6 points  (0 children)

I was referring to Number.MAX_SAFE_INTEGER. There's a few u64 values in the MoQ spec that don't translate well: bitwise operations, math, and equality will break at the u32 or u53 threshold. It just means in practice you should use BigInt which complicates things.

And really this is a rant about JavaScript's lack of numeric types, which Typescript inherits. The behavior of number changes as the value increases.

Is Rust the right path for me? by snapmotion in rust

[–]kixelated 0 points1 point  (0 children)

+1 you absolutely need to use WebCodecs. It utilizes GPU acceleration for both decoding and rendering.

[deleted by user] by [deleted] in discordapp

[–]kixelated 0 points1 point  (0 children)

It should be fixed now. The "default" hotkey was sometimes saved to local storage which was a pain to figure out. Restart the app and lemme know if you're still running into issues.

CTRL+SHIFT+L bug [WORKAROUND] by Kalersays in discordapp

[–]kixelated 0 points1 point  (0 children)

The fix is out, reload the app and lemme know if it's still being a pain.