GithubHelp home page GithubHelp logo

Comments (6)

nigelmegitt avatar nigelmegitt commented on July 22, 2024 1

For what it's worth, we use TTML documents that have SMPTE timebase all the time - they're a delivery requirement for EBU-TT profile files as defined by the BBC Subtitle Guidelines - which are not IMSC conformant files. They have value within particular workflows, especially in broadcast systems when synchronisation against video media timecodes is needed at playout time. However, we convert to media timebase for distribution to web clients.

It's also worth noting that the treatment of frame based time expressions changes in TTML when the timeBase is smpte, with other parameter attributes like markerMode and dropMode taking effect. In particular when markerMode="discontinuous" this introduces a much larger potential complexity.

If there were a case for permitting other timebase values, the changes needed would be much more significant than just permitting the two other values defined in TTML for timeBase.

from imscjs.

nigelmegitt avatar nigelmegitt commented on July 22, 2024

@claylevering did you spot that IMSC only permits the media value of timeBase via the #timeBase-media feature? There are other TTML2 features for each of the other timeBase values and none of them is permitted in IMSC.

Having said all that, I'd be really interested to know what your use case is, i.e. which other timeBases you would like to see support for, and why?

from imscjs.

claylevering avatar claylevering commented on July 22, 2024

Hi @nigelmegitt - I am not sure I can share the use case directly, I can only assure you that we are seeing timed text files that we need to render in the browser as accurately as they might in a commercial app such as Telestream Switch / etc. This is a QA / QC control as these are valid values, and modifying them to display in browser would invalidate the test itself (as one would be testing a timed text file that is inconsistent with the actual timed text file)

from imscjs.

nigelmegitt avatar nigelmegitt commented on July 22, 2024

Hi @claylevering an IMSC validator should show you that such documents (with other timeBase values) are not conformant IMSC documents.

from imscjs.

claylevering avatar claylevering commented on July 22, 2024

You are 100% correct and that is unfortunate / unexpected. After reading this section of IMSC 1.1's abstract:

The specification defines extensions to [ttml2], as well as incorporates extensions specified in [SMPTE2052-1] and [EBU-TT-D].

I would have expected IMSC to be a superset of the TTML2 standards (not a limit upon them). I will note that while media is most common, we still see (regularly) the other timeBase values (although so far I believe only one instance of clock - far more smpte).

Please feel free to close / reject this PR if you would like, we will continue to leverage our fork in the interim.

from imscjs.

palemieux avatar palemieux commented on July 22, 2024

@claylevering I invite you to join our IMSC/imscJS discord at https://discord.gg/d53nHf2g

The biggest issue with supporting ttp:timeBase="smpte" (beyond its prohibition in IMSC) is: "what does a timecode mean in the browser, which does not use timecode?".

Looking forward to better understanding your use case.

from imscjs.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.