Comments (3)
Hi!
For dolby atmos:
Looking at it a little, I see that from Dolby, all their provided MPD (so, for DASH) examples with dolby atmos are actually using what dolby calls JOC, for "Joint Object Coding", which is actually packaged in a Dolby Digital + format (with the ec-3 codec) and is retro-compatible to DD+ decoders.
To know that we're here handling Dolby Atmos JOC audio track in a player, they seem to advise the usage of two SupplementaryProperty
elements in the MPD looking like this:
<SupplementalProperty schemeIdUri="tag:dolby.com,2018:dash:EC3_ExtensionType:2018" value="JOC"/>
<SupplementalProperty schemeIdUri="tag:dolby.com,2018:dash:EC3_ExtensionComplexityIndex:2018" value="16"/>
The first one indicating that this is JOC, the second one indicating the " decoding complexity of the enhanced AC-3 extension", "equal to the total number of bed objects, ISF objects and dynamic objects" (presumably pertinent for audio decoding only, in which case we may just ignore it?).
So now I'm wondering how the RxPlayer should behave when encountering this, while still allowing for future similar technologies and streaming protocol transparency.
I looked at what other players were doing.
-
The shaka-player defines a
spatialAudio
property on tracks when the EC3-specificSupplementaryProperty
with "JOC" is found in the MPD (https://github.com/shaka-project/shaka-player/blob/ace3e37241dc04f26e35a9d69639b083551e356d/lib/dash/dash_parser.js#L1302-L1310).I like their solution as it's not too tied to this Dolby technology (you still have the
"ec-3"
codec to understand that you're probably dealing with what's called "Dolby Atmos" here on compatible devices - or DD+ on others). -
dash.js, videojs and other players I looked at didn't do anything.
I think indicating for spatial audio in audio track-related API could be a good way to signal Dolby atmos to an application for now, but this is not yet developed. You're welcome if you want to do it.
Dolby vision
We're used to (and we rely on this in production) it being simply defined as a specific codec, often beginning by the dvh
string (e.g. dvh1.05.01
).
However some examples on the web provided by Dolby seems to put it in a special "scte214:supplementaryCodecs" attribute instead. I don't know why and I hope this isn't frequent.
from rx-player.
Hi,
For dolby Atmos, this has been merged and release in the v3.32.1
.
For dolby vision, we saw recently that some DASH packagers, like to announce Dolby vision in a supplementalCodec
property (instead of just a codec
one), following the SCTE 214 specification, to better indicate a retro-compatibility to non-dolby vision HDR10 content.
We're working on this here: #1307
from rx-player.
Related Issues (20)
- Is there a way to catch/handle a fatal error? HOT 8
- Support for DASH thumbnails HOT 2
- Inconsistency in v4.0.0-beta.0 release note example for DASH `endNumber` attribute handling HOT 1
- Feature Request: Use Document Picture-in-Picture Web API HOT 2
- INCOMPATIBLE_KEYSYSTEMS error using DASH/Widevine on Panasonic 2019 HOT 16
- Expose text adaptation's role HOT 4
- Support in-manifest LAURL for ClearKey HOT 4
- Streams media error on Edge HOT 4
- Segment GCed multiple times in a row warnings using DASH/PlayReady on Vestel MB211 HOT 6
- DISCONTINUITY_ENCOUNTERED errors after consecutive audio track switches, for DASH live content, result in an endless loop HOT 2
- KEY_GENERATE_REQUEST_ERROR - The initDataType parameter is empty (observed on Tizen 2017) HOT 7
- Video playback issues on Android Mobile in Chrome HOT 9
- Unable to play some streams in Edge browser on RxPlayer v3.30.0 HOT 11
- Streams freeze on first frame with audio only playback on Edge browser (and probably Chrome) HOT 6
- Safari 17 brings MSE to iOS HOT 10
- Some DASH/Widevine streams are looping on a Vestel MB130 HOT 3
- First playback of PlayReady content fails on EDGE browsers HOT 3
- PIPELINE_ERROR_DECODE error observed in Edge browser when zapping live channels HOT 2
- Safari 17.1 issue with playback DRM content HOT 3
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 rx-player.