cta-wave / common-media-server-data

A repository to collect discussion and feedback on the Common Media Server Data proposal.
21 stars 1 forks source link

Use Cases document #3

Closed pankaj-giter closed 1 year ago

pankaj-giter commented 3 years ago

Mostly a placeholder to call out that we should work on a use cases document to help shape/guide the metrics we will need and identify relevant actors (player to server, server to origin, etc.)

pankaj-giter commented 3 years ago

** CMSD Use Cases - Player and CDN

wilaw commented 3 years ago

Discussion at 6/7 meeting - consensus around adding an informative appendix to the spec documenting the use-cases.

piersoh commented 3 years ago

etp/mb/Transport-info metrics can be useful for:

kevleyski commented 3 years ago

Some potential use cases angles been thinking about:

Auto slating on errors, if network can’t keep up with a live feed upstream it might compensate with temporary slate segments or bit stuffing a lower quality stream at same profile and later self recover rather than say stop the stream

Censored/profanity filtering - you might have reason to have proxy nodes physically in a certain geolocation, that location might have reason to restrict parts of the content

Dynamic pricing - multiple CDNs could spot price against each other over the duration of an event depending on actual demand vs revenue target for a local edge demographic

Piracy fingerprinting, identifying a pirate streamer by deductions from contents of CMSD metadata vs known video, audio variants provided by each edge node at a given time

Supply and demand - player can choose quality based on a budget - one CDN path might be cheaper than another (note that ‘cheapest’ option isn’t necessarily what consumers are asking for) CMSD adjusts to demand or possibly selects r outs that injects more or removes ads or lowers or increases quality/resolution offerings

acbegen commented 3 years ago

Auto slating on errors, if network can’t keep up with a live feed upstream it might compensate with temporary slate segments or bit stuffing a lower quality stream at same profile and later self recover rather than say stop the stream

The new DASH edition has this concept of slate segments (if the packager has loss on the input, it can generate them instead). Is this something we should expect the CDN servers to do? I doubt it. Also stuffing bits from the lower quality bitstream means that the server actually knows a lot of things about the segments (pretty much all the stuff in the MPD).

Censored/profanity filtering - you might have reason to have proxy nodes physically in a certain geolocation, that location might have reason to restrict parts of the content

How do you suggest the server knows about these parts?

Piracy fingerprinting, identifying a pirate streamer by deductions from contents of CMSD metadata vs known video, audio variants provided by each edge node at a given time

CMSD is optional to implement and to use. How can it be used for fingerprinting?

wilaw commented 2 years ago

Uses cases proposed by M. Lim, M. Akcay, A. Bentaleb, A. Begen, R. Zimmermann.

wilaw commented 1 year ago

Closing this tracking issue as the use cases were formalized in the v1 candidate recommendation. These are listed below:

Annex B. Informative Use-Case Definitions (Informative)

  1. Identifying intermediaries in the media distribution chain, for the purposes of investigating delivery and resolving availability issues.
  2. Provide an estimate of the throughput available between an edge server and a player, such that the player can use that information to enrich its decision about which bitrate to select, especially the initial bitrate decision made at the start of playback.
  3. Provide link and server characteristics to a client for the purposes of the client making load balancing decisions between multiple potential servers.
  4. Provide a means for a CDN to instruct all connected players to limit their upper bitrate, in response to an ISP request to reduce congestion on the last-mile network.
  5. Provide information which an intermediary could use to prefetch the next item in a sequence of media objects. Prefetching increases performance by moving the object closer to the player ahead of the player’s request for that object.
  6. Provide information about the media characteristics of a binary object, for forensic, logging, or delivery optimization purposes.
  7. Allow an intermediary to prefetch init segments ahead of a player request.
  8. Identify media segments located at the start of playback when delivery performance is most critical due to the player’s need to establish a buffer. By identifying these segments, intermediaries can take special measures to optimize their delivery performance.
  9. Allow for an extensibility mechanism for CMSD so that future upgrades can be made and clients and servers can both agree on the generation and interpretation of the keys and values.
  10. Allow a CDN to signal to a player a suggested playback bitrate in order to optimize collective QoE.
  11. Allow a CDN edge server to prefetch a range of a track file that will be guaranteed to include the next media segment range requested by the client.
  12. Provide information about the timing of media segments to assist players with low latency live streaming.