A module to parse, analyze and validate MPEG-DASH MPD
Project description
mpd-inspector
Overview
This is a module to parse MPEG-DASH Media Presentation Documents (aka. MPD) from files or URLs, and interpret them This package is built as a fork from the excellent mpd-parser. The main reasons for forking it are:
- I needed to change the behaviour to be closer to the MPEG-DASH spec, in particular DASH-IF IOP rules.
- I wanted to parse all MPD attributes into native Python types (including for datetimes and durations)
- I wanted to be able to expose unparsed elements
- I wanted to add a layer of inspection/analysis to make it possible to calculate implicit/derived values (eg. start and duration of periods in multi-period MPD) - in particular again for validation against the DASH-IF Interoperability guidance
Installation
$ python -m pip install mpd-inspector
Usage
Importing
from mpd_parser.parser import Parser
parse from string
with open("path/to/file.mpd", mode="r") as manifest_file:
mpd_string = manifest_file.read()
parsed_mpd = Parser.from_string(mpd_string)
parse from file
input_file = "path/to/file.mpd"
mpd = Parser.from_file(input_file)
parse from url
input_url = "https://my-server.com/path/to/stream.mpd"
mpd = Parser.from_url(input_url)
inspect it
mpd_inspector = MPDInspector(mpd)
convert back to string
mpd_as_xml_string = Parser.to_string(parsed_mpd)
Example manifests
Taken from a variety of places
Build locally
poetry build
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mpd_inspector-0.6.0.tar.gz
(14.3 kB
view details)
Built Distribution
File details
Details for the file mpd_inspector-0.6.0.tar.gz
.
File metadata
- Download URL: mpd_inspector-0.6.0.tar.gz
- Upload date:
- Size: 14.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.7 Darwin/23.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7878ed6d8a82873f706017028612281893e9ed900cc8c00f7fe8fc720ef1d72 |
|
MD5 | 417605e037ab6c0ffcc04dd361d8bf18 |
|
BLAKE2b-256 | 973da9d41e6b8e185d2424dafc4263428f110857e415657d0e24dd0e50b34e5a |
Provenance
File details
Details for the file mpd_inspector-0.6.0-py3-none-any.whl
.
File metadata
- Download URL: mpd_inspector-0.6.0-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.11.7 Darwin/23.3.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e09e7a0736ace9a7823a2536b7c2b4b4d6a21984870a0cd3b1d78a77a5d82404 |
|
MD5 | b4c11a113a045826af0a69ef8af9ba36 |
|
BLAKE2b-256 | 21cb5da314f711a3fc31f7d19916fd49d105d7406ef5d1ecc12c8e306cb47b9d |