membraneframework / membrane_core

The core of the Membrane Framework, multimedia processing framework written in Elixir
https://membrane.stream
Apache License 2.0
1.32k stars 39 forks source link

Add support for DASH output #807

Open JustJoostNL opened 6 months ago

JustJoostNL commented 6 months ago

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

Thanks.

mat-hek commented 6 months 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 6 months ago

Hey @mat-hek,

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

mat-hek commented 6 months ago

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

JustJoostNL commented 6 months 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 6 months 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 6 months 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 6 months 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 6 months ago

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