A media packaging and development framework for VOD and Live DASH and HLS applications, supporting Common Encryption for Widevine and other DRM Systems.
What is the expected result?
The output manifest produced should have multiple adaptation sets for each codec and within each switchable adapation set should be a SupplementalProperty . value ${ID} is the ID of adaptation Set to which player can switch .
e.g
Adaptation Set ID 0 -> has representation IDs 0,1
Adaptation Set ID 1 -> has representation IDs 2,3
Adaptation Set ID 2 -> has representation IDs 4,5
The switching supplemental property in AdaptationSet ID 0 should be value = 1,2
The switching supplemental property in AdaptationSet ID 1 should be value = 0,2
The switching supplemental property in AdaptationSet ID 2 should be value = 0,1
What happens instead?
Shaka Packager switching value is pointing to the representation ID instead of the adaptation Set ID .
e.g
Adaptation Set ID 0 -> has representation IDs 0,1
Adaptation Set ID 1 -> has representation IDs 2,3
Adaptation Set ID 2 -> has representation IDs 4,5
The switching supplemental property in AdaptationSet ID 0 has value = 2,4
The switching supplemental property in AdaptationSet ID 1 should be value = 1,5
The switching supplemental property in AdaptationSet ID 2 should be value = 1,3
The logic must have some bug where instead of AdaptationSet ID its adding Representation Set ID.
Per DASH-IF IOP 3.9.4.8 , the switching supplemental property value should reflect the ID of the adaptation sets.
Switching across Adaptation Sets: @schemeIdUri set to urn:mpeg:dash:adaptation-set-switching:2016 and the @value is a comma-separated list of Adaptation Set IDs that may be seamlessly switched 18 to from this Adaptation Set.
System info
Operating System: all Shaka Packager Version: latest but also older versions e.g 2.6.6 or before CI/CD rewrite
Issue and steps to reproduce the problem
Packager Command:
/bin/packager 'in=/tmp/2675580/PPCBS_FIRECOUNTRY_uhd_hevc_1005.mp4,stream=video,output=/tmp/2675580-out/PPCBS_FIRECOUNTRY_uhd_hevc_1005.mp4,drm_label=sd,dash_roles=main' 'in=/tmp/2675580/PPCBS_FIRECOUNTRY_uhd_hevc_120.mp4,stream=video,output=/tmp/2675580-out/PPCBS_FIRECOUNTRY_uhd_hevc_120.mp4,drm_label=sd,dash_roles=main' 'in=/tmp/2675580/PPCBS_FIRECOUNTRY_uhd_hevc_2305.mp4,stream=video,output=/tmp/2675580-out/PPCBS_FIRECOUNTRY_uhd_hevc_2305.mp4,drm_label=hd,dash_roles=main' 'in=/tmp/2675580/PPCBS_FIRECOUNTRY_uhd_hevc_7005.mp4,stream=video,output=/tmp/2675580-out/PPCBS_FIRECOUNTRY_uhd_hevc_7005.mp4,drm_label=uhd,dash_roles=main' 'in=/tmp/2675580/PPCBS_FIRECOUNTRY_sdr_110.mp4,stream=video,output=/tmp/2675580-out/PPCBS_FIRECOUNTRY_sdr_110.mp4,drm_label=sd,dash_roles=main' 'in=/tmp/2675580/PPCBS_FIRECOUNTRY_sdr_1500.mp4,stream=video,output=/tmp/2675580-out/PPCBS_FIRECOUNTRY_sdr_1500.mp4,drm_label=sd,dash_roles=main' 'in=/tmp/2675580/PPCBS_FIRECOUNTRY_sdr_3000.mp4,stream=video,output=/tmp/2675580-out/PPCBS_FIRECOUNTRY_sdr_3000.mp4,drm_label=hd,dash_roles=main' 'in=/tmp/2675580/PPCBS_FIRECOUNTRY_sdr_4500.mp4,stream=video,output=/tmp/2675580-out/PPCBS_FIRECOUNTRY_sdr_4500.mp4,drm_label=hd,dash_roles=main' 'in=/tmp/2675580/PPCBS_FIRECOUNTRY_122_UHD_en-US_2651676_1_eac3_192.mp4,stream=audio,lang=en-US,output=/tmp/2675580-out/PPCBS_FIRECOUNTRY_122_UHD_en-US_2651676_1_eac3_192.mp4,drm_label=sd,dash_roles=main' 'in=/tmp/2675580/PPCBS_FIRECOUNTRY_122_UHD_en-US_2651676_3_aac_128.mp4,stream=audio,lang=en-US,output=/tmp/2675580-out/PPCBS_FIRECOUNTRY_122_UHD_en-US_2651676_3_aac_128.mp4,drm_label=sd,dash_roles=main' 'in=/tmp/2675580/PPCBS_FIRECOUNTRY_122_UHD_fr-FR_2651676_fr_aac_128.mp4,stream=audio,lang=fr,output=/tmp/2675580-out/PPCBS_FIRECOUNTRY_122_UHD_fr-FR_2651676_fr_aac_128.mp4,drm_label=sd,dash_roles=dub' 'in=/tmp/2675580-out/vtt/P4P7LlJERc8kyzNyMbaogfIsTprR_YHz_Bifuf8QnlAQr1cygYQsDCp_1712692994_btc_3.vtt,stream=text,language=en-US,output=/tmp/2675580-out/en-US.vtt,dash_roles=main' 'in=/tmp/2675580-out/vtt/PPCBS_FIRECOUNTRY_fr-FR.vtt,stream=text,language=fr,output=/tmp/2675580-out/fr.vtt,dash_roles=subtitle' 'in=/tmp/2675580-out/vtt/PPCBS_FIRECOUNTRY_fr-FR_fn.vtt,stream=text,language=fr,output=/tmp/2675580-out/fr_fn.vtt,dash_roles=forced-subtitle' --default_language en-US --clear_lead 0 --fragment_duration 6 --mpd_output /tmp/2675580-out/stream.mpd --enable_raw_key_encryption --keys label=audio:key_id=abc123456:key=aaaabbbbcccc,label=sd:key_id=abcxyz1233:key=bbbcccdddd,label=hd:key_id=xyzefg123:key=zzzzzyyyyxxxx,label=uhd:key_id=aaaabbbccc123:key=0000aaa444www --protection_systems Widevine,PlayReady
What is the expected result? The output manifest produced should have multiple adaptation sets for each codec and within each switchable adapation set should be a SupplementalProperty . value ${ID} is the ID of adaptation Set to which player can switch .
e.g
Adaptation Set ID 0 -> has representation IDs 0,1
Adaptation Set ID 1 -> has representation IDs 2,3
Adaptation Set ID 2 -> has representation IDs 4,5
The switching supplemental property in AdaptationSet ID 0 should be value = 1,2 The switching supplemental property in AdaptationSet ID 1 should be value = 0,2 The switching supplemental property in AdaptationSet ID 2 should be value = 0,1
What happens instead? Shaka Packager switching value is pointing to the representation ID instead of the adaptation Set ID . e.g Adaptation Set ID 0 -> has representation IDs 0,1 Adaptation Set ID 1 -> has representation IDs 2,3 Adaptation Set ID 2 -> has representation IDs 4,5
The switching supplemental property in AdaptationSet ID 0 has value = 2,4 The switching supplemental property in AdaptationSet ID 1 should be value = 1,5 The switching supplemental property in AdaptationSet ID 2 should be value = 1,3
The logic must have some bug where instead of AdaptationSet ID its adding Representation Set ID. Per DASH-IF IOP 3.9.4.8 , the switching supplemental property value should reflect the ID of the adaptation sets.
Switching across Adaptation Sets: @schemeIdUri set to urn:mpeg:dash:adaptation-set-switching:2016 and the @value is a comma-separated list of Adaptation Set IDs that may be seamlessly switched 18 to from this Adaptation Set.