-
Notifications
You must be signed in to change notification settings - Fork 3
Description
It would be convenient to be able to represent both a connection to a MOQT endpoint and a WARP catalog track as a URL. This would allow a Content Management System to vend a single URL to a player which would give it the information it needs to both connect to a MOQT distribution network (MDN) and discover a catalog track.
WebTransport endpoints have the form of a http3 connection and may have several path segments for business purposes
https://mdn.com/customerID/appID
A track can be represented as a namespace + name as a pseudo relative URL
example.com/live/broadcastID/catalog
We can combine these and add in an access token
https://mdn.com/customerID/appID/example.com/live/broadcastID/catalog?token=12345
The MDN will know which segments its needs to parse to accept the connection. However, how does the player know where the namespace begins in order to issue the SUBSCRIBE? Some options:
-
The player knows through some out-of-band information and we don't need to tell it. This seems fragile for interop.
-
We specify that the first segment after the hostname is always reserved for the connection. Separators other than / may be used by the MDN vendor to provide ancillary information.
https://mdn.com/customerID-appID/example.com/live/broadcastID/catalog?token=12345
- We create a reserved path segment which identified the division between the two. In this case we use '!'
https://mdn.com/customerID/appID/!/example.com/live/broadcastID/catalog?token=12345
A second problem is that we need to tell the player that the query arg holds a token which should be extracted and supplied via the AUTHORIZATION TOKEN setup parameter , as well as a token for SUBSCRIBE, PUBLISH etc. For this, we can reserve a query arg name , for example 'warp-token'. Providers are not required to supply a token in this fashion (they may vend it as a separate asset to the player), but at least it provides an interoperable methd of providing a token to players which the content distributor does not control.
https://mdn.com/customerID/appID/!/example.com/live/broadcastID/catalog?warptoken=12345