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.27k stars 628 forks source link

Bitmovin Analytics Integration to AMS #4725

Closed umtcylmz closed 11 months ago

USAMAWIZARD commented 1 year ago

Added options for sending the protocol which is used to play the stream and the customer id through which one can identify the behavior of individual user

mekya commented 1 year ago

Please write the features which you're checking @USAMAWIZARD

USAMAWIZARD commented 1 year ago

I reached out to various people in the team personally and asked for there suggestions on what stats to add

This is their reply and I have added the status of the requested stats

I am marking the feature which can not be updated dynamically as ( No dynamic Dashboard Update )

Alper KIZILTOPRAK

Inbound - Ingest must have

stream name / start / end time / duration DONE ( No dynamic Dashboard Update ) video codec audio codec video size (width and height) DONE ( No dynamic Dashboard Update ) FPS Nice to have total bitrate (bits per second) DONE ONLY FOR WEBRTC ( No dynamic Dashboard Update ) video bitrate (bits per second) DONE ONLY FOR WEBRTC ( No dynamic Dashboard Update ) audio bitrate (bits per second) DONE FOR WEBRTC ( No dynamic Dashboard Update )

Outbound - Egress

Total Viewers DONE Protocol Usage DONE
viewers / start / end time / duration : DONE ( No dynamic Dashboard Update for Duration and end time ) video codec audio codec video size (width and height) DONE ( No dynamic Dashboard Update ) FPS total bitrate (bits per second) DONE ONLY FOR WEBRTC ( No dynamic Dashboard Update ) video bitrate (bits per second) DONE ONLY FOR WEBRTC ( No dynamic Dashboard Update ) audio bitrate (bits per second) DONE ONLY FOR WEBRTC ( No dynamic Dashboard Update ) Protocol : DONE Browser : DONE Device : DONE Player : DONE

Umut Can Yılmaz

Country info that viewers attend from : DONE Which part of the stream, viewer left the stream MIGHT NOT BE insightful Total number of unique participants : DONE Gender info may be NOT POSSIBLE TECHNICALLY What kind of device do they use : DONE Wifi or cellular ? MAY NOT BE POSSIBLE TECHNICALLY

Yash Tandon

Incoming stream video and audio bit rates (In any of the stream like RTMP, WEBRTC, SRT etc) Not feasible Bitmovin is on web client Number of live viewers on a particular stream and historical data as well DONE client side stats like IP DONE how much bit rate client is getting DONE ( No dynamic Dashboard Update ) up to how much time one client watched the particular stream DONE ( No dynamic Dashboard Update ) Total viewers count like WebRTC viewers, HLS viewers, dash viewers DONE

problems

The data such as bit-rate Time duration watched video height width needs etc to by dynamic like it will change during a single session. so I am constantly changing the data and updating the the stats to bitmovin. The data is getting updated on there backend by calling a REST API and I can see every entry of the update from first update to last update during session.The problem is these update does not show up on there dashboard. only first updated values are shown on the dashboard further updated values does not show up on there dashboard but can be retrieved using a REST API.

Reached out to bitmovin support team regarding this problem

There reply :

So, in short, it's not possible to view those changing values on Dashboard as long as they happen within the same session/impression ID. For this, you'll need to fetch the info either via the collector payload on client side, or via API, as explained above.

If we still want to have dynamic updates We will have to create a analytics Dashboard by ourself using their REST api to get the data and do all the data graph plotting IT may not be worth it for going this route

If we want to go without dynamic updates then we will miss all the major statistics that we need for that

USAMAWIZARD commented 1 year ago

I have updated the comment here

USAMAWIZARD commented 1 year ago
Features HLS WEBRTC Dash DYNAMIC UPDATE
stream name
start time
end time
Duration watched
video size
FPS
Audio Bitrate
Video Bitrate
Total Viewers
Protocol
video codec
audio codec
Browser
Device
Player
Country
unique participants
User using Wifi or cellular
historical data
Number of viewers on a particular stream
IP
pageLoadTime
Screen Size
Operating System
umtcylmz commented 1 year ago

Hi Usama, thanks a lot for your effort!

USAMAWIZARD commented 1 year ago

Blog post : https://antmedia.io/?p=74786&preview=true will also make a demo video and add it in the blog post