Module Logic - Grade-A-Software/Comcast-DASH-VLC GitHub Wiki
Logic for parsing and playback
The DASH module utilizes a procedure to parse the contents of a DASH Manifest, download a timeline of short video files, and provide the stream of continuous video playback to the user.
- Fetch DASH manifest.
- The DASH Manifest is stored on a server, typically with the filename "manifest.mpd"
- VLC accepts the URL of the manifest as a command line parameter.
./vlc http://url.com/path/to/manifest.mpd
- From the GUI (for best performance):
- File -> Open Network Stream (command-N on Mac / control-N on Linux)
- Enter the URL.
- File -> Open Network Stream (command-N on Mac / control-N on Linux)
- Parse DASH manifest.
- The XML in the DASH Manifest follows a specific format.
- This format is known as MPD, or Media Presentation Description.
- Interpret manifest to formulate video URLs.
- The MPD format specifies a number of components. See: MPD Components and MPD parsing README
- These components allow the module to form a timeline of URLs corresponding to media MPEG-2 Transport Stream (.ts) files.
- Fetch content in the video URL timeline.
- The existing DASH module has several components that facilitate this process
- These components interact through the module.
- Feed the content to VLC decoder.
- The VLC decoder relies on a block of bytes from which it can read, peek, and seek through media data.
- The DASH Module, DASH Manager and DASH Downloader facilitate this process.