shaka-project / shaka-packager

A media packaging and development framework for VOD and Live DASH and HLS applications, supporting Common Encryption for Widevine and other DRM Systems.
https://shaka-project.github.io/shaka-packager/
Other
1.97k stars 507 forks source link

Add missing values for DASH role scheme #1149

Closed dudewheresmycode closed 5 months ago

dudewheresmycode commented 1 year ago

System info

Operating System: Debian GNU/Linux 11 (bullseye) Shaka Packager Version: shaka-packager version v2.6.1-634af65-release

Issue and steps to reproduce the problem

I'm running into an issue setting the roles stream descriptor option for content containing descriptive audio tracks. The DASH spec specifically defines these as:

description - Textual or audio media component containing a textual description (intended for audio synthesis) or an audio description describing a visual component.

From the shaka-packager docs, it appears it only supports a subset of the values outlined in the DASH specification:

Optional semicolon separated list of values for DASH Role element. The value should be one of: caption, subtitle, main, alternate, supplementary, commentary and dub. See DASH (ISO/IEC 23009-1) specification for details.

However, checking the DASH (ISO/IEC 23009-1) specification, section 5.8.5.5 DASH role scheme (Table 29), defines many more values for the roles:

Packager Command:

shaka-packager \
in=./input.mp4,stream=video,init_segment=./video/video_init.mp4,segment_template=./video/video_$Number$.m4s \
in=./input.mp4,stream=audio,language=en,roles=main,init_segment=./audio/audio_main_init.mp4,segment_template=./audio/audio_main_$Number$.m4s \
in=./descriptive-audio.mp4,stream=audio,language=en,roles=description,init_segment=./audio/audio_desc_init.mp4,segment_template=./audio/audio_desc_$Number$.m4s \
--fragment_duration 6 --segment_duration 6 --generate_static_live_mpd --mpd_output ./manifest.mpd

Extra steps to reproduce the problem? (1) include roles=description in DASH stream descriptor options

What is the expected result? Generates a DASH manifest with a description role

What happens instead? Shaka throws an error:

[1127/214613:ERROR:period.cc(208)] Unrecognized role 'description'
dudewheresmycode commented 1 year ago

I see that support for description specifically was added in this commit, so I'm guessing this just hasn't made it into a release yet? Any chance you could tag a new release?

dudewheresmycode commented 1 year ago

Just wanted to check in on this. Any chance we can get a new release tagged that contains this fix?

dudewheresmycode commented 1 year ago

Just wanted to bump this again. Any chance we could get a new release tagged? The fix for this was merged nearly a year ago now.

cosmin commented 6 months ago

version 3.0.x should contain anything that was previously merged, I'll look at adding any missing values