Situation
My team is uses AVPlayer to play live audio on iPhones. We would like to better understanding why a user experiences buffering.
What we are currently doing:
We are currently monitor the following AVPlayer attributes:
What we have noticed:
- Buffering reason - is always
toMinimizeStallsdue to the fact that the buffer is empty. - Indicated bitrate - reports the BANDWITH from the manifest url as expected.
- Observed Bitrate - Values reported here can be lower than the indicated bitrate yet still stream without encountering any buffers. I would expect values under indicated bitrate to encounter buffers as described here here on the apple developer website
- Error Log Events - Occasionally the error log will report an error code and message however around 60% of the time we don’t have any details from here that indicates why the user is experiencing buffering. When we do experience error codes there doesn't appear to be any map showing what the error code means.
Questions:
- Is there a way to get signal strength from an iPhone (weak signal would give us some reasoning for buffering)
- What is the recommended approach for getting reasons for buffering? (How to distinguish between a server side issue and a client side issue)
- Are there AVPlayer settings we can manipulate to reduce buffering?