Draft
Conversation
- Introduced a new HLS ingest feature that allows for the ingestion of live HLS media playlists. - Updated the `justfile` to include a new command for HLS ingestion. - Enhanced codec handling in the video encoder to support both AVC1 and AVC3 formats. - Added new dependencies for HLS processing and updated existing ones in the Cargo files. - Refactored import logic to accommodate HLS format in the client and server modules. - Improved error handling and logging for better debugging and user experience.
…essing - Introduced a `TrackState` struct to manage video and audio tracks separately. - Updated the `HlsImporter` to handle fetching and consuming segments for both video and audio tracks. - Improved error handling and logging for track initialization and segment consumption. - Refactored methods to ensure proper initialization and segment pushing for HLS streams. - Added functionality to select audio renditions from the master playlist based on group ID.
…or handling - Added a new `HlsIngest` struct to manage HLS media playlist ingestion. - Introduced timestamp normalization to ensure playback starts at zero and remains monotonic. - Enhanced error handling for HLS processing, including specific error types for HLS-related issues. - Updated `Cargo.toml` and `Cargo.lock` to include new dependencies for HLS functionality. - Refactored existing code to integrate HLS ingest logic into the broader hang media library.
…trols - Added a private signal for manual rendition selection in the video source. - Implemented a method to set the active rendition by name. - Updated the demo HTML to include advanced options for latency and quality selection. - Integrated JavaScript functionality to dynamically adjust latency and populate quality options based on available video renditions. - Improved error handling for missing elements in the demo script.
- Added support for interactive resolution selection using `ffprobe` to allow users to choose video renditions during HLS ingestion. - Updated the `justfile` and `rs/justfile` to include new commands for interactive HLS ingestion. - Introduced `HlsResolution` struct for managing resolution inputs and updated `HlsArgs` to handle resolution options. - Enhanced `HlsConfig` to support allowed output resolutions, improving flexibility in media processing. - Refactored HLS ingestion logic to incorporate user-selected resolutions, ensuring better control over video quality.
- Removed references to AVC3 codec in the video encoder and related modules, streamlining codec checks to only support AVC1. - Updated documentation and comments to reflect the removal of AVC3, ensuring clarity in supported codecs. - Adjusted Cargo.toml and Cargo.lock to align with the changes in codec dependencies.
Author
|
/gemini summary |
Summary of ChangesThis pull request significantly expands the media ingestion capabilities by integrating HLS (HTTP Live Streaming) as a primary source. It establishes a robust pipeline for consuming HLS streams, converting them into CMAF segments, and broadcasting them via MoQ. Key improvements include interactive controls for HLS resolution selection, enhanced UI elements in the demo for latency and quality management, and critical refinements to CMAF timestamp handling to ensure smooth and reliable playback from diverse HLS/CMAF sources. Highlights
Changelog
Activity
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.