Re: [Cellar] matroska and side data vs timecode

Tobias Rapp <t.rapp@noa-archive.com> Tue, 05 November 2019 07:51 UTC

Return-Path: <t.rapp@noa-archive.com>
X-Original-To: cellar@ietfa.amsl.com
Delivered-To: cellar@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 11579120255 for <cellar@ietfa.amsl.com>; Mon, 4 Nov 2019 23:51:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.701
X-Spam-Level:
X-Spam-Status: No, score=-0.701 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MhLZboeZidf4 for <cellar@ietfa.amsl.com>; Mon, 4 Nov 2019 23:51:39 -0800 (PST)
Received: from mx01.mail.netstorage.at (mx01.mail.netstorage.at [IPv6:2a02:2410:b000:101:3000::c]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0AD4C12020A for <cellar@ietf.org>; Mon, 4 Nov 2019 23:51:38 -0800 (PST)
Received: from p1002.netstorage.at (p1002.netstorage.at [89.207.146.186]) by mx01.mail.netstorage.at (Postfix) with ESMTPS id 17C69BF46F for <cellar@ietf.org>; Tue, 5 Nov 2019 08:51:32 +0100 (CET)
Received: from mailix (noaport.de [46.237.252.213]) by p1002.netstorage.at (Postfix) with ESMTPA id 952E681862 for <cellar@ietf.org>; Tue, 5 Nov 2019 08:51:31 +0100 (CET)
Received: from [192.168.0.107] (HSI-KBW-46-237-252-214.hsi.kabel-badenwuerttemberg.de [46.237.252.214]) by mailix with ESMTPSA (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128) ; Tue, 5 Nov 2019 08:51:31 +0100
To: cellar@ietf.org
References: <00F6A0BF-2922-4BAC-AC73-EB888767886F@dericed.com> <CAOXsMF+_zZjKS9GRjBhpQMQ5dbQK04hph5x5o8UJjj5ngkaaMA@mail.gmail.com>
From: Tobias Rapp <t.rapp@noa-archive.com>
Organization: NOA GmbH
Message-ID: <03b98f95-f426-24a9-be2b-d8cc4ab4ef65@noa-archive.com>
Date: Tue, 05 Nov 2019 08:51:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0
MIME-Version: 1.0
In-Reply-To: <CAOXsMF+_zZjKS9GRjBhpQMQ5dbQK04hph5x5o8UJjj5ngkaaMA@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-PPP-Message-ID: <20191105075131.4341.9334@p1002.netstorage.at>
X-PPP-Vhost: noa-archive.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/cellar/sOp6UhhTkHDbeCP_0ILaOeaHvZ0>
Subject: Re: [Cellar] matroska and side data vs timecode
X-BeenThere: cellar@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Codec Encoding for LossLess Archiving and Realtime transmission <cellar.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cellar>, <mailto:cellar-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cellar/>
List-Post: <mailto:cellar@ietf.org>
List-Help: <mailto:cellar-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cellar>, <mailto:cellar-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 05 Nov 2019 07:51:45 -0000

On 03.11.2019 11:29, Steve Lhomme wrote:
> [...]
> 
> If you want something that will survive this scenario you have to tie
> this value to the first timestamp. When remuxing, if timestamps are
> altered of portions at the beginning of the file are removed, you need
> to edit the first timecode. It may be better to store in the TrackInfo
> with both the first timestamp and timecode values. It may not work
> when stripping the audio (as Tobias pointed out). So it may even be
> put in the SegmentInfo instead of the TrackInfo.

It looks tempting to put timecode information inside the video track as 
they share the framerate as a common property. But in my opinion it 
would be cleaner to just copy that framerate info into the timecode 
value structure. For storing a single TC offset using an element in 
SegmentInfo sounds good.

> You may also set the value in Chapters (which are not tied to a
> track). There's already a start timestamp. You could add the timecode
> for this timestamp. That works for NLE sources as well, each
> non-linear part would be a chapter with its timestamp translation. A
> good NLE system would also tag this chapter with all kinds of data
> about the source. (Matroska was also designed for this case in mind).

Setting up a timestamp/timecode mapping via Chapters for non-continuous 
timecode situations looks like an even better solution than using a 
dedicated timecode track as this structure should represent the timeline 
for players.

Best regards,
Tobias