Minutes interim-2024-moq-15: Mon 16:00
minutes-interim-2024-moq-15-202407081600-00
Meeting Minutes | Media Over QUIC (moq) WG | |
---|---|---|
Date and time | 2024-07-08 16:00 | |
Title | Minutes interim-2024-moq-15: Mon 16:00 | |
State | Active | |
Other versions | markdown | |
Last updated | 2024-07-10 |
2024-07-08
MoQ Working Group virtual interim
Agenda:
- Note Well
-
Administrivia
- scribe: Mike English
- today is draft deadline
-
interop?
- draft-04 to draft-05 diff is almost entirely priorities
- need to add priority fields (at least) to try interop even
if not able to implement priority handling behaviors fully
in time- Cullen: we've done OK with just link conditioning for
testing, happy to try interop testing of priorities with
others if you let us know what you'd like to test - Will: do we know Apple's link conditioner is robust for
QUIC?- Jana: it works fine if you're just trying to create
some simple congestion conditions, good starting
point, probably adequate - Luke: doesn't model bufferbloat well, but that's
probably OK for this stage
- Jana: it works fine if you're just trying to create
- Cullen: we've done OK with just link conditioning for
-
MoQ-based live stream of IETF sessions?
- Jordi: need to work with A/V team and get dedicated
connection because connectivity at these events is often not
good - Alan: was thinking more ad hoc with a laptop or similar, but
can ask about more - Jordi: our implementation can be used, but interop might be
tricky because we use LoC whereas Luke's implementation uses
CMAF - Suhas: we can test with some relays
- Luke: we haven't focused on standardizing media yet in the
WG, relays are generic
- Jordi: need to work with A/V team and get dedicated
-
other topics for Vancouver?
- Cullen: would be nice to wrap up our discussions of timeout
before folks forget what we've discussed - Ian: subscribe done, announce issues, would be nice to have
PRs for some of the proposals - Ian: subscribe ids... should subscriptions be their own
streams (do we use QUIC max streams or create our own
mechanism?) - Alan: if people have issues they want to resolve, please
flag to chairs in the next week- someone will need to write things down on slides we can
discuss (not just presenting the GitHub issues)
- someone will need to write things down on slides we can
- Cullen: would be nice to wrap up our discussions of timeout
-
PRs in flight:
- https://github.com/moq-wg/moq-transport/pull/479
- merged while on this call
- https://github.com/moq-wg/moq-transport/pull/479
-
Jordi: priorities are definitely the big thing to work on since
we've talked about how MoQ can do this a lot, but haven't done it
until now -
Jordi: also curious if others have implemented the different modes
of delivery on the server side (datagrams, etc.)-
Alan: moxygen can forward all of them at least
- Jordi: no...
- Alan: well it should be able do, we can discuss offline
- Jordi: no...
-
Luke: I've implemented them all and it's painful, they require
several distinct code paths - ... (scribe falling behind)
-
-
Victor: question about metrics: what do you want to do if you're
falling behind and can't send metrics?- this highlights problem with stream per track
- also with stream per track if anything goes wrong it means you
need to tear down and start over - Luke: you could get almost the same behavior by using just one
group- Want to force people to use groups, use GoP per stream, not
just reimplement RTMP in QUIC with little benefit - Alan: for what it's worth, what Meta does today is kind of
like this and we do see some benefits (which is why we did
it), so there's not no benefit
- Want to force people to use groups, use GoP per stream, not
-
Ian: added stream mapping to list of things to talk about
- Ian: let's try to focus on sorting out timeout before IETF
-
Ian: can someone write up slides for announce issues? Or even a PR?
- Cullen: I can. Already have some material from previous make
before break discussions
- Cullen: I can. Already have some material from previous make
-
Luke: can you summarize the announce topic?
- Alan: clarifying what happens when A announces something and B
announces the same thing, also things about make before break,
redundant publishers, and similar issues - Luke: we need to talk about whether relays forward announces or
not - Alan: yes, this has come up with moq-chat and other people
trying to build similar systems
- Alan: clarifying what happens when A announces something and B
-
Will: made a request to get agenda time for catalog and WARP
streaming format- Not wanting to take up too much time, but we should keep in the
back of our mind building something that can interop at the
media / streaming format layer - Alan: yes, Jordi also brought up LoC earlier, don't remember if
we've adopted that yet, but if people see value there maybe we
should?
- Not wanting to take up too much time, but we should keep in the
-
...
-
Jordi: player can send subscribe before announce which can lead to
subscribe error, one solution is to sleep and retry- also, LoC plays really nicely with WebCodecs in the browser
-
Luke: I have a service that can advertise/aggregate announces as a
new track with wildcard matching (moq-dir)- might be nice to have something like this in the protocol itself
-
Will: working on making WARP both LOC and CMAF compatible. Can see
value in using both. -
Jana: what are the big rocks/boulders we still need to move in this
group?- Alan: besides what we mentioned earlier?
-
Cullen: security. Don't want to deal with that until after
Vancouver, but that's something we've largely punted on so far-
Alan: what aspects, specifically?
- Cullen: authn/authz tokens, things that integrate with
billing models, need a systematic pass through the whole
draft for security, also privacy, need to write down
more guardrails
- Cullen: authn/authz tokens, things that integrate with
-
Alan: Ian, would it be useful to capture these in issues?
e.g. with a DoS tag, etc.?- Ian: yes. DoS, Auth, etc.
- Ian: we haven't really decided if namespaces mean
something yet...? - Ian: let's label these DoS and/or security/privacy
- Ian: I'll create a DoS tag and a security tag today
- happy to punt until after Vancouver
-
-
Will: we're building a fundamentally open system by default and
retrofitting content protection after the fact (something I promised
I'd never do again), also advertising / dynamic ad insertion,
personalized ad injection will require the edge to do something
different, also congestion response for non-realtime - something
more like bitrate adaptation like what Zafer has raised-
(three main points)
- content protection
- ad insertion
- bitrate adaptation
-
Jana:
- re: content protection: ...
- ad insertion: don't understand well what's used today
- Alan: probably a good number of folks here who do
understand this, should we use one of these virtual
interim sessions to do some education on this? - Will: yes, especially since we should support existing
infrastructure for this as a baseline
- Alan: probably a good number of folks here who do
-
-
Lucas: we did talk about qlog at one point, would be happy to talk
more about that face to face, will also be around at the hackathon,
can treat that as open office hours time to ask question or whatever -
Luke: need feedback for RTC use case
- need some mechanism for adjusting the encoder's bitrate
- this is one of the hardest layering things to get right for
scaling - don't do the full WebRTC thing, but we need something
-
Ian: re: congestion control - maybe we can define some properties
for what works well for CC in this context, but we're not the CC WG
so we're not designing those algorithms here- Jana: it is slightly different in that there's a different
entity responding to signals
- Jana: it is slightly different in that there's a different
-
Jana: are there people wanting to use MoQ for live streaming?
- [terminology clarifications]
- ...
- (several people chimed in that they have this use case)
Google Meet chat:
Ian Swett
12:04 PM
https://github.com/moq-wg/moq-transport/pull/479
Luke Curley
12:06 PM
WebRTC does prioritize audio above video :p
libwebrtc I mean
Ian Swett
12:07 PM
I'm on a Disney Cruise, so we're on opposite sides of this
Lucas Pardue
12:16 PM
its 100% inadequate if you're not on a mac LOL
Jana Iyengar
12:17 PM
netem on linux, dummynet on BSD, NLC on macOS (which is based on
dummynet AFAIK)... and if you're on windows, why?
Luke Curley
12:38 PM
quic.video is basically JSON catalog + CMAF groups
Will Law
12:39 PM
I may put a short little survey together to compare how quic.video,
moxygen, LOC and QUICR work on the media mapping side.
Ian Swett
12:44 PM
Everything
Luke Curley
12:45 PM
ANNOUNCE auth to, so you can't just ANNOUNCE to hijack an existing
broadcast since latest wins
too*
somebody is going to ANNOUNCE "bbb" to steal my demo stream
Luke Curley
12:55 PM
warp-01 had a section like that
if you want to yoink it
Mirja Kühlewind
12:56 PM
we used to have a whole wg on real-time media congestion control: rmcat
Luke Curley
12:57 PM
https://www.ietf.org/archive/id/draft-lcurley-warp-01.html#name-congestion-control
Ian Swett
12:58 PM
Yes
Luke Curley
12:58 PM
yes when I was representing Twitch :)
MoQ is great for 1s - 3s latency, but it's probably too expensive for
anything higher @Jana
Mirja Kühlewind
1:01 PM
bye