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

Matt Gruenke <matt.gruenke@gmail.com> Mon, 27 February 2017 03:04 UTC

Return-Path: <matt.gruenke@gmail.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 8AD1D129634 for <cellar@ietfa.amsl.com>; Sun, 26 Feb 2017 19:04:59 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 Qit_kZ19au0L for <cellar@ietfa.amsl.com>; Sun, 26 Feb 2017 19:04:57 -0800 (PST)
Received: from mail-ua0-x22b.google.com (mail-ua0-x22b.google.com [IPv6:2607:f8b0:400c:c08::22b]) (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 61D89129636 for <cellar@ietf.org>; Sun, 26 Feb 2017 19:04:57 -0800 (PST)
Received: by mail-ua0-x22b.google.com with SMTP id 72so21235945uaf.3 for <cellar@ietf.org>; Sun, 26 Feb 2017 19:04:57 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=9AOiF240nPPSOfkbbl+dWaUr08xv6dPdl6HB28TXq10=; b=ESedfTAdl31UXsHb2UBCsG+MstEt8WaPCJEfQ+s0Z7nFwlUdPwms4yLXNXTkvBHCne iyCljsCGe7ufgrz0f/2yw0z41sQ8c/nWkD+HAwOnh/xvaBxjaGBpqBLWOiCLbcGOGY6P MOGxtZ4MNUla3eIfcRqQVnyT56/WZRlu5euo01Q+SO3lrY6hHIJU6t8euqqd86eHLpX0 Is8Vmq64sOsWkKRNEkxUpShLi33W+m1UbeoTPMijYJWsNJ1oflwvD2cAJb+JzGA70y/8 iD0oF0X8//UywWf4q9RVeNG7z2aB3HhVKwAPdy5JbpmP6VXQt0mNlXyvaUVrsDB8ELZ5 WyWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=9AOiF240nPPSOfkbbl+dWaUr08xv6dPdl6HB28TXq10=; b=XwxJnE7toEOhXVzzxVBxkw9r0sl1pOmQhvYIpcCL/aZlG+6fpDQxKXAlNz+5oiZmJW IYbgKLoNEftAVOzvmYf9hyfj7ePySM8swh5eRPcxH3u8j3Wjh3U05RsbsvIjn+sJQYwj oM7UjdSge46N1WaL11e8etrgr630isYSimhg9WirbSn5DNH+CiYKcUlgZhNAPzKanXC8 optoWTDHMYTbRFfHJTuSIOw0c4q2z13qheIX7+niJHLaASAblKJST2rBwYFq5Q+Kdbxa UUXWqXp5k8tZCJZVx8JjSey1fKUp8D6KYX92B8MMF73tHZvTXMOOPUbHzAJabtmUG7bv LSeQ==
X-Gm-Message-State: AMke39lLPlr0ESckbhejtHTT/UyMRRXH+D/82knP7zs32EFyjZHoEc1VuAYrECH0UPAgba/5oVlk4hrm64sXgg==
X-Received: by 10.176.64.129 with SMTP id i1mr5172250uad.7.1488164696408; Sun, 26 Feb 2017 19:04:56 -0800 (PST)
MIME-Version: 1.0
Received: by 10.31.102.196 with HTTP; Sun, 26 Feb 2017 19:04:56 -0800 (PST)
In-Reply-To: <CAOXsMFK4sB=-HN7wWP9ModsHf3czNMq7yHB0izUQehm2A2_7tA@mail.gmail.com>
References: <CAJKCwWj2rZu0OWksLiTvT9E4jjiN6XOHzYGSuUaRbtiXxnbCDQ@mail.gmail.com> <CAOXsMFK4sB=-HN7wWP9ModsHf3czNMq7yHB0izUQehm2A2_7tA@mail.gmail.com>
From: Matt Gruenke <matt.gruenke@gmail.com>
Date: Sun, 26 Feb 2017 22:04:56 -0500
Message-ID: <CAJKCwWimxX98Oxj+3eA3DPXZmSNERAUaVNWqawO8TJCA1VrKhw@mail.gmail.com>
To: Steve Lhomme <slhomme@matroska.org>
Content-Type: multipart/alternative; boundary="94eb2c1243d618ca1a05497a5853"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cellar/6LWm_s2tNiKKUu3YsrsU63rovIo>
Cc: Codec Encoding for LossLess Archiving and Realtime transmission <cellar@ietf.org>
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: Mon, 27 Feb 2017 03:04:59 -0000

Let's take this example of a camera having both a visible light sensor and
a depth sensor, as well as a stereo microphone.  For various reasons, its
depth sensor captures frames at different times and a different rate than
its color image sensor.  I'd like to record a video file containing an
audio track, a normal video track, and a depth track.  I'd like the audio
and video portions to be playable in normal video player apps.  When using
enhanced apps, the depth data may also be utilized.

Today, most players I've tried will behave as I've described, if I simply
write the depth data using an unspecified TrackType and having a custom
CodecID.  However, not all players handle it gracefully (or at all), and
there's no guarantee that the others will continue to work.

Having a dedicated TrackType (or range, thereof) would solve one potential
problem.  Perhaps the Ancillary TrackType already meets this need.

Using nonstandard CodecIDs is another concern.  I thought about schemes for
doing this, but none seemed as sensible as trying to build upon what IANA
already has.  The private & vendor-specific trees provide a mechanism by
which there's *at least* some record of a given format's origin, which is
clearly better than it being completely ad hoc.  The only downside I can
see is that two apps might start using the same media type, but with
different mappings to Matroska's syntactic structures (i.e. CodecPrivate
and CodecState).  Hopefully, any encoding common enough to have independent
implementations by multiple apps would've already been promoted to have an
official Matroska CodecID, whereupon such implementation details can be
specified.


> Although tempting I think it's better to avoid interleaving all kinds of
stuff with audio/video.

It's a valid and understandable position, but what attracted me to the
Matroska format was my understanding that it's an open and extensible
format.  If it's too resistant to innovation, then developers might seek
alternatives.  This is how file formats get superseded and fall into
disuse.  Therefore, I think it's important for Matroska to offer extension
mechanisms that strike the right balance between flexibility and
compatibility.


Matt


On Sun, Feb 26, 2017 at 11:29 AM, Steve Lhomme <slhomme@matroska.org> wrote:

> 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.
>
> > Thank you for considering my suggestion.
> >
> >
> > Matt
> >
> >
> > _______________________________________________
> > Cellar mailing list
> > Cellar@ietf.org
> > https://www.ietf.org/mailman/listinfo/cellar
> >
>
>
>
> --
> Steve Lhomme
> Matroska association Chairman
>