ant-media / Ant-Media-Server

Ant Media Server is a live streaming engine software that provides adaptive, ultra low latency streaming by using WebRTC technology with ~0.5 seconds latency. Ant Media Server is auto-scalable and it can run on-premise or on-cloud.
https://antmedia.io
Other
4.3k stars 636 forks source link

With adaptive streaming set up, using an asynchronous filter is not creating one m3u8 file for the output stream #4834

Open fabiox23 opened 1 year ago

fabiox23 commented 1 year ago

Short description

When applying an asynchronous filter to an input stream and adaptive streaming is set up, output adaptive streams are being created but one m3u8 file listed in the "adaptive" m3u8 playlist file is not created. See attached screenshot for the explanation below.

So, for instance, I have an input stream called "coachye_fbc_mevo25n2d" and an output stream called "coachye_fbc_mevo25n2d-T". The adaptive "coachye_fbc_mevo25n2d_adaptive.m3u8" file for the input stream has "coachye_fbc_mevo25n2d.m3u8" and "coachye_fbc_mevo25n2d_720p1500kbps.m3u8". The adaptive "coachye_fbc_mevo25n2d-T_adaptive.m3u8" file for the output stream has also the corresponding two files but the "coachye_fbc_mevo25n2d-T.m3u8" file is not created. It is possible the corresponding ts files are not created either.

Environment

Expected behavior

The "coachye_fbc_mevo25n2d-T.m3u8" playlist file and corresponding ts files to be created.

Actual behavior

Put as much detail here as possible The "coachye_fbc_mevo25n2d-T.m3u8" playlist file and corresponding ts files are not created.

issue4

Mohit-3196 commented 1 year ago

Hi @fabiox23 , I think these are expected behavior for this issue and #4835 Let's say we have set up a 720p adaptive setting on the application and there is an input stream having streamId stream1 and a filter is applied to that with output streamId test, there will be a test_720p...mp4, test_720p...m3u8 and test_adaptive.m3u8 file for that in recordings (if we have enabled both MP4 and HLS). There won't be a test.m3u8 or test.mp4 file for it because the filter is getting applied to stream1 which is resulting in the webrtc stream test. And for a WebRTC stream when ABR is enabled, it generates recordings for the adaptive settings.

If it had been an rtmp stream or so, there would be a test.m3u8 and a test.mp4 file in addition to the adaptive files.

I hope I was able to explain the case.

Thank you.

fabiox23 commented 1 year ago

Hi @Mohit-3196,

thanks for the reply. With the current behaviour, the file "test_adaptive.m3u8" has an entry (test.m3u8) that doesn't exist in the folder. That, in itself, appears to be a small bug to me.

I would also expect to be able to play (and record) the output stream at the same resolution/fps/bitrate of the input stream.

Thanks Fabio

Mohit-3196 commented 1 year ago

Hi @fabiox23 , OK, I will discuss with the developer about these requirements and also if this is expected behavior and update you.

Thank you