Comments (6)
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.
@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.
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.
Hi @claylevering an IMSC validator should show you that such documents (with other timeBase values) are not conformant IMSC documents.
from imscjs.
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.
@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)
- For .. in loops not protected from iterating prototype properties HOT 14
- Upgrade to use es6 language features? HOT 1
- `Set()` has a name clash with the ES6 `Set` object HOT 1
- Multiple referenced generic font family names can result in duplicate font-family values
- Error parsing fontSize with two lengths HOT 2
- Improve performance with a large number of regions and ISDs
- Unable to specify rgba color values for tts:textShadow HOT 1
- elementBoundingRect needs to be declared a `var`
- adjacent tts:textCombine spans are combined into a single span HOT 3
- HTML rb, rtc and rbc elements are deprecated HOT 2
- if a line starts/ends with a ruby definition, line padding is not applied
- SMPTE timecode parsed incorrectly (23.976 FPS) HOT 1
- Resolve images source while generating ISD HOT 18
- Replace the XML SAX parser with a DOM parser HOT 10
- Spaces in `tts:fontFamily` list not handled in HTMLStylingMapDefinition code HOT 1
- Firefox bug with negative margins HOT 1
- FontFamily `default` name mapping missing HOT 7
- fillLineGap doesn't always fill the gap HOT 12
- Uncaught (in promise) TypeError: Cannot set properties of undefined (setting 'imscISD') HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from imscjs.