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.
Now that the work has been merged:
- You can check if an audio track uses Dolby Atmos technology since the
v3.32.1
by checking theisSpatialAudio
property on an audio track (e.g. https://developers.canal-plus.com/rx-player/doc/api/Track_Selection/getAudioTrack.html) - You can check for dolby vision on a video track since the
v3.33.0
usually through thecodec
property (e.g. https://developers.canal-plus.com/rx-player/doc/api/Track_Selection/getVideoTrack.html), by checking usually for a codec string starting with "dvh" (see for example https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolbyvisioninmpegdashspecification_v2_0_public_20190107.pdf chapter 4.2.3)
I'm closing this issue now to facilitate our management of them, don't hesitate to re-open it if that's not clear or non functional for you.
from rx-player.
Related Issues (20)
- 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
- playing MKV VOD with multi Audio track HOT 7
- Infinity loading state on Safari Mobile when autoplay is false HOT 17
- Arrêt brutal du player en Replay sur le mycanal sur HOT 4
- PIPELINE_ERROR_INVALID_STATE error when using Playready/Dash stream (mixed encrypted/unecrypted content) HOT 4
- fromFirstPosition does not start from actual first position in live DASH manifest (multi period live with SSAI) HOT 2
- Freezed VOD stream and lot of audio discontinuities on Samsung Tizen 2017 HOT 11
- Pre-fetching DRM licenses for current and future content
- Widevine LD fallback not triggering in RxPlayer HOT 7
- dashif:laurl not parsed after recent changes
- Resolve base url not correct when root MPD base url start with `/` HOT 1
- DRM: Zero filled TENC KID cause a NO_PLAYABLE_REPRESENTATION error HOT 2
- MEDIA_ERR_DECODE errors are being thrown by rxPlayer when starting the stream
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.