SERVICING DISCUSSION: MMC & MEC · 63 Media Manifest/ Media Manifest Core (MMC) Common Metadata/...
Transcript of SERVICING DISCUSSION: MMC & MEC · 63 Media Manifest/ Media Manifest Core (MMC) Common Metadata/...
http://movielabs.com/dsca-bam1 102
SERVICING DISCUSSION:MMC & MEC
Tara Carr, Microsoft
Ben Getting, Paramount
Alejandro Otero, Pixel Logic
Derek Prestegard, Movies Anywhere
Craig Seidel, MovieLabs
http://movielabs.com/dsca-bam1 63
Media Manifest/Media Manifest Core (MMC)Common Metadata/Media Entertainment Core (MEC)
http://movielabs.com/dsca-bam1 64
MM , CM, MEC and MMC• Media Manifest and Common Metadata are base specifications
• They support a very broad range of requirements, making them too large and confusing for direct implementation
• In 2009, in conjunction with CM development, we identified the need for a simplified specification metadata spec that addresses digital supply chain workflows• In 2010, EMA Metadata was published, ultimately becoming MEC
• In 2015, the same was concluded for Media Manifest• Media Manifest Deliver Core, v1.0 (January, 2016) resulted
• Focused on Movies
• MMC includes MEC examples
• MEC always supported TV, as does the Media Manifest base spec• Now we’re expanding MMC to include best practices and examples for TV
http://movielabs.com/dsca-bam1 65
MMC 1.0• Compliant subset of Media Manifest
• Detailed instructions and examples given for following movie use cases:• Simple movie with trailer
• Multi-language
• Forced Subtitles
• Multiple trailers
• Dub cards
• Pre-roll
• Pre-order
• Use only what you need
• More advanced usage defined at www.movielabs.com/md/practices
http://movielabs.com/dsca-bam1 67
Essential design principles/decisions • Episode structure is same as movies
• Encoding rules are the same as movie use cases:
• Simple movie episode with trailer; Multi-language; Forced Subtitles; Multiple trailers; Dub cards; Pre-roll; Pre-order
• Series, Season and episode objects are delivered as separate manifests• This requires more files (not more data) to be delivered, but simplifies
workflows.
• Bonus not addressed in MMC• This proposal contains TV bonus, but not movie bonus
• Constructs are identical, but I’m hoping movies migrate to CPE
http://movielabs.com/dsca-bam1 68
Use Cases• Case 1: No Season/Series bonus
• Case 1a: Complete Season
• Case 1b: Active Season
• Case 2: With Season/Series Bonus or alternate episode ordering• Case 2a: Complete Season
• Case 2b: Active Season
http://movielabs.com/dsca-bam1 69
Summary• Episodes are sent standalone, just like a movie
• Episode bonus material is included in the episode manifest
• Case 1: No Season/Series Bonus• Case 1a: Completed Season
• Deliver Series Manifest once, reference seasons• Deliver Season Manifest for each season. Reference Episodes• Deliver each episode
• Case 1b: Active Season• Deliver Series Manifest prior to each season, reference seasons• Deliver Season Manifest prior to each season, no reference to episodes• Deliver each episode
• Case 2: Season/Series Bonus• When delivering Series Manifest, include bonus• When delivering Season Manifest, including bonus
http://movielabs.com/dsca-bam1 70
No-Bonus Experience Structure (for examples)
Series
Child Experiences
Series Metadata
Season 1 Season 2 Season 3
Season 1 Child Experiences
Season 1 Metadata
Season 2 Child Experiences
Season 2 Metadata
Season 3Child Experiences
Season 3 Metadata
Season 2, Episode 1
S2 E1 Metadata
S2 E1 Presentation
Season 2, Episode 2
S2 E2 Metadata
S2 E2 Presentation
Season 2, Episode 3
S2 E3 Metadata
S2 E3 Presentation
Season 2, Episode 4
S2 E3 Metadata
S2 E4 Presentation
Season 2, Episode 5
S2 E5 Metadata
S1 E5 Presentation
Season reordering, & Sequence
http://movielabs.com/dsca-bam1 71
1a: Complete Season
Series
Child Experiences
Series Metadata
Series:• Delivered once• References all existing Seasons via ExperienceID
Season 1
Season 1 Child Experiences
Season 1 Metadata
Season 3
Season 3Child Experiences
Season 3 MetadataSeasons: • Delivered individually• References episodes via ExperienceID
= Manifest delivery
Episodes: • Delivered individually
Season 2, Episode 1
S2 E1 Metadata
S2 E1 Presentation
Season 2, Episode 2
S2 E2 Metadata
S2 E2 Presentation
Season 2, Episode 3
S2 E3 Metadata
S2 E3 Presentation
Season 2, Episode 4
S2 E3 Metadata
S2 E4 Presentation
Season 2, Episode 5
S2 E5 Metadata
S1 E5 Presentation
Season 2
Season 2 Child Experiences
Season 2 Metadata
http://movielabs.com/dsca-bam1 72
Case 1b: No bonus, Active Season
• Deliver Season 3
• Precondition: Seasons 1 already delivered
Series updated (redelivered) to reference new seasonSeason delivered• No episode references
= Manifest delivery
Episodes: • Identical structure to Case 1a
Season 2, Episode 1
S2 E1 Metadata
S2 E1 Presentation
Season 2, Episode 2
S2 E2 Metadata
S2 E2 Presentation
Season 2, Episode 3
S2 E3 Metadata
S2 E3 Presentation
Season 2, Episode 4
S2 E3 Metadata
S2 E4 Presentation
Season 2, Episode 5
S2 E5 Metadata
S1 E5 Presentation
Series
Child Experiences
Series Metadata
Season 1, Episode 1
S1 E1 Metadata
S2 E1 Presentation
Season 1, Episode 2
S1 E2 Metadata
S1 E2 Presentation
`̀
Season 1, Episode n
S1 E3 Metadata
S1 En Presentation
...
Series
Child Experiences
Series Metadata
Season 2
Season 2 Metadata
• Season and Series
• Episodes delivered as they become available
Season 1
Season 1 Child Experiences
Season 1 Metadata
http://movielabs.com/dsca-bam1 73
Season 4 (1-3 already delivered)
= Manifest delivery
Episodes: • Identical structure to Case 1a
Series
Child Experiences
Series Metadata
Season 2
Season 2 Metadata
http://movielabs.com/dsca-bam1 74
Episode with bonus
• Just like movie with bonus
• Delivered as a single Manifest
Season 2, Episode 3
Episode Metadata
Episode
Making the Episode
Making-of Metadata
Trailer
Episode Gallery
Gallery Metadata
Making-of ...
Child Experiences
Game (App)
Game Metadata
Game
Gallery
Gallery Metadata
Production Gallery
Episode Digest
Digest Metadata
Main Feature
= Manifest delivery
http://movielabs.com/dsca-bam1 75
Season/Series Bonus Structure (for examples)
Series
Child Experiences
Series Metadata
Season 2, Episode 1
S2 E1 w/ extras Metadata
Season 2, Episode 2
S2 E2 Metadata
S2 E2 Presentation
Season 2, Episode 3
S2 E3 Metadata
S2 E3 Presentation
Season 2, Episode 4
S2 E3 Metadata
S2 E4 Presentation
Season 2, Episode 5
S2 E5 Metadata
S1 E5 Presentation
Series Retrospective
Retrospective Metadata
Retrospective Presentation
Series Gallery
Gallery Metadata
Series Gallery
Series Navigation
App Metadata
Series Navigation App
Season 1 Recap
S1 Reacp Metadata
S1 Recap Presentation
Season 2 Gallery
S2 Galery Metadata
S2 GalleryS2 E1 Presentation
Season 1
Season 1 Child Experiences
Season 1 Metadata
Season 2
Season 2 Child Experiences
Season 2 Metadata
Season 3
Season 3Child Experiences
Season 3 Metadata
http://movielabs.com/dsca-bam1 76
2a: Complete Season with Bonus• Delivery units same as 2a, but include bonus
Series:• Delivered once• References all existing Seasons via ExperienceID• Series bonus included in Series Manifest
Season 1
Season 1 Child Experiences
Season 1 Metadata
Season 3
Season 3Child Experiences
Season 3 MetadataSeasons: • Delivered individually• References episodes via ExperienceID• Season bonus included in Season Manifest
= Manifest delivery
Series
Child Experiences
Series Metadata
Series Retrospective
Retrospective Metadata
Retrospective Presentation
Series Gallery
Gallery Metadata
Series Gallery
Series Navigation
App Metadata
Series Navigation App
Season 1 Recap
S1 Reacp Metadata
S1 Recap Presentation
Season 2 Gallery
S2 Galery Metadata
S2 Gallery
Season 2
Season 2 Child Experiences
Season 2 Metadata
http://movielabs.com/dsca-bam1 77
Case 2b: Bonus, Active Season
• Deliver Season 2
• Precondition: Season 1 already delivered
Series updated (redelivered) to reference new seasonSeason delivered• No episode references• Bonus material included
= Manifest delivery
Episodes: • Identical structure to Case 1a
Season 2, Episode 1
S2 E1 Metadata
S2 E1 Presentation
Season 2, Episode 2
S2 E2 Metadata
S2 E2 Presentation
Season 2, Episode 3
S2 E3 Metadata
S2 E3 Presentation
Season 2, Episode 4
S2 E3 Metadata
S2 E4 Presentation
Season 2, Episode 5
S2 E5 Metadata
S1 E5 Presentation
Series
Child Experiences
Series Metadata
Season 1, Episode 1
S1 E1 Metadata
S2 E1 Presentation
Season 1, Episode 2
S1 E2 Metadata
S1 E2 Presentation
`̀
Season 1, Episode n
S1 E3 Metadata
S1 En Presentation
...
• Season and Series
• Episodes delivered as they become available
Season 1
Season 1 Child Experiences
Season 1 Metadata
Series
Child Experiences
Series Metadata
Series Retrospective
Retrospective Metadata
Retrospective Presentation
Series Gallery
Gallery Metadata
Series Gallery
Series Navigation
App Metadata
Series Navigation App
Season 1 Recap
S1 Reacp Metadata
S1 Recap Presentation
Season 2 Gallery
S2 Galery Metadata
S2 Gallery
Season 2
Season 2 Child Experiences
Season 2 Metadata
http://movielabs.com/dsca-bam1 78
DRAFT (26-June-2018)
Common Metadata 2.7 Updates
http://movielabs.com/dsca-bam1 79
Summary of changes
• ‘noforced’ subtitle Type
• ‘Production’ ReleaseType
• CountryOfOrigin 0..1 → 0..n
• Added People/Job/CharacterInfo for localization and IDs
• Parent (esp. for regional episode ordering)• Added SequenceInfo
• Added Region/RegionExcluded?
• Universe, Brand and Franchise
• “Based on”
http://movielabs.com/dsca-bam1 80
‘noforced’• Problem
• Some video comes with open forced subtitles
• Need to flag subtitle tracks without forced subtitles (i.e., gaps where forced subtitles would be)
• Solution• Add ‘noforced’ as subtitle Type
• Used in conjunction with other Type values such as ‘normal’ or ‘SDH’
• Can’t be used with ‘forced’
http://movielabs.com/dsca-bam1 81
CountryOfOrigin 0..n• Problem
• Can be more than one Country of Origin
• Examples• Ireland and Canada
• https://www.fr.universcine.be/films/maudie
• Canada, Sweden and UK: • https://www.fr.universcine.be/films/the-killer-inside-me
• Solution• Change cardinality of CountryOfOrigin to 0..n
http://movielabs.com/dsca-bam1 82
‘Character’ not localized; no character IDs• Problem
• Cannot localize People/Job/Character• For example “Chewbaka” in Korean “츄바카”
• Characters cannot be assigned IDs
• Solution• Add CharacterInfo object to include localization (including original) and optional IDs
• Note that this is redundant with Character
• Why not put in LocalizedInfo?• LocalizedInfo/PeopleLocal use for dubbing actors
• No linkage between LocalizedInfo/PeopleLocal and Basic/People.
• Actors would be handled differently than other cast and crew.
• Doesn’t solve ID problem.
http://movielabs.com/dsca-bam1 83
Parent Sequence• Problem
• Can’t have different parents for different regions.
• Can’t have different ordering (especially episodes) for different parents/regions
• Solution• Add SequenceInfo to Basic/Parent object
• This allows different sequencing for different parents
• Note that this is not backwards compatible with Basic/SequenceInfo (now expressed in two locations). When there’s only one Parent/Sequence, both Basic/SequenceInfo and Basic/Parent/SequenceInfo should be populated
• Add Region and ExcludedRegion to Parent• This mirrors MMC and has the same functionality
• Note that MMC and MEC now have the same structure• ExperienceChild + SequenceInfo in MMC
• Parent + SequenceInfo in MEC
http://movielabs.com/dsca-bam1 84
Universe, Brand and Franchise• Problem
• No way to express• “Universe” e.g., MCU, Star Trek, Fantastic 4, X-Men, DCEU, Arrowverse, Middle Earth
• “Brand” e.g., Marvel, Universal, Pixar, Disney, Lego, ABC, "Marvel Netflix“
• “Franchise”, Wolverine, Wonder Woman, Thor, Captain America, Deadpool, Star Trek TOS, Star Trek TNG, Star Wars Original Trilogy, Star Wars, Prequel Trilogy, Star Wars Legends, Superman, Batman Nolan, Godfather, Ant-Man, Bond Moore, Bond Craig, Bond Brosnan, Minions, Cars, LOTR, Avenger
• Solution• Add GroupingEntity with Type = “Universe”, “Brand” or “Franchise”
• Will need best practices
http://movielabs.com/dsca-bam1 85
Based-On• Issue
• Content is often based on another work (e.g., a book series)
• Discussion• Should we reference the based-on work (e.g., Reference a Common
Metadata object for that work, WorkType + Identifier)?
• More generally, this is “relates to” with “based on” as one particular relationship type• Is there anything else like this (assuming we already have Franchise, Brand and
Universe)?
• The general solution would be something like RDF/OWL, but I’m thinking more direct and concrete
http://movielabs.com/dsca-bam1 86
Based-On• Relations
• Work: Content can be based-on a work (e.g., a book series)
• Places: is-about-place, performed/filmed-at, take-place-at• People: is-about (primarily, also)
• Periods or events: is-about-event, takes-place-during
• Objects can be real, fictional or fictionalized
• Degree to which content relates something can range from loose (e.g., fictionalized) to strong (accurate)• Modifications can include combining characters, inventing dialog, etc.
http://movielabs.com/dsca-bam1 87
DRAFT (26-June-2018)
Media Manifest 2.8 Updates
http://movielabs.com/dsca-bam1 88
Summary of changes
• Drafted• Reference CM v2.7
• Added Source to MediaManifestEdit
• For discussion• Add descriptive info to Presentation/TrackMetadata to make it easier to
sort out what the grouping is for (e.g., commentary).
• Should we allow objects other than Experience to be external?
• Should we allow timecode in hh:mm:ss:FF (frame). Currently, we only support fractional seconds (for encoding independence)
http://movielabs.com/dsca-bam1 89
MediaManifestEdit/Source• Problem
• Source information needed for MediaManifestEdit (just like MediaManifest)
• Solution• Add MediaManifestEdit/Source
• Question• Should we do the same for MediaInventory? Currently, it’s only the
Inventory (no attributes, no Compatibility, no Source).
http://movielabs.com/dsca-bam1 90
Presentation/TrackMetadata metadata• Currently
• TrackMetadata contains TrackSelectionNumber and references to tracks
• TrackSelectionNumber can group tracks for reasons such as commentary (e.g., commentary audio grouped with commentary subtitles)
• One must infer what the grouping is about by looking at tracks in Inventory
• Discussion• Should we add more information to make it easer to sort out what the
grouping is about
• Minimum: Type and Subtype (commonly used pattern in MM)
• What about user-visible data?
http://movielabs.com/dsca-bam1 91
External References (Discussion)• Currently
• External Experience instances can be referenced in ExperienceChild. Why not apply this pattern to any object (Inventory, Galleries, Apps, etc.)
• This was done primarily for external season references in Series, and external episode references in series
• Discussion• Is this manageable or will it encourage too much fragmentation?
• What are the use cases?
http://movielabs.com/dsca-bam1 92
Timecode• Currently
• Timecode is hh:mm:ss.ss – fractional seconds used rather than frames. Includes @dropframe.
• Sufficient to distinguish individual frames
• This works independently of framerate transcoding (e.g., HFR)
• Discussion• Should we also allow hh:mm:ss:FF(FF=frame)?
• This would obviate the need for conversion in some circumstances
http://movielabs.com/dsca-bam1 94
Key challenges• Mapping Inventory to IMF
• Best Practice “Using Common Media Manifest with Interoperable Media Format”
• Sorting out multiple video tracks
• Metadata• Draft Best Practice HDR/WCG Metadata Encoding
• Best practices are here:• www.movielabs.com/md/practices