Skip to content

Python library for converting DASH manifest files to HLS format.

License

Notifications You must be signed in to change notification settings

hyugogirubato/pydash2hls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyDash2HLS

License Release Latest Version

PyDash2HLS is a Python library for converting DASH (Dynamic Adaptive Streaming over HTTP) manifest files to HLS (HTTP Live Streaming) format.

Features

  • Convert MPD files to HLS format.
  • Support for remote and local MPD files.
  • Retrieve media URLs for a specific profile.
  • Handle DRM (Digital Rights Management) information in MPD files.

Installation

You can install PyDash2HLS using pip:

pip install pydash2hls

Usage

Converter Initialization

To initialize the Converter class, you can use the following methods:

Initialization from a Remote URL

from pydash2hls import Converter

# Initialize Converter from a remote URL
url = "http://example.com/manifest.mpd"
converter = Converter.from_remote(url)

Initialization from a Local File

from pydash2hls import Converter
from pathlib import Path

# Initialize Converter from a local file
file_path = Path("path/to/manifest.mpd")
converter = Converter.from_local(file_path)

Building HLS Manifest

To build an HLS manifest for a specific profile, you can use the build_hls() method:

# Build HLS manifest for a profile
profile_id = "profile1"
hls_manifest = converter.build_hls(profile_id)

Getting Media URLs

To retrieve a list of media URLs for a specific profile, you can use the media_urls() method:

# Get media URLs for a profile
profile_id = "profile1"
media_urls = converter.media_urls(profile_id)

Exceptions

The following exceptions can be raised by PyDash2HLS:

  • InvalidPath: Raised when the file path is invalid.
  • InvalidFileContent: Raised when the contents of the file are not in DASH format or are incompatible.
  • InvalidProfile: Raised when the selected profile is invalid.
  • MissingRemoteUrl: Raised when a remote file URL is required but not provided.

License

This project is licensed under the GPL v3 License.

About

Python library for converting DASH manifest files to HLS format.

Topics

Resources

License

Stars

Watchers

Forks

Languages