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.29k stars 636 forks source link

Stream Fetcher Failed Webhook #6615

Open lastpeony opened 2 months ago

lastpeony commented 2 months ago

The stream fetcher should trigger a webhook if it fails to connect to an RTSP camera after a specified number of attempts.

Example Scenario: Consider a situation where a user's camera only supports TCP. The default RTSP pull type on AMS is set to UDP/TCP, which may not always work, requiring TCP-only mode to fetch the stream.

Here's how it works:

The stream fetcher attempts to connect to the camera stream five times. If all attempts fail, it triggers a STREAM_FETCHER_FAILED webhook, including details such as streamId, the RTSP pull type, and the failure reason. The user's application server receives the webhook, examines the failure reason, and then sends a broadcast update request to AMS to change the RTSP pull type to TCP-only. After receiving a successful response from the update call, the server sends a startBroadcast request to AMS. The stream fetcher then attempts to fetch the stream again with the newly updated TCP pull type and succeeds.

related: https://github.com/ant-media/Ant-Media-Server/issues/6476