moq-wg / moq-requirements

Other
11 stars 3 forks source link

Section 2.1: Definitions of live streaming and interactive. #116

Open SpencerDawkins opened 11 months ago

SpencerDawkins commented 11 months ago

From @acbegen

Section 2.1: Definitions of live streaming and interactive. Cullen’s suggestion was good but I think the text fell short in putting a clear definition.

  • Interactive does not necessarily require bidirectional media flows. At least, the flow from the receiver(s) don’t need to go back to the sender(s). If a group of viewers are watching a live football game but also chatting on whatsapp, that is still interactive. Whether watchparty or sharedplay (where there is no media going back to anything) is interactive or not, we can debate that. Since such services require a tightly synchronized playback, I’d consider them in the interactive class.

  • Live streaming does not involve only things happening live. It also involves concurrent streaming of linear TV programming off the satellite, cable, over-the-air or IPTV broadcast, where the programming is not necessarily a real-time event. See our definitions at: https://arxiv.org/pdf/2310.03256.pdf

fiestajetsam commented 11 months ago

@acbegen

Interactive does not necessarily require bidirectional media flows

Those kinds of examples very much are the blurry overlap between the interactive and live categories. However the very nuanced difference in the "watch party" example compared to say, a multi-user VC is that the primary stream producer doesn't need to receive media from viewers, they just need to interchange between each other. Also I think it's important when we talk of these use cases talking about how the protocols do this: in your example with WhatsApp (and with others - e.g. Twitch chat) that happens out of band of the actual media protocol. Is this something you feel we should clarify further?

Live streaming does not involve only things happening live

To clarify it is being transmitted live, even if the source content being played out is pre-recorded or if the feed itself is delayed for whatever reason - in television we make this distinction is at the boundary of Playout, where everything it intentionally outputs is considered live. It probably makes sense for us to clarify this a little bit, do you agree?

SpencerDawkins commented 11 months ago

@acbegen and @fiestajetsam - First, I'm glad that section 2.1 ends with this text:

Note: these descriptions are a starting point. Feedback and push-back are both welcomed.

But having said that, I would have responded differently than @fiestajetsam did - I think what @acbegen is poking at, in this part of his comment,

Interactive does not necessarily require bidirectional media flows. At least, the flow from the receiver(s) don’t need to go back to the sender(s). If a group of viewers are watching a live football game but also chatting on whatsapp, that is still interactive. Whether watchparty or sharedplay (where there is no media going back to anything) is interactive or not, we can debate that. Since such services require a tightly synchronized playback, I’d consider them in the interactive class.

is a hybrid use case. In Section 3.3, we describe a very large-scale conference session, with a small number of speakers who are responding to each other, while most participants are just watching - the idea being that the speakers need to be able to interact with each other (so that part of the conference would be interactive), but most participants aren't interacting with any of the speakers, so live streaming would be "good enough".

Using the example of a group of friends watching a sporting event while chatting back and forth among themselves, I think the sorting event is live streaming, and the chatting back and forth is interactive. The chatting doesn't need to be closely synchronized with the sporting event, as long as the interval between

is small enough that the comments from the chat referring to a specific moment in the game make sense to all the friends in the chat.

Does that help?

If that doesn't sound completely wrong, we should probably introduce the term "hybrid" in Section 2.1 - it doesn't appear at all until Section 3.3, and pops up with no warning.

acbegen commented 11 months ago

@acbegen

Interactive does not necessarily require bidirectional media flows

Those kinds of examples very much are the blurry overlap between the interactive and live categories. However the very nuanced difference in the "watch party" example compared to say, a multi-user VC is that the primary stream producer doesn't need to receive media from viewers, they just need to interchange between each other. Also I think it's important when we talk of these use cases talking about how the protocols do this: in your example with WhatsApp (and with others - e.g. Twitch chat) that happens out of band of the actual media protocol. Is this something you feel we should clarify further?

Well, if we are talking about interactive applications/services, these certainly qualify. Interactivity is not just in a facetime call.

Live streaming does not involve only things happening live

To clarify it is being transmitted live, even if the source content being played out is pre-recorded or if the feed itself is delayed for whatever reason - in television we make this distinction is at the boundary of Playout, where everything it intentionally outputs is considered live. It probably makes sense for us to clarify this a little bit, do you agree?

Transmitted and consumed simultaneously (or live in your words). Yes the content can be pre-recorded or coming off another linear service.

SpencerDawkins commented 11 months ago

Just to be clear, @acbegen's comment here is telling me that the specification isn't quite clear yet. I made one suggestion here, and we should probably think about other clarifications when writing a PR for this issue.

SpencerDawkins commented 10 months ago

Re: @SpencerDawkins and @fiestajetsam think we will need to describe the hybrid class of use cases more clearly, without adding lots of details about specific hybrid use cases that may not have very much to do with each other. We will circle back to this one after the pre-IETF 119 interim(s).