fix(MP4): Add compatible brand dby1 for Dolby content. (#1211)

This PR adds dby1 compatible brand to dolby content as per
https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby_vision_bitstreams_within_the_iso_base_media_file_format_dec2017.pdf
This commit is contained in:
sr90 2023-07-18 19:50:33 -07:00 committed by GitHub
parent d6f28d456c
commit 520926c27a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 15 additions and 10 deletions

View File

@ -9,8 +9,8 @@
</ContentProtection> </ContentProtection>
<Representation id="0" bandwidth="820260" codecs="dvh1.05.01" mimeType="video/mp4" sar="1:1"> <Representation id="0" bandwidth="820260" codecs="dvh1.05.01" mimeType="video/mp4" sar="1:1">
<BaseURL>sparks_dovi_5-video.mp4</BaseURL> <BaseURL>sparks_dovi_5-video.mp4</BaseURL>
<SegmentBase indexRange="1366-1445" timescale="60000"> <SegmentBase indexRange="1370-1449" timescale="60000">
<Initialization range="0-1365"/> <Initialization range="0-1369"/>
</SegmentBase> </SegmentBase>
</Representation> </Representation>
</AdaptationSet> </AdaptationSet>

View File

@ -3,10 +3,10 @@
## Generated with https://github.com/shaka-project/shaka-packager version <tag>-<hash>-<test> ## Generated with https://github.com/shaka-project/shaka-packager version <tag>-<hash>-<test>
#EXT-X-TARGETDURATION:3 #EXT-X-TARGETDURATION:3
#EXT-X-PLAYLIST-TYPE:VOD #EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MAP:URI="sparks_dovi_5-video.mp4",BYTERANGE="1366@0" #EXT-X-MAP:URI="sparks_dovi_5-video.mp4",BYTERANGE="1370@0"
#EXT-X-KEY:METHOD=SAMPLE-AES-CTR,URI="data:text/plain;base64,MTIzNDU2Nzg5MDEyMzQ1Ng==",KEYFORMAT="identity" #EXT-X-KEY:METHOD=SAMPLE-AES-CTR,URI="data:text/plain;base64,MTIzNDU2Nzg5MDEyMzQ1Ng==",KEYFORMAT="identity"
#EXTINF:2.002, #EXTINF:2.002,
#EXT-X-BYTERANGE:185521@1446 #EXT-X-BYTERANGE:185521@1450
sparks_dovi_5-video.mp4 sparks_dovi_5-video.mp4
#EXTINF:2.002, #EXTINF:2.002,
#EXT-X-BYTERANGE:197565 #EXT-X-BYTERANGE:197565

View File

@ -9,8 +9,8 @@
</ContentProtection> </ContentProtection>
<Representation id="0" bandwidth="818598" codecs="hvc1.2.4.L90.90" mimeType="video/mp4" sar="1:1"> <Representation id="0" bandwidth="818598" codecs="hvc1.2.4.L90.90" mimeType="video/mp4" sar="1:1">
<BaseURL>sparks_dovi_8-video.mp4</BaseURL> <BaseURL>sparks_dovi_8-video.mp4</BaseURL>
<SegmentBase indexRange="1366-1445" timescale="60000"> <SegmentBase indexRange="1370-1449" timescale="60000">
<Initialization range="0-1365"/> <Initialization range="0-1369"/>
</SegmentBase> </SegmentBase>
</Representation> </Representation>
</AdaptationSet> </AdaptationSet>
@ -21,8 +21,8 @@
</ContentProtection> </ContentProtection>
<Representation id="1" bandwidth="818598" codecs="dvh1.08.01" mimeType="video/mp4" sar="1:1"> <Representation id="1" bandwidth="818598" codecs="dvh1.08.01" mimeType="video/mp4" sar="1:1">
<BaseURL>sparks_dovi_8-video.mp4</BaseURL> <BaseURL>sparks_dovi_8-video.mp4</BaseURL>
<SegmentBase indexRange="1366-1445" timescale="60000"> <SegmentBase indexRange="1370-1449" timescale="60000">
<Initialization range="0-1365"/> <Initialization range="0-1369"/>
</SegmentBase> </SegmentBase>
</Representation> </Representation>
</AdaptationSet> </AdaptationSet>

View File

@ -3,10 +3,10 @@
## Generated with https://github.com/shaka-project/shaka-packager version <tag>-<hash>-<test> ## Generated with https://github.com/shaka-project/shaka-packager version <tag>-<hash>-<test>
#EXT-X-TARGETDURATION:3 #EXT-X-TARGETDURATION:3
#EXT-X-PLAYLIST-TYPE:VOD #EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MAP:URI="sparks_dovi_8-video.mp4",BYTERANGE="1366@0" #EXT-X-MAP:URI="sparks_dovi_8-video.mp4",BYTERANGE="1370@0"
#EXT-X-KEY:METHOD=SAMPLE-AES-CTR,URI="data:text/plain;base64,MTIzNDU2Nzg5MDEyMzQ1Ng==",KEYFORMAT="identity" #EXT-X-KEY:METHOD=SAMPLE-AES-CTR,URI="data:text/plain;base64,MTIzNDU2Nzg5MDEyMzQ1Ng==",KEYFORMAT="identity"
#EXTINF:2.002, #EXTINF:2.002,
#EXT-X-BYTERANGE:172013@1446 #EXT-X-BYTERANGE:172013@1450
sparks_dovi_8-video.mp4 sparks_dovi_8-video.mp4
#EXTINF:2.002, #EXTINF:2.002,
#EXT-X-BYTERANGE:189474 #EXT-X-BYTERANGE:189474

View File

@ -44,6 +44,7 @@ enum FourCC : uint32_t {
FOURCC_dac3 = 0x64616333, FOURCC_dac3 = 0x64616333,
FOURCC_dac4 = 0x64616334, FOURCC_dac4 = 0x64616334,
FOURCC_dash = 0x64617368, FOURCC_dash = 0x64617368,
FOURCC_dby1 = 0x64627931,
FOURCC_ddts = 0x64647473, FOURCC_ddts = 0x64647473,
FOURCC_dec3 = 0x64656333, FOURCC_dec3 = 0x64656333,
FOURCC_dfLa = 0x64664c61, FOURCC_dfLa = 0x64664c61,

View File

@ -227,6 +227,10 @@ Status MP4Muxer::DelayInitializeMuxer() {
->h26x_stream_format()); ->h26x_stream_format());
if (codec_fourcc != FOURCC_NULL) if (codec_fourcc != FOURCC_NULL)
ftyp->compatible_brands.push_back(codec_fourcc); ftyp->compatible_brands.push_back(codec_fourcc);
// https://professional.dolby.com/siteassets/content-creation/dolby-vision-for-content-creators/dolby_vision_bitstreams_within_the_iso_base_media_file_format_dec2017.pdf
if (streams()[0].get()->codec_string().find("dvh") != std::string::npos)
ftyp->compatible_brands.push_back(FOURCC_dby1);
} }
// CMAF allows only one track/stream per file. // CMAF allows only one track/stream per file.