Re: [clue] Multiple Streams - RTP muxing?

Alex Eleftheriadis <alex@vidyo.com> Tue, 01 February 2011 14:34 UTC

Return-Path: <alex@vidyo.com>
X-Original-To: clue@core3.amsl.com
Delivered-To: clue@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 261943A6D0E for <clue@core3.amsl.com>; Tue, 1 Feb 2011 06:34:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=-0.000, BAYES_00=-2.599, HTML_MESSAGE=0.001]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id o4lUwEPrZ4kM for <clue@core3.amsl.com>; Tue, 1 Feb 2011 06:34:39 -0800 (PST)
Received: from mx1.myoutlookonline.com (mx1.myoutlookonline.com [64.95.72.238]) by core3.amsl.com (Postfix) with ESMTP id 23C973A6CF3 for <clue@ietf.org>; Tue, 1 Feb 2011 06:34:39 -0800 (PST)
Received: from st021.mx1.myoutlookonline.com (localhost [127.0.0.1]) by mx1.myoutlookonline.com (Postfix) with ESMTP id BEF1255350C; Tue, 1 Feb 2011 09:37:55 -0500 (EST)
X-Virus-Scanned: by SpamTitan at mail.lan
Received: from mx1.myoutlookonline.com (unknown [10.110.2.1]) by mx1.myoutlookonline.com (Postfix) with ESMTP id E18EA5534FD; Tue, 1 Feb 2011 09:37:54 -0500 (EST)
Received: from BH017.mail.lan ([10.110.21.117]) by mx1.myoutlookonline.com with Microsoft SMTPSVC(6.0.3790.3959); Tue, 1 Feb 2011 09:37:29 -0500
Received: from HUB027.mail.lan ([10.110.17.27]) by BH017.mail.lan with Microsoft SMTPSVC(6.0.3790.3959); Tue, 1 Feb 2011 09:37:28 -0500
Received: from BE235.mail.lan ([10.110.32.235]) by HUB027.mail.lan ([10.110.17.27]) with mapi; Tue, 1 Feb 2011 09:37:44 -0500
From: Alex Eleftheriadis <alex@vidyo.com>
To: Stephen Botzko <stephen.botzko@gmail.com>
Date: Tue, 01 Feb 2011 09:37:51 -0500
Thread-Topic: [clue] Multiple Streams - RTP muxing?
Thread-Index: AcvCHZX8H4C+TKWlS8yng4JWCcWeHQ==
Message-ID: <596CBB52-4F55-4B7F-8099-D8070C34A6F0@vidyo.com>
References: <9EEB6465-626A-43B9-A653-A9B67FC01E80@magorcorp.com> <4D46ADFD.8010506@ericsson.com> <AANLkTinjgDTfU+QWZEqT_O5_bAmhNfRVvLO-oLVJdZW5@mail.gmail.com> <C19596B6-E00D-445C-A0B5-CFF2E1B879EB@teliris.com> <4D4801B6.7020905@ericsson.com> <AANLkTikfUg1ZrsqAUteLaZcY60ex-BS5YT9pZ4zY+uMd@mail.gmail.com>
In-Reply-To: <AANLkTikfUg1ZrsqAUteLaZcY60ex-BS5YT9pZ4zY+uMd@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_596CBB524F554B7F8099D8070C34A6F0vidyocom_"
MIME-Version: 1.0
X-OriginalArrivalTime: 01 Feb 2011 14:37:28.0169 (UTC) FILETIME=[8CC40D90:01CBC21D]
Cc: CLUE <clue@ietf.org>
Subject: Re: [clue] Multiple Streams - RTP muxing?
X-BeenThere: clue@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: CLUE - ControLling mUltiple streams for TElepresence <clue.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/clue>, <mailto:clue-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/clue>
List-Post: <mailto:clue@ietf.org>
List-Help: <mailto:clue-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/clue>, <mailto:clue-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 01 Feb 2011 14:34:42 -0000

On Feb 1, 2011, at 3:34 PM, Stephen Botzko wrote:

>>>
As the general media type is part of the m= line one
can't have both RTP payload types of both audio and video type in the
same m= line.
>>>There might be some confusion here, I didn't hear anyone propose multiplexing both audio and video in the same session.  I believe the multiplex idea is to have two sessions, one for audio and one for video.  This is what existing video systems that employ multiplexing do.

Yes, I don't think anyone intentionally suggested that the two (audio and video) are muxed.


>>>
In general I think this discussion should up level for a while.
>>>
Probably a good idea.  This will come back, there are a lot of folks who build telepresence systems who favor SSRC multiplexing.


