[AVT] Inter-stream synchronization and startup sync latency
Randell Jesup <rjesup@wgate.com> Mon, 14 January 2008 15:20 UTC
Return-path: <avt-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1JER7R-00039i-RF; Mon, 14 Jan 2008 10:20:57 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1JER7R-00036l-39 for avt@ietf.org; Mon, 14 Jan 2008 10:20:57 -0500
Received: from pr-66-150-46-254.wgate.com ([66.150.46.254] helo=exchange1.wgate.com) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1JER7Q-00045y-8E for avt@ietf.org; Mon, 14 Jan 2008 10:20:56 -0500
Received: from jesup.eng.wgate.com ([10.32.2.26]) by exchange1.wgate.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 14 Jan 2008 10:20:55 -0500
To: Colin Perkins <csp@csperkins.org>
References: <941BA0BF46DB8F4983FF7C8AFE800BC207241FF2@ftrdmel3> <2DFC0E18-CB03-4127-8E66-38283CCC192A@csperkins.org>
From: Randell Jesup <rjesup@wgate.com>
Date: Mon, 14 Jan 2008 10:20:53 -0500
In-Reply-To: <2DFC0E18-CB03-4127-8E66-38283CCC192A@csperkins.org> (Colin Perkins's message of "Wed, 9 Jan 2008 14:09:42 +0000")
Message-ID: <ybuprw4wi0a.fsf_-_@jesup.eng.wgate.com>
User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
X-OriginalArrivalTime: 14 Jan 2008 15:20:55.0755 (UTC) FILETIME=[0ED499B0:01C856C1]
X-Spam-Score: 0.0 (/)
X-Scan-Signature: ff03b0075c3fc728d7d60a15b4ee1ad2
Cc: IETF AVT WG <avt@ietf.org>, LEPROVOST YANN <Yann.Leprovost@alcatel-lucent.fr>, Ye-Kui.Wang@nokia.com, philippe.courboulay@tdf.fr, BERTHELOT Bertrand RD-MAPS-REN <bertrand.berthelot@orange-ftgroup.com>
Subject: [AVT] Inter-stream synchronization and startup sync latency
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
Reply-To: Randell Jesup <rjesup@wgate.com>
List-Id: Audio/Video Transport Working Group <avt.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
Errors-To: avt-bounces@ietf.org
Colin Perkins <csp@csperkins.org> writes:
>The issue with start-up latency, waiting to receive the first RTCP SR
>packet sent to a multicast group, is a general limitation of RTP, and not
>something specific to the SVC payload format. Accordingly, if it's
>becoming a problem, it should be solved in a general manner, not as part
>of the SVC payload format specification.
>
>Use the existing mechanisms: don't try to reinvent them for each new
>payload format.
I agree - but that means someone has to generalize a solution to startup
latency, and that might not be feasible without a significant change to the
architecture of RTP/RTCP, or without a very large shoehorn.
No one has put forward a general solution, and unless/until someone does
we'll see this happen again and again.
As I see it, there are two primary issues here:
1) Delay between start of stream reception and getting TS<->NTP mappings
for that stream. (I.e. current RTCP reception delay.)
2) Delay in getting cross-stream synchronization (currently, occurs once
all streams have passed case 1 and have valid NTP mappings).
These are complicated by RTCP bandwidth and timing issues in multicast
sessions, though that's just a matter of degree.
Case 1 is affected by fundamentals of RTP/RTCP design: first that RTCP are
unreliable, and second that the timings for RTCP AVP mean that a
lost/missed RTCP packet means a 2.5-7.5 second delay before the next one,
or longer. AVPF can certainly help this, if bandwidth doesn't become an
issue and if the sender knows it's a "good time" to send extra/early RTCP
(like when it knows a listener just joined). The separation of RTP from
RTCP on differnt ports can add to the problem in some cases, since they
might take different paths or RTCP might be blocked (by a firewall/router).
One thing for people to remember when trying to solve this problem (SVC
people for example) is that part of the reason for using RTCP/NTP for
synchronizing channels is that the streams might come from different
sources, and still need to be synchronized (think multiple microphones, or
multiple cameras at a game, or a conference call). That doesn't mean you
can't design something that can improve on the current solution, but that
you need to think about other cases and if possible find a way to help them
as well.
As for solutions to the problem I've laid out.... I don't know. Solutions
that fit in the current framework all have issues; solving this problem
*might* require something outside of what RFC 3550 envisions/allows.
Possibilities:
* Signal initial Timestamp->NTP mappings for streams
This may have the most possible wins and least downside, but it's not
without serious issues. It preserves the security aspects of random
timestamps (not that they're huge), and is backwards-compatible. It
allows first-packet synchronization in many cases.
Downsides:
* If you signal it as a sender (I'll send with this mapping), then
you have issues with conferences (need multiple mappings by sender
SSRC/etc in the signaling), and you can still have an unsynchronized
period if a 200 OK is lost, for example.
* If you signal it as a receiver, then there are compatibility issues and
there are some issues with multiple senders. It probably won't work in
any multicast setup (true or pseudo). To handle the multiple streams
and non-multicast multiple senders:
* Have all the streams use the same TS<->NTP mapping. This might have
security or other downsides. Comments?
* Have each sender use the TS<->NTP mapping provided by the receiver
with some type of hashing function to generate a TS<->NTP mapping
based on their SSRC value.
* Implictly synchronized streams
This is what some SVC people have proposed, where the inter-stream
synchronization is implicit in the timestamps. The advantage again is
compatibility (may not matter) and conciseness.
Downsides:
* Only can work for single-source sets of streams. This may make it
non-viable for some conferencing situations.
* Provides only inter-stream sync - though the advantage is that a single
RTCP for any of the TS-synced streams would sync all of them to NTP
implicitly.
* May cause security issues (I'm not really sure of this, and I don't
think it's a significant issue in practice, but some real crypto mavens
should vet that). I *suspect* we're ok if the starting point is still
random.
* Requires some type of signaling of the relationship between the
streams. This could be implicit in an SVC-only solution, but would
probably need to be explicit in a general solution.
Others?
>On 9 Jan 2008, at 09:19, BABONNEAU Gerard RD-MAPS-REN wrote:
>> Consequently, no CL-mode is possible in both cases either with a common
>> TimeStamp or with RTCP/SR/NTP to synchronize sessions. As said Colin, it
>> is easy to send an SR per session before starting a unicast VOD. But the
>> problem is fussy about multicast IPTV programs, because the main
>> challenge for all the video provider is to reduce the zapping
>> latency. Lots of efforts aims to gain hundreds of milliseconds, and a
>> new service that adds seconds of latency (to synchronize SR) is not
>> credible. The risk could be the burying of SVC for such kinds of
>> services.
>>
>> I believe that both processing for TS may be usefull according to
>> services. I suggest to define an additional field in the SDP to precise
>> that RTP session share the same TS (per default, the synchronization use
>> RTCP/SR); may be:
>> a=fmtp: share-ts=1
>>
>> Moreover, to allow RTCP SR based synchronisation, I would replace the
>> second MUST by SHALL in current 05 draft section 7.I.d: "All RTP
>> sessions MUST use the same RTP Timestamp scale and SHALL use the same
>> RTP timestamp for packets in the different RTP session containing NAL
>> units of the same sampling time instance."
>>
--
Randell Jesup, Worldgate (developers of the Ojo videophone), ex-Amiga OS team
rjesup@wgate.com
"The fetters imposed on liberty at home have ever been forged out of the weapons
provided for defence against real, pretended, or imaginary dangers from abroad."
- James Madison, 4th US president (1751-1836)
_______________________________________________
Audio/Video Transport Working Group
avt@ietf.org
https://www1.ietf.org/mailman/listinfo/avt
- [AVT] AVT IETF 70 minutes Tom Taylor
- RE: [AVT] AVT IETF 70 minutes Thomas Schierl
- RE: [AVT] AVT IETF 70 minutes BABONNEAU Gerard RD-MAPS-REN
- Re: [AVT] AVT IETF 70 minutes Colin Perkins
- [AVT] Inter-stream synchronization and startup sy… Randell Jesup
- RE: [AVT] Inter-stream synchronization and startu… Jonathan Lennox
- Re: [AVT] Inter-stream synchronization and startu… Colin Perkins
- Re: [AVT] Inter-stream synchronization and startu… Magnus Westerlund
- Re: [AVT] Inter-stream synchronization and startu… Chuck Harrison
- Re: [AVT] Inter-stream synchronization and startu… Randell Jesup
- Re: [AVT] Inter-stream synchronization and startu… Dave Singer
- Re: [AVT] Inter-stream synchronization and startu… Colin Perkins
- RE: [AVT] Inter-stream synchronization and startu… Allison, Art
- Re: [AVT] Inter-stream synchronization and startu… Cullen Jennings
- Re: [AVT] Inter-stream synchronization and startu… Stephen Casner
- Re: [AVT] Inter-stream synchronization and startu… Ron Frederick
- RE: [AVT] Inter-stream synchronization and startu… Jaehwan Kim
- Re: [AVT] Inter-stream synchronization and startu… Magnus Westerlund
- Re: [AVT] Inter-stream synchronization and startu… Cullen Jennings