diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-03-07 04:02:48 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-03-07 04:02:48 +0100 |
| commit | 4ce6d64648634bd8d22e8ed0676e0e5b22947dc3 (patch) | |
| tree | c1df9c9f623603651157006b9fd249de6d63fc7b /stream/src | |
| parent | d3ed810656a563fc733771e760b2abbb05bd98cb (diff) | |
| download | jellything-4ce6d64648634bd8d22e8ed0676e0e5b22947dc3.tar jellything-4ce6d64648634bd8d22e8ed0676e0e5b22947dc3.tar.bz2 jellything-4ce6d64648634bd8d22e8ed0676e0e5b22947dc3.tar.zst | |
new media path format
Diffstat (limited to 'stream/src')
| -rw-r--r-- | stream/src/dash.rs | 8 | ||||
| -rw-r--r-- | stream/src/hls.rs | 17 |
2 files changed, 11 insertions, 14 deletions
diff --git a/stream/src/dash.rs b/stream/src/dash.rs index 6060501..9e66a0f 100644 --- a/stream/src/dash.rs +++ b/stream/src/dash.rs @@ -164,9 +164,11 @@ fn write_segment_template( out, "<SegmentTemplate \ timescale=\"1000\" \ - initialization=\"stream?fragmentinit&t={as_id}&c={container}&f=$RepresentationID$\" \ - media=\"stream?fragment&t={as_id}&c={container}&f=$RepresentationID$&i=$Number$\" \ - startNumber=\"0\">" + initialization=\"{as_id}/$RepresentationID$/init.{}\" \ + media=\"{as_id}/$RepresentationID$/frag$Number$.{}\" \ + startNumber=\"0\">", + container.file_ext(TrackKind::Video), + container.file_ext(TrackKind::Video) )?; writeln!(out, "{}", Timeline(&frags))?; writeln!(out, "</SegmentTemplate>")?; diff --git a/stream/src/hls.rs b/stream/src/hls.rs index 70a0d3c..759b196 100644 --- a/stream/src/hls.rs +++ b/stream/src/hls.rs @@ -23,12 +23,12 @@ pub fn hls_multivariant_stream(info: &SMediaInfo) -> Result<Box<dyn Read + Send for (i, t) in info.tracks.iter().enumerate() { for (j, f) in t.formats.iter().enumerate() { let uri = format!( - "stream{}", + "{}", StreamSpec::HlsVariant { track: i, format: j } - .to_query() + .to_path() ); let r#type = match t.kind { TrackKind::Video => "VIDEO", @@ -50,7 +50,7 @@ pub fn hls_multivariant_stream(info: &SMediaInfo) -> Result<Box<dyn Read + Send pub fn hls_variant_stream( info: &SMediaInfo, track: TrackNum, - format: FormatNum, + _format: FormatNum, ) -> Result<Box<dyn Read + Send + Sync>> { let frags = fragment_index(&info, track)?; let (_, info) = stream_info(&info)?; @@ -61,19 +61,14 @@ pub fn hls_variant_stream( writeln!(out, "#EXT-X-TARGETDURATION:{}", info.duration)?; writeln!(out, "#EXT-X-VERSION:4")?; writeln!(out, "#EXT-X-MEDIA-SEQUENCE:0")?; + writeln!(out, "#EXT-X-MAP:URI=\"init.webm\"")?; for (index, Range { start, end }) in frags.iter().enumerate() { writeln!(out, "#EXTINF:{:},", end - start)?; writeln!( out, - "stream{}", - StreamSpec::Fragment { - track, - index, - container: StreamContainer::MP4, - format, - } - .to_query() + "frag{index}.{}", + StreamContainer::WebM.file_ext(TrackKind::Video), )?; } |