emarsden / dash-mpd-rs

Rust library for parsing, serializing and downloading media content from a DASH MPD manifest.
MIT License
72 stars 23 forks source link

Support for dynamic MPD files (for live streaming) #4

Closed mattsre closed 1 year ago

mattsre commented 1 year ago

Under the Limitations / unsupported features section of the README it lists dynamic MPD manifests. Is there plans to support dynamic MPD manifests or is this something you decided not to implement?

My specific use case is as follows: I have a media ingest server written in Rust that takes in some streams from OBS, re-encodes in various formats, and then produces HLS and DASH manifests. Currently the HLS + DASH manifests are produced by FFmpeg, but I'd like to have some more control over the manifests outputted so I was hoping to build them myself and just use FFmpeg for the encoding.

I don't actually know much about the difference between static/dynamic MPDs, so I'm not sure what "supporting" them would mean for you 😄 so was just curious

emarsden commented 1 year ago

It's downloading/watching dynamic streams that is currently unsupported (would require some tricky adaptation to network conditions), rather than creating them programmatically by serializing structs.

For your use case the library should be fine. There are probably some missing structs because I haven't looked at the specification for dynamic MPDs, but that is easy to add.

mattsre commented 1 year ago

Thanks, I'll give a go