Re: [Cellar] Adding private elements to Matroska

hubblec4 <hubblec4@gmx.ch> Fri, 13 April 2018 19:13 UTC

Return-Path: <hubblec4@gmx.ch>
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 B2CA712785F for <cellar@ietfa.amsl.com>; Fri, 13 Apr 2018 12:13:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.349
X-Spam-Level:
X-Spam-Status: No, score=-2.349 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, 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 WG97-eSZNDuZ for <cellar@ietfa.amsl.com>; Fri, 13 Apr 2018 12:13:29 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1603112783A for <cellar@ietf.org>; Fri, 13 Apr 2018 12:13:28 -0700 (PDT)
Received: from [192.168.2.101] ([93.242.75.28]) by mail.gmx.com (mrgmx103 [212.227.17.168]) with ESMTPSA (Nemesis) id 0Lw2dd-1eNxnv2vTZ-017jmq for <cellar@ietf.org>; Fri, 13 Apr 2018 21:13:26 +0200
To: cellar@ietf.org
References: <e9160711-ca2c-b690-f720-e7e3da42b1f5@mediaarea.net>
From: hubblec4 <hubblec4@gmx.ch>
Message-ID: <3318390e-0647-289d-d52b-e2c9678b24f7@gmx.ch>
Date: Fri, 13 Apr 2018 21:13:14 +0200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
MIME-Version: 1.0
In-Reply-To: <e9160711-ca2c-b690-f720-e7e3da42b1f5@mediaarea.net>
Content-Type: multipart/alternative; boundary="------------5B9174D4CDB77CD70EF4349B"
X-Provags-ID: V03:K1:t50kdI+89XcaUWEyfj1gACNcOHu/MH3pdzB0QdRPlidNfkefTzj JsqYR7CUPsmJTUTW+n56AvOPdk8qrVBGSDdj7jIYL2rLm2OTmQ914bjnCG2qzFQpBWXjNxE aeaQl1qQRhkR6eWxgFP81jfPmH5w+ya958q8gY2RZUneu8+7c/Ut+xRqaXFp91hiXR11lG0 PMKHZ7+ievp1hNCn7etBQ==
X-UI-Out-Filterresults: notjunk:1;V01:K0:GZfo9mMclSo=:d46H9Jtp6qT3YMgXFOv3xw Xs1qjTwEFZVOE9dQYTtlFUV6BftFTqUncggpJB03VemvWWfANeta1BWBcehchqUU+0v9um1JC iecOAdCNogi7y83Ob0hdSM26ZocxX6b7/NEI8xjwMjLruRenJGnWEkfRyabpXo9rP6Wvu60f5 UvhJyZvpGrvayRE6M4pb1AflqYGKGlZ6f/3rkXKyesJR1oFhiEOBd/kvngDyn+Vjn2e8gB66k xdWg6nDx5L8oq/PpUOxHYHOBT5vihIDXmiuK/2faPCQusiNC9zY6+l323RfbrnNrvbqIW5XIJ fObm6MQgGe9QxCoiJh5G6tvCfCHX8CgNpo4A4rLpS9F5ZjGzbErlsCLG37Z9sSSMHNfxO6Nzk boUd7bytk/6j/NdnU2f5ZrgKt6hk3FRgXkO/yH6nX16+10GowUJ4f3TjxQgyRtZK3p/Mf4/mD zhxpKyIeEkxJyV4U+im5V2c8Tnbwb54UXxgCDWhw6c1ZkHT6zP3QGIfY6cKrD3KP1BAUsLL7M khqc1kiztW3WVt+fNbWPTDZhQ9ko4lsjTcbTnJd5tK/CwiWJZMdm+Z71cDU3qZtieC73UuGlg 6m7pu3nUJKAZwsb/z5qZzjBF8/OTFKT2TZDcO1Q0rQxOU7gd0tXAEpcktjaboZys+H1Faeb3n zzgRb0LLEUvFkYeK+3Y9DOaZYhz1O2/5h8FK+Bl7DGKWObtjGvRwUP5hAvMj6w0qP6GDLNAKu 7FnE9LMr4KOQrFb2mRgsb48OJcGST7PcKk5vIbK6NLTGstIUeAxaVGsYdRe81NRYvUjIfOdTr PxarlBKjNHGl9bCA8cj5pglReBjJTU0UI1dzkxJoAzvAwON014=
Archived-At: <https://mailarchive.ietf.org/arch/msg/cellar/AxwJq4MlAkKgp6mMA6eYIqDteiU>
Subject: Re: [Cellar] Adding private elements to Matroska
X-BeenThere: cellar@ietf.org
X-Mailman-Version: 2.1.22
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: Fri, 13 Apr 2018 19:13:32 -0000

Hi all,


Am 13.04.2018 um 11:35 schrieb Jerome Martinez:
> I am working on a project related to Matroska and I would like to add 
> some private elements to Matroska, at different levels (TrackEntry, 
> BlockGroup, Segment).
> These elements add no specific features for media playback.
>
> As there is no indication about how to add private elements (no 
> element is reserved for hosting private sub elements), Matroska 
> conformance checkers currently flag new elements as "unknown".
>
> I would like to debate about how to add new elements to Matroska, for 
> some specific needs so more flagged "private", and for future needs 
> for Matroska (e.g. HDR metadata was added during CELLAR work, what 
> should be done in the case CELLAR already released the spec?).
>
> Some questions:
> - IMO a new element should not make a new version mandatory, as new 
> element are ignored by players, but what should be the behavior of a 
> conformance checker? error raising if the element is not known, 
> information only? Maybe we need a paragraph about it in specs.
> - How to manage private elements? Difficulty is to be sure an element 
> identifier used by third party A is not reused by third party B due to 
> B not knowing about A.On my side I suggest to just add it to 
> ebml_matroska.xml without specific details in spec itself, see 
> https://github.com/Matroska-Org/matroska-specification/pull/223/files 
> for an example, so everyone is aware of identifiers reserved for a 
> third party tool. Should such elements be in a separate document, 
> mp4ra style?
>
> Jérôme

I have read your PR in Matroska (yet nobody has answered) and it is 
first time reading about RAWcooked. I'm sure there are not much people 
how know about this project.

To add new Matroska elements for this "little" project is in my eyes too 
much. But I can understand how important it is for you and the project.
I wait already a  long time for a PR but It has become quiet around 
Matroska.
When I have more time to work on Matroska Menu I'm afraid it will take a 
lot of time to add new elements.

Then I thought about this problem and maybe is the solution useful.
Inspired by Haali TRACKSETEX which uses the Matroska Tags!

Here my suggestion:

Add a top-level Tag with a SimpleTag with Title RAWCOOKED. Then add for 
all your RAWcooked elements nested-SimpleTags.
In the RAWcooked project is a RawcookedBlockGroupelement(probably very 
often used) which is distributed of the entire file.
To collect all RawcookedBlockGroup values, you must read the entire file 
which takes a while, but with Matroska Tags a reader needs less milli 
seceonds.
You could change all RAWcooked element values without re-muxing the mkv 
file.
You could change the RAWcooked project structure and have also backward 
compatibility.

Every "private" project could add his own Matroska Tags structure. Every 
developer can then decide which projects are supported(Matroska 
reader/Splitter).



For HEVC Hdr data we should add new Matroska elements because this are 
stream base data.


Kind regards
Martin Below