SlideShare a Scribd company logo
What is Matroska?
Hossein Yavari
May 2023
Intro
- Matroska is an audiovisual data container format.
- It is based on EBML (Extensible Binary Meta Language).
- EBML: a binary derivative of XML
- It is a only a container; that means:
- It is NOT a video or audio compression format (codec),
- It is an envelope in which there can be many audio, video, and subtitles streams.
Common terms
Matroska:
• A multimedia container format based on EBML (Extensible Binary Meta Language).
Matroska Reader:
• A data parser that interprets the semantics of a Matroska document and creates a way
for programs to use Matroska.
Matroska Player:
• A Matroska Reader with a primary purpose of playing audiovisual files, including
Matroska documents.
Matroska Writer:
• A data writer that creates Matroska documents.
Data Layout
• A Matroska file must be composed of at least
one EBML document.
• Each EBML document starts with an EBML
Header and must be followed by the EBML Root
Element.
• EBML root element, defined as Segment in
Matroska.
• Matroska defines several Top-Level Elements
which may occur within the Segment.
Data Layout (Cont.)
The Matroska EBML schema defines eight Top-Level Elements:
• SeekHead ((#seekhead)),
• Info ((#info)),
• Tracks ((#track-flags)),
• Chapters ((#chapters)),
• Cluster ((#block-structure)),
• Cues ((#cues)),
• Attachments ((#attachments-1)),
• Tags ((#tags)).
Data Layout (Cont.)
• SeekHead Element (also known as MetaSeek)
contains an index of Top-Level Elements locations
within the Segment.
• Without a SeekHead Element, a Matroska parser
would have to search the entire file to find all the
other Top-Level Elements.
❑ Value details:
https://www.matroska.org/technical/elements.html#:~:text=Meta%20Seek%
20Information
Data Layout (Cont.)
• The Info Element contains vital information for
identifying the whole Segment; includes the
title for the Segment, a randomly generated
unique identifier.
❑ Value details:
https://www.matroska.org/technical/elements.html#:~:text=Descripti
on-,Segment%20Information,-Info
Data Layout (Cont.)
• The Tracks Element defines the technical
details for each track and can store the
name, number, unique identifier, language,
and type (audio, video, subtitles, etc.) of
each track.
• For example, the Tracks Element MAY store
information about the resolution of a video
track or sample rate of an audio track.
Data Layout (Cont.)
• The Tracks Element MUST identify all the data
needed by the codec to decode the data of the
specified track.
• The data required is contingent on the codec used
for the track.
• For example, a Track Element for uncompressed
audio only requires the audio bit rate to be
present.
❑ Value details:
https://www.matroska.org/technical/elements.html#:~:text=Descripti
on-,Track,-Tracks
Data Layout (Cont.)
• The Chapters Element lists all the chapters.
• Chapters are a way to set predefined points
to jump to in video or audio.
❑ Value details:
https://www.matroska.org/technical/elements.html#:~:text=Des
cription-,Chapters,-Chapters
Data Layout (Cont.)
• Cluster Elements contain the content for each track, e.g.,
video frames.
• Every Cluster Element MUST contain a Timestamp Element.
• Timestamp Element used to play the first Block in the
Cluster Element.
• The Cluster Element helps to break up SimpleBlock or
BlockGroup Elements and helps with seeking and error
protection.
• A Matroska file should contain at least one Cluster Element.
❑ Value details:
https://www.matroska.org/technical/elements.html#:~:text=Description-
,Cluster,-Cluster
Data Layout (Cont.)
• The Cues Element is used to seek when playing
back a file by providing a temporal index for some
of the Tracks.
• It is similar to the SeekHead Element, but used for
seeking to a specific time when playing back the
file.
• It is possible to seek without this element, but it is
much more difficult because a Matroska Reader
would have to ‘hunt and peck’ through the file
looking for the correct timestamp.
❑ Value details:
https://www.matroska.org/technical/elements.html#:~:text=Descripti
on-,Cueing%20Data,-Cues
Data Layout (Cont.)
• The Attachments Element is for attaching files to
a Matroska file such as pictures, fonts,
webpages, etc.
❑ Value details:
https://www.matroska.org/technical/elements.html#:~:text=Des
cription-,Attachment,-Attachments
Data Layout (Cont.)
• The Tags Element contains metadata that
describes the Segment and potentially its
Tracks, Chapters, and Attachments.
• Each Track or Chapter that those tags applies to
has its UID listed in the Tags.
• Tags can contain their values in multiple
languages.
❑ Value details:
https://www.matroska.org/technical/elements.html#:~:text=Des
cription-,Tagging,-Tags
Codec Mapping
Codec Mapping
• A Codec Mapping is a set of attributes to identify, name, and contextualize the format
and characteristics of encoded data that can be contained within Matroska Clusters.
• Each TrackEntry used within Matroska must reference a defined Codec Mapping using
the Codec ID to identify and describe the format of the encoded data in its associated
Clusters.
• Codec ID is a unique registered identifier that represents the encoding stored within the
Track.
Codec Mapping (Cont.)
• Codec ID must be prefixed with the string from the table
according to the associated type of the codec.
• Each Codec ID must include a Major Codec ID
immediately following the Codec ID Prefix.
• A Major Codec ID may be followed by an OPTIONAL
Codec ID Suffix to communicate a refinement of the
Major Codec ID.
• If a Codec ID Suffix is used, then the Codec ID MUST
include a forward slash (“/”) as a separator between the
Major Codec ID and the Codec ID Suffix.
Sample File Analysis
Sample file
https://mkvtoolnix.
download/downlo
ads.html
MP3 file
converted to
MKV via
ffmpeg.
Sample file
EBML header
Sample file
Segment
Sample file
379-52 = 237
Seekhead
Sample file
Segment Info
Sample file
Tracks
Sample file
Cluster
Sample file
Cues
Sample file
Tags
REFERENCES
- https://www.matroska.org/index.html
- https://mkvtoolnix.download/downloads.html
Thank You.
H.Yavari

More Related Content

Similar to What is Matroska?

Indexator_oct2022.pdf
Indexator_oct2022.pdfIndexator_oct2022.pdf
Indexator_oct2022.pdf
Daniel JACOB
 
Introduction to the Roku SDK
Introduction to the Roku SDKIntroduction to the Roku SDK
Introduction to the Roku SDK
Chris Adamson
 
Codecs
CodecsCodecs
Codecs
Arpan Patel
 
SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...
SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...
SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...
TelecomValley
 
HTML
HTMLHTML
C14 fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...
C14   fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...C14   fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...
C14 fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...
FIAT/IFTA
 
Virtual dj 6 user guide
Virtual dj 6   user guideVirtual dj 6   user guide
Virtual dj 6 user guide
Diego Suazo Pari
 
Understanding information content with apache tika
Understanding information content with apache tikaUnderstanding information content with apache tika
Understanding information content with apache tika
Sutthipong Kuruhongsa
 
Understanding information content with apache tika
Understanding information content with apache tikaUnderstanding information content with apache tika
Understanding information content with apache tika
Sutthipong Kuruhongsa
 
Html5-Exploring-Training Deck - OSMOSIS 10Oct - By Udayakumar Mathivanan
Html5-Exploring-Training Deck - OSMOSIS 10Oct - By Udayakumar MathivananHtml5-Exploring-Training Deck - OSMOSIS 10Oct - By Udayakumar Mathivanan
Html5-Exploring-Training Deck - OSMOSIS 10Oct - By Udayakumar Mathivanan
Udaya Kumar
 
Azure Media Services & Azure Search
Azure Media Services & Azure SearchAzure Media Services & Azure Search
Azure Media Services & Azure Search
Emanuele Bartolesi
 
Html Presentation
Html PresentationHtml Presentation
Html Presentation
umesh patil
 
IMF Mechanisms for carrying Metadata by Marquise Technologies
IMF Mechanisms for carrying Metadata by Marquise TechnologiesIMF Mechanisms for carrying Metadata by Marquise Technologies
IMF Mechanisms for carrying Metadata by Marquise Technologies
Asma Jenhani
 
XML for beginners
XML for beginnersXML for beginners
XML for beginners
safysidhu
 
File formats and its types
File formats and its typesFile formats and its types
File formats and its types
Anu Garg
 
Understanding Character Encodings
Understanding Character EncodingsUnderstanding Character Encodings
Understanding Character Encodings
Mobisoft Infotech
 
iPRES 2015 premis implementation fair
iPRES 2015 premis implementation fairiPRES 2015 premis implementation fair
iPRES 2015 premis implementation fair
Jesse de Vos
 
fileformatsanditstypes-140131084629-phpapp01 (1).pdf
fileformatsanditstypes-140131084629-phpapp01 (1).pdffileformatsanditstypes-140131084629-phpapp01 (1).pdf
fileformatsanditstypes-140131084629-phpapp01 (1).pdf
raji175286
 
L9-files fClick to edit Master title styleormat.pptx
L9-files fClick to edit Master title styleormat.pptxL9-files fClick to edit Master title styleormat.pptx
L9-files fClick to edit Master title styleormat.pptx
FahmiOlayah
 
MPEG-4-WWW.ppt
MPEG-4-WWW.pptMPEG-4-WWW.ppt
MPEG-4-WWW.ppt
Imen ben chaabane
 

Similar to What is Matroska? (20)

Indexator_oct2022.pdf
Indexator_oct2022.pdfIndexator_oct2022.pdf
Indexator_oct2022.pdf
 
Introduction to the Roku SDK
Introduction to the Roku SDKIntroduction to the Roku SDK
Introduction to the Roku SDK
 
Codecs
CodecsCodecs
Codecs
 
SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...
SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...
SophiaConf2010 Présentation des Retours d'expériences de la Conférence du 08 ...
 
HTML
HTMLHTML
HTML
 
C14 fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...
C14   fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...C14   fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...
C14 fiatifta dubai 2013, the mpeg-7 audiovisual description profile standar...
 
Virtual dj 6 user guide
Virtual dj 6   user guideVirtual dj 6   user guide
Virtual dj 6 user guide
 
Understanding information content with apache tika
Understanding information content with apache tikaUnderstanding information content with apache tika
Understanding information content with apache tika
 
Understanding information content with apache tika
Understanding information content with apache tikaUnderstanding information content with apache tika
Understanding information content with apache tika
 
Html5-Exploring-Training Deck - OSMOSIS 10Oct - By Udayakumar Mathivanan
Html5-Exploring-Training Deck - OSMOSIS 10Oct - By Udayakumar MathivananHtml5-Exploring-Training Deck - OSMOSIS 10Oct - By Udayakumar Mathivanan
Html5-Exploring-Training Deck - OSMOSIS 10Oct - By Udayakumar Mathivanan
 
Azure Media Services & Azure Search
Azure Media Services & Azure SearchAzure Media Services & Azure Search
Azure Media Services & Azure Search
 
Html Presentation
Html PresentationHtml Presentation
Html Presentation
 
IMF Mechanisms for carrying Metadata by Marquise Technologies
IMF Mechanisms for carrying Metadata by Marquise TechnologiesIMF Mechanisms for carrying Metadata by Marquise Technologies
IMF Mechanisms for carrying Metadata by Marquise Technologies
 
XML for beginners
XML for beginnersXML for beginners
XML for beginners
 
File formats and its types
File formats and its typesFile formats and its types
File formats and its types
 
Understanding Character Encodings
Understanding Character EncodingsUnderstanding Character Encodings
Understanding Character Encodings
 
iPRES 2015 premis implementation fair
iPRES 2015 premis implementation fairiPRES 2015 premis implementation fair
iPRES 2015 premis implementation fair
 
fileformatsanditstypes-140131084629-phpapp01 (1).pdf
fileformatsanditstypes-140131084629-phpapp01 (1).pdffileformatsanditstypes-140131084629-phpapp01 (1).pdf
fileformatsanditstypes-140131084629-phpapp01 (1).pdf
 
L9-files fClick to edit Master title styleormat.pptx
L9-files fClick to edit Master title styleormat.pptxL9-files fClick to edit Master title styleormat.pptx
L9-files fClick to edit Master title styleormat.pptx
 
MPEG-4-WWW.ppt
MPEG-4-WWW.pptMPEG-4-WWW.ppt
MPEG-4-WWW.ppt
 

More from Hossein Yavari

SIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingSIPREC RTPEngine Media Forking
SIPREC RTPEngine Media Forking
Hossein Yavari
 
Windows Forensics
Windows ForensicsWindows Forensics
Windows Forensics
Hossein Yavari
 
SIP over TLS
SIP over TLSSIP over TLS
SIP over TLS
Hossein Yavari
 
Desjardins Data Breach
Desjardins Data BreachDesjardins Data Breach
Desjardins Data Breach
Hossein Yavari
 
Introduction to Metasploit
Introduction to MetasploitIntroduction to Metasploit
Introduction to Metasploit
Hossein Yavari
 
Which IT Certification is Better for You?
Which IT Certification is Better for You?Which IT Certification is Better for You?
Which IT Certification is Better for You?
Hossein Yavari
 
Disassembly Using IDA
Disassembly Using IDADisassembly Using IDA
Disassembly Using IDA
Hossein Yavari
 
Introduction to Snort
Introduction to SnortIntroduction to Snort
Introduction to Snort
Hossein Yavari
 
DLL Injection
DLL InjectionDLL Injection
DLL Injection
Hossein Yavari
 
SQL Injection in JAVA
SQL Injection in JAVASQL Injection in JAVA
SQL Injection in JAVA
Hossein Yavari
 
Malware Static Analysis
Malware Static AnalysisMalware Static Analysis
Malware Static Analysis
Hossein Yavari
 
Creativity and Role of the Leaders
Creativity and Role of the LeadersCreativity and Role of the Leaders
Creativity and Role of the Leaders
Hossein Yavari
 
IPsec for IMS
IPsec for IMSIPsec for IMS
IPsec for IMS
Hossein Yavari
 
eSIM Deep Dive
eSIM Deep DiveeSIM Deep Dive
eSIM Deep Dive
Hossein Yavari
 
Yeastar Technical Training Course
Yeastar Technical Training CourseYeastar Technical Training Course
Yeastar Technical Training Course
Hossein Yavari
 
SENA Cloud UC
SENA Cloud UCSENA Cloud UC
SENA Cloud UC
Hossein Yavari
 
FreePBX Disaster Recovery
FreePBX Disaster RecoveryFreePBX Disaster Recovery
FreePBX Disaster Recovery
Hossein Yavari
 
eSIM Overview
eSIM OvervieweSIM Overview
eSIM Overview
Hossein Yavari
 
LTE Architecture Overview
LTE Architecture OverviewLTE Architecture Overview
LTE Architecture Overview
Hossein Yavari
 
Introduction to DIAMETER
Introduction to DIAMETERIntroduction to DIAMETER
Introduction to DIAMETER
Hossein Yavari
 

More from Hossein Yavari (20)

SIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingSIPREC RTPEngine Media Forking
SIPREC RTPEngine Media Forking
 
Windows Forensics
Windows ForensicsWindows Forensics
Windows Forensics
 
SIP over TLS
SIP over TLSSIP over TLS
SIP over TLS
 
Desjardins Data Breach
Desjardins Data BreachDesjardins Data Breach
Desjardins Data Breach
 
Introduction to Metasploit
Introduction to MetasploitIntroduction to Metasploit
Introduction to Metasploit
 
Which IT Certification is Better for You?
Which IT Certification is Better for You?Which IT Certification is Better for You?
Which IT Certification is Better for You?
 
Disassembly Using IDA
Disassembly Using IDADisassembly Using IDA
Disassembly Using IDA
 
Introduction to Snort
Introduction to SnortIntroduction to Snort
Introduction to Snort
 
DLL Injection
DLL InjectionDLL Injection
DLL Injection
 
SQL Injection in JAVA
SQL Injection in JAVASQL Injection in JAVA
SQL Injection in JAVA
 
Malware Static Analysis
Malware Static AnalysisMalware Static Analysis
Malware Static Analysis
 
Creativity and Role of the Leaders
Creativity and Role of the LeadersCreativity and Role of the Leaders
Creativity and Role of the Leaders
 
IPsec for IMS
IPsec for IMSIPsec for IMS
IPsec for IMS
 
eSIM Deep Dive
eSIM Deep DiveeSIM Deep Dive
eSIM Deep Dive
 
Yeastar Technical Training Course
Yeastar Technical Training CourseYeastar Technical Training Course
Yeastar Technical Training Course
 
SENA Cloud UC
SENA Cloud UCSENA Cloud UC
SENA Cloud UC
 
FreePBX Disaster Recovery
FreePBX Disaster RecoveryFreePBX Disaster Recovery
FreePBX Disaster Recovery
 
eSIM Overview
eSIM OvervieweSIM Overview
eSIM Overview
 
LTE Architecture Overview
LTE Architecture OverviewLTE Architecture Overview
LTE Architecture Overview
 
Introduction to DIAMETER
Introduction to DIAMETERIntroduction to DIAMETER
Introduction to DIAMETER
 

Recently uploaded

The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
kalichargn70th171
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 
DevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps ServicesDevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps Services
seospiralmantra
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Peter Caitens
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
Jhone kinadey
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
Massimo Artizzu
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
Paul Brebner
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
Kubernetes at Scale: Going Multi-Cluster with Istio
Kubernetes at Scale:  Going Multi-Cluster  with IstioKubernetes at Scale:  Going Multi-Cluster  with Istio
Kubernetes at Scale: Going Multi-Cluster with Istio
Severalnines
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
kalichargn70th171
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 

Recently uploaded (20)

The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 
DevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps ServicesDevOps Consulting Company | Hire DevOps Services
DevOps Consulting Company | Hire DevOps Services
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
Kubernetes at Scale: Going Multi-Cluster with Istio
Kubernetes at Scale:  Going Multi-Cluster  with IstioKubernetes at Scale:  Going Multi-Cluster  with Istio
Kubernetes at Scale: Going Multi-Cluster with Istio
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 

What is Matroska?

  • 1. What is Matroska? Hossein Yavari May 2023
  • 2. Intro - Matroska is an audiovisual data container format. - It is based on EBML (Extensible Binary Meta Language). - EBML: a binary derivative of XML - It is a only a container; that means: - It is NOT a video or audio compression format (codec), - It is an envelope in which there can be many audio, video, and subtitles streams.
  • 3. Common terms Matroska: • A multimedia container format based on EBML (Extensible Binary Meta Language). Matroska Reader: • A data parser that interprets the semantics of a Matroska document and creates a way for programs to use Matroska. Matroska Player: • A Matroska Reader with a primary purpose of playing audiovisual files, including Matroska documents. Matroska Writer: • A data writer that creates Matroska documents.
  • 4. Data Layout • A Matroska file must be composed of at least one EBML document. • Each EBML document starts with an EBML Header and must be followed by the EBML Root Element. • EBML root element, defined as Segment in Matroska. • Matroska defines several Top-Level Elements which may occur within the Segment.
  • 5. Data Layout (Cont.) The Matroska EBML schema defines eight Top-Level Elements: • SeekHead ((#seekhead)), • Info ((#info)), • Tracks ((#track-flags)), • Chapters ((#chapters)), • Cluster ((#block-structure)), • Cues ((#cues)), • Attachments ((#attachments-1)), • Tags ((#tags)).
  • 6. Data Layout (Cont.) • SeekHead Element (also known as MetaSeek) contains an index of Top-Level Elements locations within the Segment. • Without a SeekHead Element, a Matroska parser would have to search the entire file to find all the other Top-Level Elements. ❑ Value details: https://www.matroska.org/technical/elements.html#:~:text=Meta%20Seek% 20Information
  • 7. Data Layout (Cont.) • The Info Element contains vital information for identifying the whole Segment; includes the title for the Segment, a randomly generated unique identifier. ❑ Value details: https://www.matroska.org/technical/elements.html#:~:text=Descripti on-,Segment%20Information,-Info
  • 8. Data Layout (Cont.) • The Tracks Element defines the technical details for each track and can store the name, number, unique identifier, language, and type (audio, video, subtitles, etc.) of each track. • For example, the Tracks Element MAY store information about the resolution of a video track or sample rate of an audio track.
  • 9. Data Layout (Cont.) • The Tracks Element MUST identify all the data needed by the codec to decode the data of the specified track. • The data required is contingent on the codec used for the track. • For example, a Track Element for uncompressed audio only requires the audio bit rate to be present. ❑ Value details: https://www.matroska.org/technical/elements.html#:~:text=Descripti on-,Track,-Tracks
  • 10. Data Layout (Cont.) • The Chapters Element lists all the chapters. • Chapters are a way to set predefined points to jump to in video or audio. ❑ Value details: https://www.matroska.org/technical/elements.html#:~:text=Des cription-,Chapters,-Chapters
  • 11. Data Layout (Cont.) • Cluster Elements contain the content for each track, e.g., video frames. • Every Cluster Element MUST contain a Timestamp Element. • Timestamp Element used to play the first Block in the Cluster Element. • The Cluster Element helps to break up SimpleBlock or BlockGroup Elements and helps with seeking and error protection. • A Matroska file should contain at least one Cluster Element. ❑ Value details: https://www.matroska.org/technical/elements.html#:~:text=Description- ,Cluster,-Cluster
  • 12. Data Layout (Cont.) • The Cues Element is used to seek when playing back a file by providing a temporal index for some of the Tracks. • It is similar to the SeekHead Element, but used for seeking to a specific time when playing back the file. • It is possible to seek without this element, but it is much more difficult because a Matroska Reader would have to ‘hunt and peck’ through the file looking for the correct timestamp. ❑ Value details: https://www.matroska.org/technical/elements.html#:~:text=Descripti on-,Cueing%20Data,-Cues
  • 13. Data Layout (Cont.) • The Attachments Element is for attaching files to a Matroska file such as pictures, fonts, webpages, etc. ❑ Value details: https://www.matroska.org/technical/elements.html#:~:text=Des cription-,Attachment,-Attachments
  • 14. Data Layout (Cont.) • The Tags Element contains metadata that describes the Segment and potentially its Tracks, Chapters, and Attachments. • Each Track or Chapter that those tags applies to has its UID listed in the Tags. • Tags can contain their values in multiple languages. ❑ Value details: https://www.matroska.org/technical/elements.html#:~:text=Des cription-,Tagging,-Tags
  • 16. Codec Mapping • A Codec Mapping is a set of attributes to identify, name, and contextualize the format and characteristics of encoded data that can be contained within Matroska Clusters. • Each TrackEntry used within Matroska must reference a defined Codec Mapping using the Codec ID to identify and describe the format of the encoded data in its associated Clusters. • Codec ID is a unique registered identifier that represents the encoding stored within the Track.
  • 17. Codec Mapping (Cont.) • Codec ID must be prefixed with the string from the table according to the associated type of the codec. • Each Codec ID must include a Major Codec ID immediately following the Codec ID Prefix. • A Major Codec ID may be followed by an OPTIONAL Codec ID Suffix to communicate a refinement of the Major Codec ID. • If a Codec ID Suffix is used, then the Codec ID MUST include a forward slash (“/”) as a separator between the Major Codec ID and the Codec ID Suffix.
  • 22. Sample file 379-52 = 237 Seekhead