Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
kixelated
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
20 ms
·
1.
▲
by
kixelated
4mo ago
Yeah that's a really good way of framing the argument, I wish I wrote that. The way robots listen/respond is bounded by compute, not time. Buffering audio isn't a great experience for humans but definitely works for robots.
2.
▲
by
kixelated
4mo ago
Close, but that's a minimum latency. We want a maximum latency knob.
3.
▲
by
kixelated
4mo ago
To clarify, I meant waiting an extra 200ms if the alternative was dropping part of the prompt. During periods of zero congestion, the latency would be the same.
4.
▲
by
kixelated
4mo ago
HELLO MR SEAN, 1. Of course users want lower latency, but they also want fewer instances where the LLM "misheard" them. It would be amazing to run A/B experiments on the trade-off between latency vs quality, but WebRTC makes
5.
▲
by
kixelated
4mo ago
Hello Mr Author here. Apologies that my comment replies aren't as funny. Every low-latency application has to decide the user experience trade-off between quality and latency. Congestion causes queuing (aka latency) and to avoid that,
6.
▲
MoqBoy: Anarchy Gameboy Player
(moq.dev)
2 points
by
kixelated
5mo ago
|
0 comments
7.
▲
by
kixelated
6mo ago
QUIC libraries work by looping over pending streams (in priority order) to determine which UDP packet to send next. If there's more stream data than available congestion control, the data will send there in the stream send buffer. Eith
8.
▲
by
kixelated
6mo ago
Yep, it's similar to multicast but L7. But a huge difference is that there's a plan for congestion. We heavily rely on QUIC to drain network queues and prioritize/queue media based on importance. It's doable with multica
9.
▲
by
kixelated
6mo ago
Yeah for Safari support I'm using polyfills; it sucks. - libav.js for AudioEncoder/AudioDecoder. - QMux over WebSockets for WebTransport. Both are NPM packages if you want to use them. @kixelated/libavjs-webcodecs-polyfill an
10.
▲
by
kixelated
6mo ago
Absolutely agree. You can convert any push-based protocol into a pull-based one with a custom protocol to toggle sources on/off. But it's a non-standard solution, and soon enough you have to control the entire stack. The goal of M
11.
▲
by
kixelated
9mo ago
Hey lewq, 40Mbps is an absolutely ridiculous bitrate. For context, Twitch maxes out around 8.5Mb/s for 1440p60. Your encoder was poorly configured, that's it. Also, it sounds like your mostly static content would greatly benefit f
12.
▲
Media over QUIC: You Don't Need It
(moq.dev)
3 points
by
kixelated
9mo ago
|
0 comments
13.
▲
by
kixelated
10mo ago
Yeah, technically it's SCTP over DTLS for data channels. Only the media layer gets to use raw UDP, limiting the scope.
14.
▲
by
kixelated
10mo ago
QUIC has a much better alternative to FORWARD-TSN, either via RESET_STREAM or QUIC datagrams. I've implemented SCTP before to hack in "datagram" support by spamming FORWARD-TSN. Fun fact: you can't use FORWARD-TSN if the
15.
▲
by
kixelated
10mo ago
For sure, if you want an ordered/reliable stream then WebSocket is ideal. WebTransport is useful when you also want prioritization and semi-reliable networking, similar in concept to WebRTC data channels.
16.
▲
by
kixelated
10mo ago
I like to frame WebTransport as multiple WebSocket connections to the same host, but using a shared handshake. It's common to multiplex a WebSocket connection but you don't need that with WebTransport, while also avoiding head-of-
17.
▲
by
kixelated
10mo ago
I maintain https://github.com/kixelated/web-transport But yeah the HTTP/3 integration definitely makes WebTransport harder to support. The QUIC connection needs to be shared between HTTP/3 and WebTransport.
18.
▲
by
kixelated
10mo ago
There's no probing in any QUIC implementation but it's possible. There's a QUIC extension in the IETF similar to transport-wide-cc but it would still be up to the browser to use it for any upload CC.
19.
▲
by
kixelated
10mo ago
SCTP and by extension, WebRTC data channels, are supposed to use the same congestion control algorithms as TCP/QUIC. But I don't know which CC libsctp does these days. WebTransport in Chrome currently uses CUBIC but the Google fol
20.
▲
by
kixelated
11mo ago
I had a 30 minute intro call and got a rejection a few days later. It was VERY timely (Sep 21 email, Sep 23 meeting, Sep 26 rejection). We both weren't sure if my project was a good fit for the program. It was still a positive experien
21.
▲
by
kixelated
1y ago
Thanks! You don't need multicast! CDNs effectively implement multicast, with caching, in L7 instead of relying on routers and ISPs to implement it in L3. That's actually what I did at Twitch for 5 years. In theory, multicast could
22.
▲
by
kixelated
1y ago
QUIC has support for preferred address, where anycast is used for the QUIC handshake then the connection migrates to a unicast address. It still has issues but it's nice to have sticky established connections and avoid flapping mid con
23.
▲
by
kixelated
1y ago
Oh and the autoplay restrictions for <video> don't apply when muted.
24.
▲
by
kixelated
1y ago
It's all hardware accelerated, assuming the VideoDecoder has hardware support for the codec. VideoFrame is available in WebGL and WebGPU as a texture or gpu-buffer. We're only rendering after a`requestAnimationFrame` callback so d
25.
▲
by
kixelated
1y ago
I answered in another reply, but client -> server protocols like TCP and QUIC don't have an issue traversing NATs. The biggest problem you'll run into are corporate firewalls blocking UDP, but hopefully HTTP/3 adoption hel
26.
▲
by
kixelated
1y ago
It works well right now because there's only one edge per continent. But if I had traffic, anycast is definitely the way to go.
27.
▲
by
kixelated
1y ago
My fault, I trying too hard to avoid rehashing previous blog posts: https://moq.dev/blog/replacing-webrtc/ And you're right that MoQ primarily benefits developers, not end users. It makes it a lot easier to s
28.
▲
by
kixelated
1y ago
I am bad at CSS.
29.
▲
by
kixelated
1y ago
Yeah, and CMAF is just a fancy word for fMP4. The f in fMP4 meaning an MP4 file that has been split into fragments, usually at keyframe boundaries, but fragments can be as small as 1 frame if you're willing to put up with the overhead.
30.
▲
by
kixelated
1y ago
https://caniuse.com/webtransport https://caniuse.com/webcodecs Technically, WebCodecs is not required since you can use MSE to render, but it's more work and higher latency. Working on a WebSocket fall
More ›