Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DASH on-demand profile with multi period producing manifest with mix usage of SegmentBase and SegmentList #1433

Open
vish91 opened this issue Sep 23, 2024 · 0 comments

Comments

@vish91
Copy link
Contributor

vish91 commented Sep 23, 2024

System info

Operating System: <e.g. macOS Sierra, Ubuntu 14.04 trusty etc>
Shaka Packager Version: <e.g. v1.6.1, commit SHA etc>

Issue and steps to reproduce the problem

Packager Command:

/opt/packager/shaka/bin/packager 
'in=/in/2024/test-content/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_DoVi_14541_120.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_DoVi_14541_120.mp4,drm_label=sd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_DoVi_14541_625.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_DoVi_14541_625.mp4,drm_label=sd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_DoVi_14541_1100.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_DoVi_14541_1100.mp4,drm_label=sd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_DoVi_14541_2400.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_DoVi_14541_2400.mp4,drm_label=hd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_DoVi_14541_5010.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_DoVi_14541_5010.mp4,drm_label=hd,dash_roles=main'  
'in=/in/2024/test-content/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_HDR10plus_14541_120.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_HDR10plus_14541_120.mp4,drm_label=sd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_HDR10plus_14541_610.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_HDR10plus_14541_610.mp4,drm_label=sd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_HDR10plus_14541_1000.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_HDR10plus_14541_1000.mp4,drm_label=sd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_HDR10plus_14541_2300.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_HDR10plus_14541_2300.mp4,drm_label=hd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_HDR10plus_14541_4800.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_FTR_C_EN-XX_US-NR_51_UHD_20201006_OV_01_HDR10plus_14541_4800.mp4,drm_label=hd,dash_roles=main'
'in=/in/2024/test-content/SolLevante_ProRes_Mezz_14539_110.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_ProRes_Mezz_14539_110.mp4,drm_label=sd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_ProRes_Mezz_14539_375.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_ProRes_Mezz_14539_375.mp4,drm_label=sd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_ProRes_Mezz_14539_750.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_ProRes_Mezz_14539_750.mp4,drm_label=sd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_ProRes_Mezz_14539_1500.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_ProRes_Mezz_14539_1500.mp4,drm_label=sd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_ProRes_Mezz_14539_2100.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_ProRes_Mezz_14539_2100.mp4,drm_label=sd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_ProRes_Mezz_14539_3000.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_ProRes_Mezz_14539_3000.mp4,drm_label=hd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_ProRes_Mezz_14539_4500.mp4,stream=video,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_ProRes_Mezz_14539_4500.mp4,drm_label=hd,dash_roles=main' 
'in=/in/2024/test-content/SolLevante_es-MX_atmos-eac3_768.mp4,stream=audio,lang=es-MX,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_FTR_es-MX_atmos-eac3_768.mp4,drm_label=sd,dash_roles=main,hls_group_id=audio_atmos,hls_name=Spanish' 
'in=/in/2024/test-content/SolLevante_es-MX_eac3_192.mp4,stream=audio,lang=es-MX,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_es-MX_eac3_192.mp4,drm_label=sd,dash_roles=main,hls_group_id=audio_ec3,hls_name=Spanish' 
'in=/in/2024/test-content/SolLevante_es-MX_aac_128.mp4,stream=audio,lang=es-MX,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_es-MX_aac_128.mp4,drm_label=sd,dash_roles=main,hls_group_id=audio_aac,hls_name=Spanish' 
'in=/in/2024/test-content/SolLevante_FTR_en-US_atmos-eac3_768.mp4,stream=audio,lang=en-US,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_FTR_en-US_atmos-eac3_768.mp4,drm_label=sd,dash_roles=dub,hls_group_id=audio_atmos,hls_name=English' 
'in=/in/2024/test-content/SolLevante_FTR_en-US_dvs_eac3_128.mp4,stream=audio,lang=en-US,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_FTR_en-US_dvs_eac3_128.mp4,drm_label=sd,dash_accessibilities=urn:tva:metadata:cs:AudioPurposeCS:2007=1,dash_roles=description,hls_group_id=audio_ec3,hls_name=English AD,hls_characteristics=public.accessibility.describes-video' 
'in=/in/2024/test-content/SolLevante_FTR_en-US_dvs_aac_128.mp4,stream=audio,lang=en-US,output=/tmp/shaka/cmaf_cbcs_ondemand/SolLevante_FTR_en-US_dvs_aac_128.mp4,drm_label=sd,dash_accessibilities=urn:tva:metadata:cs:AudioPurposeCS:2007=1,dash_roles=description,hls_group_id=audio_aac,hls_name=English AD,hls_characteristics=public.accessibility.describes-video'  
'in=/tmp/shaka/cmaf_cbcs_ondemand/vtt/ehTshFxRRYW8KYEN83w45SWAKTtmNimW_multisubs_vrtest-es-MX.vtt,stream=text,language=es-MX,output=/tmp/shaka/cmaf_cbcs_ondemand/es-MX.vtt,dash_roles=main,hls_group_id=cbsi_webvtt,hls_name=Spanish' 
'in=/tmp/shaka/cmaf_cbcs_ondemand/vtt/9DfCIXiVZeUSDFCSoIhYd6vdlHXlkqFb_1609934655618.vtt,stream=text,language=en-US,output=/tmp/shaka/cmaf_cbcs_ondemand/en-US.vtt,dash_roles=subtitle,hls_group_id=cbsi_webvtt,hls_name=English,hls_characteristics=public.accessibility.transcribes-spoken-dialog;public.accessibility.describes-music-and-sound' 
'in=/tmp/shaka/cmaf_cbcs_ondemand/vtt/multisubs_vrtest-es-MX-forced-narrative.vtt,stream=text,language=es-MX,output=/tmp/shaka/cmaf_cbcs_ondemand/es-MX_fn.vtt,dash_roles=forced-subtitle,hls_group_id=cbsi_webvtt,hls_name=Spanish (Forced),forced_subtitle=1' --default_language es-MX --force_cl_index  --clear_lead 0 --segment_duration 6 --fragment_duration 6 --ad_cues '240;779;1378;1925;2628'  --mpd_output /tmp/shaka/cmaf_cbcs_ondemand/stream.mpd  --hls_master_playlist_output /tmp/shaka/cmaf_cbcs_ondemand/master.m3u8 --enable_raw_key_encryption --protection_scheme cbcs --keys label=audio:key_id=974f3172:key=fd90c137,label=sd:key_id=974f3172:key=fd90c137,label=hd:key_id=974f3172:key=fd90c137,label=uhd:key_id=974f3172:key=fd90c137 --iv 9fa10b0f4 --pssh 0C7439A4700000000 --hls_key_uri 'skd://somthing.com/live/pathto-hls-key-uri'

What is the expected result?
An HLS CMAF manifest and DASH CMAF CBCS ondemand manifest multi period should be generated.
IN DASH ondemand multi period manifest there should not be mixed usage of both SegmentList and SegmentBase

What happens instead?
HLS manifest looks good but the DASH manifest on-demand multi period is generated has usage of SegmentList after first period. This is in violation of DASH spec and is failing Google DAI ingestion.

e.g

<Period id="0" duration="PT1283.03175S">
....
<AdaptationSet id="6" contentType="text" lang="en-US" subsegmentAlignment="true">
            <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
            <Representation id="14" bandwidth="0" mimeType="text/vtt">
                <BaseURL>en-US.vtt</BaseURL>
            </Representation>
        </AdaptationSet>
...
...
<Period id="1" duration="PT369.994625S">
<AdaptationSet id="6" contentType="text" lang="en-US" subsegmentAlignment="true">
            <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
            <Representation id="14" bandwidth="0" mimeType="text/vtt">
                <SegmentList timescale="1000" presentationTimeOffset="1283031">
                    <SegmentURL media="en-US.vtt"/>
                </SegmentList>
            </Representation>
        </AdaptationSet>
...
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant