Skip to content
This repository has been archived by the owner on Jul 30, 2019. It is now read-only.

MP4 media track integration #557

Closed
LJWatson opened this issue Aug 15, 2016 · 7 comments
Closed

MP4 media track integration #557

LJWatson opened this issue Aug 15, 2016 · 7 comments
Assignees
Milestone

Comments

@LJWatson
Copy link
Collaborator

Taken from an email posted by @dwsinger at Apple.

"the really good news is that my company is now producing Audio Descriptions for hundreds of videos on our web site. yay! They are in MP4 files which have three tracks; the video, the main audio, and the description audio. The description is an alternative to the main audio and is so marked in the MP4 file (in a so-called “alternate group”).

We are currently using Apple-proprietary tagging of the description track. We’d like to move to both a standard place to put this in an MP4 file, and a standard tag!

The MP4 file format defines a user-data box that one can put in tracks, called ‘kind’ to store some sort of kind. The spec. says that this contains two values: a kind value of some sort, and a URI to say whose vocabulary this comes from. MPEG DASH also has a vocab, and I am aware of some trade associations having their own too.

I want to use HTML vocab here if possible. But that means I need a URI to say “from table in HTML” or the like. Ideally I’d like the URI to be neutral between the W3C and WhatWG, and whatever it is, it needs to be stable over versions of the spec. Ideally it’s in the spec. “When external specifications need to identify a value as coming from this table, the URI nmnm:skdjhf:sdfkjhd is used to identify this set of names.”

The previous suggestion was to use https://www.w3.org/TR/html5/embedded-content-0.html#the-track-element but this is not neutral nor version stable nor documented at either WhatWG or W3C.

I am sure we can do better.

I need to tell my colleagues “tag this way”.
I need to tell MPEG (who are producing a spec. called Common Media Application Format — how to encode MP4 files for fun and profit and interoperability) what to write in that spec.
I need to tell the fine media teams at Microsoft, Google, Mozilla, my own colleagues, and indeed the rest of the community that we’re making these files
and it would be great if they’d propagate kind tags from recognized vocabs (at least this one) through the Javascript, and so on.

Rather to my surprise, neither W3C nor WhatWG has a URN namespace root (possibly because we don’t want to manage the namespace below that), though IETF and MPEG do. See http://www.iana.org/assignments/urn-namespaces/urn-namespaces.xhtml#urn-namespaces-1.
Perhaps there is one under the “oid” namespace, but I am not trawling through the ITU to find if W3C or WhatWG has an ASN.1 dotted integer assigned.

An obvious neutral namespace to use is UUID. They are easy to generate, don’t say “w3c” or “whatwg” or version or anything, but they don’t say “HTML”
either, in fact, it’s just a number, so the answer to “what does this mean?” is not obvious. But heck, anyone with a UNIX machine can make a UUID:
% uuidgen
C0395E00-6B3C-4F98-8C05-D73F0C432CD0
there, I just did. The URI would be
urn:uuid:c0395e00-6b3c-4f98-8c05-d73f0c432cd0

In summary, as a community, can we decide on a URI/URL/URN/URwhatever to identify the kind table(s) in HTML, please? What do I need to do to make this
happen? This is getting urgent. If we can’t decide, I may just go with the UUID above and say it means “a kind that is documented for use in HTML”..."

@annevk subsequently posted a proposal:

"For the "kind" values for track elements, as well as AudioTrack and VideoTrack objects, it appears it would be useful if we defined a URL (suggestion:
"about:html-kind") to identify that value space for MP4 streams as well as DASH. Should be as simple as adding something like:

'If other specifications or formats need to identify the possible values of the kind attribute of track elements, or of the kind IDL attribute of AudioTrack
and VideoTrack objects, through a URL, the URL about:html-kind must be used.'"

@jdsmith3000
Copy link

I thought "http://about:" was intended for URL's that are locally intercepted and interpreted by the UA. Does that make sense in this case?

The need from @dwsinger seems general, and so this type of solution seems like what is needed. How much, if any, concern should be factored in for changing vocabulary over time?

@dwsinger
Copy link

On Aug 15, 2016, at 11:40 , jdsmith3000 notifications@github.com wrote:

I thought "http://about:" was intended for URL's that are locally intercepted and interpreted by the UA. Does that make sense in this case?

…yes…just about. The URI here is only used as a label, to say “look at the HTML spec for the meaning of the accompanying value”. So, as long as it’s unique and documented, the actual bytes don’t matter. It helps if it’s self-describing (which it is) and if it’s usable by whatwg and w3c (which it is). The classic solution is URN but afaik neither W3C nor WhatWg own a URN root or manage names under such as root.

The need from @dwsinger seems general, and so this type of solution seems like what is needed. How much, if any, concern should be factored in for changing vocabulary over time?

I am banking on the fact that the meaning of a given label will not (indeed cannot) change over time. Yes, your software might encounter a label that was minted after you read the spec., but that might happen in an HTML file as well.

David Singer
Manager, Software Standards, Apple Inc.

@adanilo adanilo self-assigned this Sep 1, 2016
@cconcolato
Copy link

For your info, I proposed a similar thing to the W3C Media Resource In-band Tracks Community Group, see http://lists.w3.org/Archives/Public/public-inbandtracks/2016Jun/0000.html

@adanilo
Copy link
Contributor

adanilo commented Sep 2, 2016

@cconcolato thanks for the pointer. For now, we've aligned with the about:html-kind suggestion in PR #575 feel free to continue discussion or raise another issue if that needs extra improvement, e.g. the comment about a boolean in the email thread.

@dwsinger
Copy link

dwsinger commented Sep 7, 2016

now registered at IANA; they will add a reference to the W3C spec as soon as I have one to give them.

http://www.iana.org/assignments/about-uri-tokens/about-uri-tokens.xhtml

On Sep 2, 2016, at 6:54 , Alex Danilo notifications@github.com wrote:

@cconcolato thanks for the pointer. For now, we've aligned with the about:html-kind suggestion in PR #575 feel free to continue discussion or raise another issue if that needs extra improvement, e.g. the comment about a boolean in the email thread.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

David Singer
Manager, Software Standards, Apple Inc.

@cconcolato
Copy link

FYI, a set of MP4 files with the HTML kinds stored within the "kind" box with the about:html-kind uri are available here

@travisleithead travisleithead added this to the HTML 5.2 WD 4 milestone Oct 24, 2016
@adanilo
Copy link
Contributor

adanilo commented Jan 13, 2017

Closing as this is in the spec. now as of PR #575

@adanilo adanilo closed this as completed Jan 13, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants