AirenSoft / OvenMediaEngine

OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition. #WebRTC #LLHLS
https://airensoft.com/ome.html
GNU Affero General Public License v3.0
2.61k stars 1.06k forks source link

SRT Push Publisher - All streams interrupted if one stream has error #1301

Closed bchah closed 1 year ago

bchah commented 1 year ago

Describe the bug If the connection fails or drops for one SRT push, all other SRT push streams are interrupted.

To Reproduce Start one SRT push, then once it is playing start another SRT push to a bad destination or a server that will return an error. You will see the original push get interrupted.

Expected behavior The other pushes should not be interrupted.

Logs log.txt

Server (please complete the following information):

Additional context For my testing which you will see in the logs, this is the order of operations I performed:

The third push did not connect, because the AliExpress decoder is πŸ’©. Once the error began, all SRT push streams experienced playback issues or stopped entirely while OME repeatedly tried to disconnect and reconnect.

After some time I disconnected the problem stream and after a few seconds, the other pushes recovered.

@choigilhoon I hope the logs provide some clues - this is an excellent feature you have added and we are so close to having it stable for playout. Amazing work so far! πŸ‘

Keukhan commented 1 year ago

@bchah

Thanks for the great reporting. As you said, when a specific connection fails, other push sessions are blocked. I've fixed this problem, hope you test it on the master branch. we are also testing. It will be released when it is stable. https://github.com/AirenSoft/OvenMediaEngine/compare/ea099446bb8d...12840f2c5d12

It's been a while. How have you been?

bchah commented 1 year ago

Hi @Keukhan! I am streaming well and drinking lots of water ("LIFE") as usual πŸ‘

You have done a superb job fixing this issue! The push streams are no longer dropping.

However I think there are still some issues with the API responses. I will gather more evidence but it seems as if the other pushes are still reporting that they stopped via the API, when there is an error with one push. Maybe that's enough of a clue to find the issue but I will work on getting a better example for you!

Keukhan commented 1 year ago

If you explain the API response issue in detail, I will improve it. πŸ‘