membraneframework / membrane_core

The core of the Membrane Framework, advanced multimedia processing framework
https://membrane.stream
Apache License 2.0
1.22k stars 34 forks source link

Add support for DASH output #807

Open JustJoostNL opened 1 month ago

JustJoostNL commented 1 month ago

Hey, Would it be possible to add support for DASH output?

Thanks.

mat-hek commented 1 month ago

Hi @JustJoostNL, we planned to support DASH, but it turned out to have no significant advantages over HLS in the use cases we were involved in. Also, DASH isn't supported on some Apple devices (though that changes slowly AFAIK). Can you share why you chose DASH over HLS?

JustJoostNL commented 1 month ago

Hey @mat-hek,

We prefer DASH over HLS in our use case because of the following:

mat-hek commented 1 month ago

Interesting. What do you mean by efficient fragmentation? Do you use CMAF or MPEG-TS underneath?

JustJoostNL commented 1 month ago

With efficient fragmentation I mean that DASH allows more efficient use of HTTP/2 and QUIC, leading to potentially lower latency and better performance over new transport protocols.

We use a combination of both CMAF and MPEG-TS, though mostly MPEG-TS currently.

mat-hek commented 1 month ago

Ok, so since we use CMAF for HLS, CMAF over DASH wouldn't be hard (I guess), so we can consider doing that in the foreseeable future. However, especially regarding efficiency, I'd rather lean towards the Media Over QUIC effort, see https://github.com/kixelated/moq-rs. Would that be feasible for you?

JustJoostNL commented 1 month ago

@mat-hek Yes, that seems good. Also, another question: it is not currently possible to use MPEG-TS with HLS in Membrane right?

mat-hek commented 1 month ago

Yes, that seems good

So we plan to research that. Contributions are welcome in this area ;)

it is not currently possible to use MPEG-TS with HLS in Membrane right?

Right. There's a third-party implementation of HLS/MPEG-TS ingest though https://github.com/kim-company/membrane_hls_plugin

JustJoostNL commented 1 month ago

Would love to contribute, though, unfortunately my knowledge isn’t good enough for this.