Re: [Cellar] CodecIDs for non-standard and unregistered data formats

Jerome Martinez <jerome@mediaarea.net> Sun, 26 February 2017 16:59 UTC

Return-Path: <jerome@mediaarea.net>
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 1ECE5129993 for <cellar@ietfa.amsl.com>; Sun, 26 Feb 2017 08:59:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.721
X-Spam-Level:
X-Spam-Status: No, score=-0.721 tagged_above=-999 required=5 tests=[RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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 9c4yoUPBuEDZ for <cellar@ietfa.amsl.com>; Sun, 26 Feb 2017 08:59:49 -0800 (PST)
Received: from 1.mo1.mail-out.ovh.net (1.mo1.mail-out.ovh.net [178.32.127.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 07DAD12998D for <cellar@ietf.org>; Sun, 26 Feb 2017 08:59:48 -0800 (PST)
Received: from player169.ha.ovh.net (b9.ovh.net [213.186.33.59]) by mo1.mail-out.ovh.net (Postfix) with ESMTP id 8D6C45965D for <cellar@ietf.org>; Sun, 26 Feb 2017 17:59:46 +0100 (CET)
Received: from [192.168.2.101] (p5DDB7A97.dip0.t-ipconnect.de [93.219.122.151]) (Authenticated sender: jerome@mediaarea.net) by player169.ha.ovh.net (Postfix) with ESMTPSA id 73640580072; Sun, 26 Feb 2017 17:59:43 +0100 (CET)
To: Steve Lhomme <slhomme@matroska.org>, Codec Encoding for LossLess Archiving and Realtime transmission <cellar@ietf.org>
References: <CAJKCwWj2rZu0OWksLiTvT9E4jjiN6XOHzYGSuUaRbtiXxnbCDQ@mail.gmail.com> <CAOXsMFK4sB=-HN7wWP9ModsHf3czNMq7yHB0izUQehm2A2_7tA@mail.gmail.com>
From: Jerome Martinez <jerome@mediaarea.net>
Message-ID: <31b2ba89-917f-d614-5688-d86b348a10e9@mediaarea.net>
Date: Sun, 26 Feb 2017 17:59:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1
MIME-Version: 1.0
In-Reply-To: <CAOXsMFK4sB=-HN7wWP9ModsHf3czNMq7yHB0izUQehm2A2_7tA@mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 685110095508672524
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrfeelhedrvdeggdeludcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
Archived-At: <https://mailarchive.ietf.org/arch/msg/cellar/ByvmuHpRUx6aKr5GNu9XRFbvwgo>
Cc: Matt Gruenke <matt.gruenke@gmail.com>
Subject: Re: [Cellar] CodecIDs for non-standard and unregistered data formats
X-BeenThere: cellar@ietf.org
X-Mailman-Version: 2.1.17
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: Sun, 26 Feb 2017 16:59:51 -0000

Le 26/02/2017 à 17:29, Steve Lhomme a écrit :
> 2017-02-14 7:46 GMT+01:00 Matt Gruenke <matt.gruenke@gmail.com>:
>> Related to my recent query about TrackTypes for non-standard data formats,
>> I'd like to discuss CodecIDs.  I had previously raised this issue, on the
>> matroska-devel list, and was advised to take it up, here.  In the interim,
>> my thinking on the matter has evolved.
>>
>> I wonder why not allow IANA Media Types (aka MIME types), as a sub-class of
>> CodecIDs?  Of course, the official Matroska CodecID would be preferred, for
>> all formats for which one has been designated.  However, this would enable
>> broader use of Matroska files, including for private, application-specific
>> data stream formats.
> The main goal of Matroska is multimedia interleaved/timestamped data.
> It's possible to have "complex" track and put in it whatever you want.
> If a timestamp is required. If it's not, using attachment is what you
> want and it already has a MIME type.
>
>> Perhaps a prefix like 'X_MEDIATYPE/' could simply be prepended to media type
>> names conforming with RFC 6838.  The value of TrackType would still
>> determine whether video, audio, or any other type-specific elements can be
>> used in such tracks.
> Although tempting I think it's better to avoid interleaving all kinds
> of stuff with audio/video. You could want to embed a "video/quicktime"
> but it would not be interleaved, or you'd need to parse/mux the data
> and then it's not a clean "video/quicktime" you get anymore.

I don't think this is the point.
Let's imagine we don't have any AVI compatibility layer (for whatever 
reason, e.g. lawyers convinced a country that BITMAPINFOHEADER / 
WAVEFORMATEX structure are patented), we have no other way for having 
e.g. AMR, G719, G729 and so on because it is not defined in native 
Matroska codec identifiers, but IANA media types have them (so a muxer 
could use "X_MEDIATYPE/audio/G729").
Consider Matt suggestion as similar to the AVI compatibility layer: this 
is just another way to define a codec identifier, also for 
interleaved/timestamped video and audio content.

Right now, I am thinking to TTML fragments (subtitles), instead of 
defining any TTML stuff in Matroska specs, 
"X_MEDIATYPE/application/ttml+xml" could be used and we rely on 
https://www.iana.org/assignments/media-types/application/ttml+xml .
For crazy ideas but we should not forbid crazy ideas :), someone may 
want to use PDF as a video format with one PDF page per video frame 
(similar to MJPEG), and instead of defining and requesting a "V_PDF" 
codec identifier, one would use "X_MEDIATYPE/application/pdf".

At long term, a potential decision would be to delegate codec 
identifiers management to IANA as they already do the job (for RTP and 
so on) in order to not duplicate efforts, and use Matroska list only 
when IANA does not fit Matroska needs, i.e. why should we care of having 
a spec about "V_MPEG4/ISO/AVC" (note: it is not on the codec spec page 
but a lot used) if we could rely on "video/H264" registration? (this is 
theoretical, "V_MPEG4/ISO/AVC" is already used. but we could do that for 
upcoming AV1 defined by IETF).

Jérôme