Certainly (and this goes beyond pure telepresence). We will need some additional signaling tools. Check out also draft-lennox-mmusic-sdp-source-selection-02, if you haven't already. For future discussion.

Incidentally, since the iPad was mentioned, you can see a demonstration of iPad running RTP (de)muxing of 3 H.264 streams in http://bit.ly/fMTP6j (posted in August 2010). This is not a "demo"; this is our regular SDK running. The complexity argument is really moot, in view of all the other things that happen in a server or endpoint.

--Alex

Stephen Botzko

On Tue, Feb 1, 2011 at 7:51 AM, Magnus Westerlund <magnus.westerlund@ericsson.com<mailto:magnus.westerlund@ericsson.com>> wrote:
aravind sethuraman skrev 2011-01-31 20:03:
> Hi all,
> if we chose a single RTP session for ALL video and AUDIO, how will we
> signal which SSRC conforms to which screen etc? Not via RTCP like TIP does.

I just want to point out that signalling this with a single m= line in
SDP is impossible. As the general media type is part of the m= line one
can't have both RTP payload types of both audio and video type in the
same m= line.

When it comes to RTP RFC 3550 discusses this type of multiplexing and
has the following to say on the issue (from section 5.2 of RFC 3550):

  For efficient protocol processing, the number of multiplexing points
  should be minimized, as described in the integrated layer processing
  design principle [10].  In RTP, multiplexing is provided by the
  destination transport address (network address and port number) which
  is different for each RTP session.  For example, in a teleconference
  composed of audio and video media encoded separately, each medium
  SHOULD be carried in a separate RTP session with its own destination
  transport address.

  Separate audio and video streams SHOULD NOT be carried in a single
  RTP session and demultiplexed based on the payload type or SSRC
  fields.  Interleaving packets with different RTP media types but
  using the same SSRC would introduce several problems:

  1. If, say, two audio streams shared the same RTP session and the
     same SSRC value, and one were to change encodings and thus acquire
     a different RTP payload type, there would be no general way of
     identifying which stream had changed encodings.

  2. An SSRC is defined to identify a single timing and sequence number
     space.  Interleaving multiple payload types would require
     different timing spaces if the media clock rates differ and would
     require different sequence number spaces to tell which payload
     type suffered packet loss.

  3. The RTCP sender and receiver reports (see Section 6.4) can only
     describe one timing and sequence number space per SSRC and do not
     carry a payload type field.

  4. An RTP mixer would not be able to combine interleaved streams of
     incompatible media into one stream.

  5. Carrying multiple media in one RTP session precludes: the use of
     different network paths or network resource allocations if
     appropriate; reception of a subset of the media if desired, for
     example just audio if video would exceed the available bandwidth;
     and receiver implementations that use separate processes for the
     different media, whereas using separate RTP sessions permits
     either single- or multiple-process implementations.

  Using a different SSRC for each medium but sending them in the same
  RTP session would avoid the first three problems but not the last
  two.

  On the other hand, multiplexing multiple related sources of the same
  medium in one RTP session using different SSRC values is the norm for
  multicast sessions.  The problems listed above don't apply: an RTP
  mixer can combine multiple audio sources, for example, and the same
  treatment is applicable for all of them.  It may also be appropriate
  to multiplex streams of the same medium using different SSRC values
  in other scenarios where the last two problems do not apply.


As can be seen if one puts audio and video in the same RTP session but
with unique SSRCs for each stream one still do need to take care.

Issue 4, can be solved by explicit signalling, but makes the solution
more fragile in cases with dynamic memberships. If you don't have the
inforamtion about the stream mixing decisions are more difficult.

Issue 5, I think becomes important as soon as we talk about a
heterogeneous set of session participants. A case that are part of the
charter to consider and solve.

In general I think this discussion should up level for a while. Lets
start discussing the general architecture and use cases and what
requirements that puts on the different nodes in the architecture. Then
we can return to this and see what requirements we have and how they
matches the capabilities of the protocols we intended to solve it with.

Cheers

Magnus Westerlund

----------------------------------------------------------------------
Multimedia Technologies, Ericsson Research EAB/TVM
----------------------------------------------------------------------
Ericsson AB                | Phone  +46 10 7148287
Färögatan 6                | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden| mailto: magnus.westerlund@ericsson.com<mailto:magnus.westerlund@ericsson.com>
----------------------------------------------------------------------

_______________________________________________
clue mailing list
clue@ietf.org<mailto:clue@ietf.org>
https://www.ietf.org/mailman/listinfo/clue