-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exoplayer has higher latency when starting Multicast/UDP videos compared to MediaPlayer #6692
Comments
Just to add to this, I am using Exoplayer to do a similar thing, playing back different multicast streams, that the user can change between with channel up/down. |
The problem here is most likely that we just play what's in the source media, and that in these cases the source media contains several seconds of audio before the first video keyframe. It's not really "wrong" that we do this, and READY is the correct state because we're playing the media. It's not the behaviour you want though. I think the behaviour you want is for the player to discard all audio before the first video keyframe, and start then start from that position (which is tracked by #5024). Does that sound right? |
One other question: Are these streams MPEG-TS? |
Hi, sample streams below, with HD streams this issue is more noticeable,
or:
thnx |
Hi,
It's the somehow that I'm still trying to figure out as I dig through the code. Thanks |
I suspect that solving #5024 would also fix this problem, so closing as a duplicate of that. |
We have been trying to convert a video application from using internal MediaPlayer/Videoplayer to Exoplayer library so we can benefit from its advantages,
we are using exoplayer r2.10.5.
one of the issues we came across during the adaptation, is when playing Multicast/UDP videos,
it has a higher latency (higher zapping time) when you change the video streams on exoplayer, because it keeps static frames for both previous video and new video, so first it freeze the last video frame, keeps it for 1-2 seconds, then shows the first frame of the new video and keeps it for another 1-2 second until it finally starts the video.
for the same setup ( same box, same streams, same network, same apk) just changing to Mediaplayer it has a shorter time, because it only keeps the last frame of previous video and starts immediately with the next video, sot it does not show the first frame and then load/buffer, it starts immediately, most probably the android mediaplayer does the buffering during the first stage when it keeps the last frame from previous video. This behaviour is better in terms of user experience and also is lower latency.
When using exoplayer channel changes happen with two freezed frames (last and first video frames) which is not very good experience. You can only observe this with Multicast Videos, when doing HLS the start times are so fast that you can see that.
we have played with buffertimes by lowering bufferForPlaybackMs to 1000ms, and it improves startuptime of the video but you can still see the first frame as static, then loading/buffering and then it starts..
it would be better to do this loading in the first step while it keeps the last frame video and then start immediately with the second/next video.
The text was updated successfully, but these errors were encountered: