5 ms·
I think all of these are wrong. > WebRTC is ffmpeg No. WebRTC is a transport protocol for media communications. > Canvas is Skia Skia is a graphics engine y
by nl 3y ago
I think all of these are wrong.
> WebRTC is ffmpeg
No. WebRTC is a transport protocol for media communications.
> Canvas is Skia
Skia is a graphics engine you can build a Canvas implementation on top of
> WebGL is ANGLE
I don't know what ANGLE is, but WebGL is based on OpenGL. As this article says "WebGL’s API is really just OpenGL ES 2.0"
> WebCodecs is also ffmpeg
Both allow conceptually similar things (low level access to specific parts of a media stream). But the APIs are dramatically different.
> WebTransport is QUIC
No it is an API to expose lower level parts of HTTP/3 to developers. HTTP/3 uses QUIC as a transport protocol, but it is very wrong to say it "is" QUIC.
> WebSockets are TCP
Well WebSockets is built on top of TCP. As is HTTP/1 and HTTP/2. (HTTP/3 uses UDP via QUIC)
- dagenix 3y ago> I don't know what ANGLE is, but WebGL is based on OpenGL. As this article says "WebGL’s API is really just OpenGL ES 2.0" I believe that ANGLE is a library that is widely used to implement WebGL by translating OpenGL ES calls into Direct 3D calls: https://en.wikipedia.org/wiki/ANGLE_(software) https://en.wikipedia.org/wiki/ANGLE_(software)
- nl 3y agoThe OP seems to be confusing the concept of API and library layering with the idea that something is something else. To be clear: in software almost everything is built on top of other things using libraries. This doesn't mean the new thing that is built is that thing at all, and indeed that new thing may be able to switch out the lower level library for a different implementation.
- still_grokking 3y ago> > WebTransport is QUIC > No it is an API to expose lower level parts of HTTP/3 to developers. HTTP/3 uses QUIC as a transport protocol, but it is very wrong to say it "is" QUIC. Well, that's the only thing the parent got almost right. (The rest was obvious nonsense, though. I agree.) WebTransport is of course not QUIC. But it allows to use QUIC streams almost directly. There are no "lower parts" of HTTP/3 other than QUIC. HTTP/3 is a quite thin layer directly atop of QUIC. With WebTransport you send a CONNECT request with some special flags / headers to the web server and given a correct response you can start using raw QUIC streams over your HTTP/3 QUIC connection. The overhead to get at your raw QUIC streams is quite low and a one time thing. From there you can directly use all the capabilities QUIC gives you (client or server initiated reliable unidirectional and bidirectional data streams or unreliable datagrams transporting arbitrary binary messages over a kind of "virtual" connection).
- CMCDragonkai 3y agoI was looking into this but are you sure web transport will expose bidirectional binary quic streams and datagrams to the browser? If so please link so I can start hacking!
- still_grokking 3y agoYes, I'm quite sure this works this way. I was looking into a few implementations and the specs: https://datatracker.ietf.org/doc/html/draft-ietf-webtrans-overview-05 https://datatracker.ietf.org/doc/html/draft-ietf-webtrans-ov... https://www.w3.org/TR/webtransport/ https://www.w3.org/TR/webtransport/ https://github.com/w3c/webtransport https://github.com/w3c/webtransport https://github.com/w3c/webtransport/blob/main/explainer.md https://github.com/w3c/webtransport/blob/main/explainer.md https://github.com/aiortc/aioquic/blob/main/examples/http3_server.py#L227 https://github.com/aiortc/aioquic/blob/main/examples/http3_s... WebTransport just landed in Firefox release versions and is available since some time in Chromium so it's indeed ready for hacking! :-D
- flohofwoe 3y ago> I don't know what ANGLE is, but WebGL is based on OpenGL ANGLE is a GLES implementation on top of D3D9, D3D11, GL, Vulkan or Metal.