Skip to content

Releases: asrashley/dash-live

Migrate validator page to TypeScript

18 Feb 16:59
Compare
Choose a tag to compare

This release replaces server-side rendered DASH validator page with client-side rendered TypeScript components.

Migrate user management pages to TypeScript

18 Feb 16:55
Compare
Choose a tag to compare

This release replaces the server-side HTML pages for user management with client-side TypeScript Preact JSX.

Migrate front-end code to TypeScript + Preact JSX

18 Feb 16:55
Compare
Choose a tag to compare

This release replaces all JavaScript UI components with TypeScript Preact JSX components. This requires a build step before the Python
server can be used. The build step creates the entry index.html file and the compiled JavaScript bundles. The Python server uses this built index.html to serve HTTP requests for the front-end UI.

SqlAlchemy Upgrade

18 Feb 16:53
Compare
Choose a tag to compare

This release refactors the use of SqlAlchemy APIs from the v1.x APIs to the v2 APIs. This has the advantage of providing correct type hints for every field in the model.

Multi-period DASH support

18 Feb 16:52
Compare
Choose a tag to compare

This release adds experimental support for DASH streams containing multiple Period elements. Each Period is created from sections of streams already in the system. Both on-demand and live streams are supported.

Require unique track IDs for each AdaptationSet

18 Feb 16:52
Compare
Choose a tag to compare

This release changes the database schema to require that each AdaptationSet within a stream has a unique track ID. Existing media files should be auto-migrated when upgrading to this release.

MPD Patch Support

18 Feb 16:51
Compare
Choose a tag to compare

The 2022 version of the DASH specification added support for MPD patches. These are XML documents that can be applied to an in-memory
version of a complete MPD to modify the manifest. Its primary use is to avoid having to keep fetching the whole manifest for live streams that
use SegmentTimeline.

Create DRM information inside each AdaptationSet

18 Feb 16:49
Compare
Choose a tag to compare

According to the DVB DASH specification, the ContentProtection descriptors should be placed within the AdaptationSet, and that each
AdaptationSet must have its own ContentProtection descriptors if they have different license rights.

This release contains a refactored DRM implement that meets these DVB DASH rules for ContentProtection descriptors.

Encoder script improvements

18 Feb 16:48
Compare
Choose a tag to compare

Improvements to the media encoding script:

  • move codec string parsing into its own module
  • update bitrate ladder to provide h.264 profile settings
  • allow fragment sizes that are floating point numbers

Reverse proxy HTTPS termination

18 Feb 16:47
Compare
Choose a tag to compare

Added:

  • check for X-Forwarded-Proto header in incoming requests