[AVTCORE] Re: Discussion: RTP/SDP Signaling for Opus Multistream (multi‑Opus)

Marius Kleidl <ietf@mariuskleidl.net> Wed, 22 October 2025 20:26 UTC

Return-Path: <ietf@mariuskleidl.net>
X-Original-To: avt@mail2.ietf.org
Delivered-To: avt@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id F26797A8B007 for <avt@mail2.ietf.org>; Wed, 22 Oct 2025 13:26:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.798
X-Spam-Level:
X-Spam-Status: No, score=-2.798 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=mariuskleidl.net header.b="QC2JXDSd"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="oamEfTKy"
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YYHmz-3NZya2 for <avt@mail2.ietf.org>; Wed, 22 Oct 2025 13:26:18 -0700 (PDT)
Received: from fout-a8-smtp.messagingengine.com (fout-a8-smtp.messagingengine.com [103.168.172.151]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 70A407A8B000 for <avt@ietf.org>; Wed, 22 Oct 2025 13:26:18 -0700 (PDT)
Received: from phl-compute-09.internal (phl-compute-09.internal [10.202.2.49]) by mailfout.phl.internal (Postfix) with ESMTP id D1B61EC01B4 for <avt@ietf.org>; Wed, 22 Oct 2025 16:26:12 -0400 (EDT)
Received: from phl-imap-15 ([10.202.2.104]) by phl-compute-09.internal (MEProxy); Wed, 22 Oct 2025 16:26:12 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= mariuskleidl.net; h=cc:content-type:content-type:date:date:from :from:in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm3; t=1761164772; x= 1761251172; bh=Zr36jJAQB5bXUsKmJ6/UHCAwMyMMf84PMpmzsSnRVAU=; b=Q C2JXDSdHh6Y8QvGNvHnzyPhv9rrlwAdQPuDNKlFmSMxraw4H0iZHpvhWGUnzPpFl 0NuymKUMKhlzcsphwFE0hDkdjjS4GtWvmuKz3vnp9Qvbto6Sp3ZvyAzUGJ+q9mxH ipgXvlnkwvnDdIn3RTvA2x/Oo7VNqnhW+UYyRcqHmwH26IfZ2YDA+0YK7m3vfzR9 GSb8TJ6AvEmMA4E5/1fNMtnb4AVv9BAwR5B4CyjdqHBwZtThGsFiiebFHjpj5zrV 9X1FNfsIFfC8S80BsVydIVyEdBaFE50qm8C9nNQEYLWXnYfWO0gHVe/BxGhG30aU M8O97WT5ZWjsJMME2q7vw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1761164772; x=1761251172; bh=Zr36jJAQB5bXUsKmJ6/UHCAwMyMMf84PMpm zsSnRVAU=; b=oamEfTKyA86axKafqVZbXuk9Vv49BqEFpeS6OqAHXvJkHoPMviy pR2YKbKiqB6h/oYrFwxQAgs5QobZuJh7+2bs9cnoLa2ABkedFpFweTJJ/80GXu1U SDCPDcgQrHYZlrvYtFSnrxGulLwhCQBs13TIhplEUzSey4zsOYZfcl9vAZe8c9RV /xlv2i4sLYGPjHrwZp/xYDYtO3/0LIEx5Yg+C/ynapu+ix5tUU8LYggOKdYQ4n02 jR/ebTQHj122r+Lwno+Z8uERETxVmkdCUPI0C4wh5kBgpqzDxo9pTCqg3ke3G/bH RT5QLbION6WSvSanfxKN37yeIxtOCwIRuxA==
X-ME-Sender: <xms:5D35aII1MIRFUabF4JWjXxN6G1w0tU8BGbo0A3U-ROYQqmve7JbXVg> <xme:5D35aC9oAIT443LBFRoTdXjUMvOlH67Od7qLgFpFVckXazs0gOgm8WUcmmDcfY6if J7DsKLXzr6uTZA8vd5pG_f5MIS5EbK7UZnCN6h5WGaoWPA_pKgtFr4>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggddugeegheefucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpefoggffhffvkfgjfhfutgesrgdtreerre dtjeenucfhrhhomhepfdforghrihhushcumfhlvghiughlfdcuoehivghtfhesmhgrrhhi uhhskhhlvghiughlrdhnvghtqeenucggtffrrghtthgvrhhnpeefhfevuedvueelgfeutd efjeellefghfeuvdduueefvddtgeeiheekteekteekgeenucffohhmrghinhepghhoohhg lhgvshhouhhrtggvrdgtohhmpdhrfhgtqdgvughithhorhdrohhrghdpfhhrvggvuggvsh hkthhophdrohhrghdpihgvthhfrdhorhhgpdhgihhthhhusgdrtghomhenucevlhhushht vghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehivghtfhesmhgrrhhiuh hskhhlvghiughlrdhnvghtpdhnsggprhgtphhtthhopedupdhmohguvgepshhmthhpohhu thdprhgtphhtthhopegrvhhtsehivghtfhdrohhrgh
X-ME-Proxy: <xmx:5D35aNtummGn_HwstGT6wotg-g4x3DGQp2wAljV8rHF-AF6r3mQeXA> <xmx:5D35aNYJ3hDPSuHAzSSRB4voVCq2rFG7CikkKtFA-_FvfWN13HgCug> <xmx:5D35aGbfyswwsH84AzaMwNStDyePFClIribf990v5t_I8qi6_XE5Lg> <xmx:5D35aJVDlEXqf39huw_kmDvzZBhmxq3-SZpc39HXVYayPLA0i2GtbQ> <xmx:5D35aEmHE7r0n73qpxvhPwdmXqmZ5bXUujLI7ksvdxDEw39zxWMQN-rQ>
Feedback-ID: ica4e4821:Fastmail
Received: by mailuser.phl.internal (Postfix, from userid 501) id 891CA7800DA; Wed, 22 Oct 2025 16:26:12 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
MIME-Version: 1.0
X-ThreadId: AIMNzlRGGg2s
Date: Wed, 22 Oct 2025 22:25:52 +0200
From: Marius Kleidl <ietf@mariuskleidl.net>
To: avt@ietf.org
Message-Id: <ec4ad258-3046-4fe5-8882-069e9ed7e8b8@app.fastmail.com>
In-Reply-To: <CH2PR12MB951735E9E754FB881C5D9875B2F5A@CH2PR12MB9517.namprd12.prod.outlook.com>
References: <CH2PR12MB951735E9E754FB881C5D9875B2F5A@CH2PR12MB9517.namprd12.prod.outlook.com>
Content-Type: multipart/alternative; boundary="b47c92307e2d4f54a8c614e5eaf48ebf"
Message-ID-Hash: D2PV7VDQBI6NWK6NVQRYMK7VKQLIXEPA
X-Message-ID-Hash: D2PV7VDQBI6NWK6NVQRYMK7VKQLIXEPA
X-MailFrom: ietf@mariuskleidl.net
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-avt.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [AVTCORE] Re: Discussion: RTP/SDP Signaling for Opus Multistream (multi‑Opus)
List-Id: Audio/Video Transport Core Maintenance <avt.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/tQcSgaxVBuA_aagkFGvNaXXFAxs>
List-Archive: <https://mailarchive.ietf.org/arch/browse/avt>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Owner: <mailto:avt-owner@ietf.org>
List-Post: <mailto:avt@ietf.org>
List-Subscribe: <mailto:avt-join@ietf.org>
List-Unsubscribe: <mailto:avt-leave@ietf.org>

Hi Sun,

thank you for proposing this draft. I'll add you to the agenda for IETF 124, so you can present this to the working group.

Best regards,
Marius Kleidl

On Mon, Oct 20, 2025, at 19:57, Sun Shin wrote:
> Hi AVTCORE,
> I’d like to initiate a discussion and request feedback on standardizing RTP/SDP signaling for Opus multistream (“multi‑Opus”) to support multichannel layouts (e.g., 5.1, 7.1) in real‑time communications like WebRTC <https://webrtc-review.googlesource.com/c/src/+/129768>.
> *Problem*
>  • RFC 7587 <https://www.rfc-editor.org/rfc/rfc7587> defines mono/stereo SDP signaling and excludes multistream.
>  • RFC 6716 <https://www.rfc-editor.org/rfc/rfc6716> supports multistream (up to 255 channels) but lacks RTP/SDP signaling.
>  • RFC 7845 <https://www.rfc-editor.org/rfc/rfc7845> defines channel mapping families for Ogg but not for RTP/SDP.
>  • Non‑standard SDP usage (e.g., in libwebrtc <https://webrtc-review.googlesource.com/c/src/+/129768>, GStreamer <https://gstreamer.freedesktop.org/documentation/rtp/rtpopuspay.html?gi-language=c>) exists but lacks interoperability.
> *Proposal Scope* Define an RTP/SDP profile for Opus multistream that:
>  • Uses a distinct encoding name (`multiopus/48000/<channels>`).
>  • Specifies `fmtp` parameters: `num_streams`, ` coupled_streams`, ` channel_mapping`, and optionally ` mapping_family`.
>  • Reuses RFC 7845 <https://www.rfc-editor.org/rfc/rfc7845> mapping semantics.
>  • Defines Offer/Answer behavior and provides examples (e.g., 5.1, 7.1).
>  • Offers backward compatibility guidance with ` opus/48000/2`.
> *Relationship Summary*
>  • RFC 6716 <https://www.rfc-editor.org/rfc/rfc6716>: codec spec (multistream capability).
>  • RFC 7845 <https://www.rfc-editor.org/rfc/rfc7845>: Ogg encapsulation (mapping families).
>  • RFC 7587 <https://www.rfc-editor.org/rfc/rfc7587>: RTP payload (mono/stereo only).
>  • This draft: RTP/SDP signaling for multistream, reusing RFC 7845  <https://www.rfc-editor.org/rfc/rfc7845>semantics.
> *Use Cases*
>  • Cloud gaming, immersive media: negotiate multichannel audio without hacks.
>  • Interop: align existing “multiopus” deployments under a standard.
> *Draft* : https://datatracker.ietf.org/doc/draft-shin-avtcore-rtp-multi-opus/
> *Title:* RTP/SDP Signaling for Opus Multistream
> *Questions for the WG*
>  1. Should we use a distinct encoding name (“multiopus”) or extend “opus” with new ` fmtp`?
>  2. Should `mapping_family` be registered via IANA for well-known layouts?
>  3. How should this interact with existing Opus ` fmtp` (e.g., stereo/sprop-stereo) and downmix guidance?
> *Next Steps* If there’s interest, I’d like to present this in an upcoming AVTCORE session and work toward WG adoption.
> Best regards,
> Sun Shin
> NVIDIA <sushin@nvidia.com>
> GitHub link: https://github.com/xingri/multi-opus 
> 
> _______________________________________________
> Audio/Video Transport Core Maintenance
> To unsubscribe send an email to avt-leave@ietf.org
>