Resuming from playback, 4K videos takes longer than 5 seconds to render Exoplayer V2.11
@marcbaechinger is already working on this.
Since Oct 2, 2023.
- Dominant language
- Java
- Stars
- 3k
- Forks
- 955
- Avg merge
- 12d 14h
- Merged PRs (30d)
- 2
Description
ExoPlayer Version
2.11.0
Devices that reproduce the issue
Tablet with Android 10
Expected result
Video should render within 1-2 seconds.
Actual result
Video can take up 4-6 seconds to render first frame
Implemented a customized Exoplayer with caching. When the 4k video plays, the cache is downloaded to a directory. An activity is started and ends and the exoplayer resumes. The player loads the 10s chunk from cache and starts playing the video. However, due to the seek position being at the end of the 10s chunk (ie 9.3s), the video takes a long time to feed and drain the buffer till that position to render the first frame.
Are we able to decode/display the video faster for video with high bitrate?
Logs:
09-22 15:40:47.678 D/TestPlayerExoPlayerManager(23153): Initializing new player.
09-22 15:40:47.766 D/EventLogger(23153): positionDiscontinuity [eventTime=0.03, mediaPos=19.76, window=0, SEEK]
09-22 15:40:47.767 D/EventLogger(23153): state [eventTime=0.03, mediaPos=19.76, window=0, true, BUFFERING]
09-22 15:40:47.739 D/EventLogger(23153): state [eventTime=0.00, mediaPos=0.00, window=0, true, IDLE]
09-22 15:40:47.814 D/EventLogger(23153): timeline [eventTime=0.08, mediaPos=19.76, window=0, periodCount=1, windowCount=1, reason=PREPARED
09-22 15:40:47.814 D/EventLogger(23153): period [?]
09-22 15:40:47.814 D/EventLogger(23153): window [?, false, true]
09-22 15:40:47.814 D/EventLogger(23153): ]
09-22 15:40:47.818 D/EventLogger(23153): seekProcessed [eventTime=0.08, mediaPos=19.76, window=0]
09-22 15:40:47.818 D/EventLogger(23153): mediaPeriodCreated [eventTime=0.08, mediaPos=19.76, window=0, period=0]
09-22 15:40:47.818 D/EventLogger(23153): loading [eventTime=0.08, mediaPos=19.76, window=0, period=0, true]
09-22 15:40:47.819 D/EventLogger(23153): decoderEnabled [eventTime=0.08, mediaPos=19.76, window=0, period=0, video]
09-22 15:40:47.819 D/EventLogger(23153): decoderEnabled [eventTime=0.08, mediaPos=19.76, window=0, period=0, audio]
09-22 15:40:47.820 D/EventLogger(23153): tracks [eventTime=0.08, mediaPos=19.76, window=0, period=0,
09-22 15:40:47.820 D/EventLogger(23153): Renderer:0 [
09-22 15:40:47.820 D/EventLogger(23153): Group:0, adaptive_supported=N/A [
09-22 15:40:47.820 D/EventLogger(23153): [X] Track:0, id=0, mimeType=video/hevc, bitrate=12707948, codecs=hev1.2.4.L150.A0, res=3840x2160, fps=23.976025, supported=YES
09-22 15:40:47.820 D/EventLogger(23153): ]
09-22 15:40:47.820 D/EventLogger(23153): ]
09-22 15:40:47.820 D/EventLogger(23153): Renderer:1 [
09-22 15:40:47.820 D/EventLogger(23153): Group:0, adaptive_supported=N/A [
09-22 15:40:47.820 D/EventLogger(23153): [X] Track:0, id=1, mimeType=audio/mp4a-latm, bitrate=130667, codecs=mp4a.40.2, channels=2, sample_rate=44100, language=en, supported=YES
09-22 15:40:47.820 D/EventLogger(23153): ]
09-22 15:40:47.820 D/EventLogger(23153): Group:1, adaptive_supported=N/A [
09-22 15:40:47.820 D/EventLogger(23153): [ ] Track:0, id=2, mimeType=audio/mp4a-latm, bitrate=130651, codecs=mp4a.40.2, channels=2, sample_rate=44100, language=fr, supported=YES
09-22 15:40:47.820 D/EventLogger(23153): ]
09-22 15:40:47.820 D/EventLogger(23153): Group:2, adaptive_supported=N/A [
09-22 15:40:47.820 D/EventLogger(23153): [ ] Track:0, id=3, mimeType=audio/mp4a-latm, bitrate=130649, codecs=mp4a.40.2, channels=2, sample_rate=44100, language=es, supported=YES
09-22 15:40:47.820 D/EventLogger(23153): ]
09-22 15:40:47.820 D/EventLogger(23153): Group:3, adaptive_supported=N/A [
09-22 15:40:47.820 D/EventLogger(23153): [ ] Track:0, id=4, mimeType=audio/mp4a-latm, bitrate=130649, codecs=mp4a.40.2, channels=2, sample_rate=44100, language=ar, supported=YES
09-22 15:40:47.820 D/EventLogger(23153): ]
09-22 15:40:47.820 D/EventLogger(23153): ]
09-22 15:40:47.820 D/EventLogger(23153): ]
09-22 15:40:47.821 D/EventLogger(23153): mediaPeriodReadingStarted [eventTime=0.08, mediaPos=19.76, window=0, period=0]
09-22 15:40:47.821 D/EventLogger(23153): timeline [eventTime=0.08, mediaPos=19.76, window=0, period=0, periodCount=1, windowCount=1, reason=DYNAMIC
09-22 15:40:47.821 D/EventLogger(23153): period [8648.97]
09-22 15:40:47.821 D/EventLogger(23153): window [8648.97, true, false]
09-22 15:40:47.821 D/EventLogger(23153): ]
09-22 15:40:47.828 D/EventLogger(23153): downstreamFormat [eventTime=0.09, mediaPos=19.76, window=0, period=0, id=0, mimeType=video/hevc, bitrate=12707948, codecs=hev1.2.4.L150.A0, res=3840x2160, fps=23.976025]
09-22 15:40:48.190 D/EventLogger(23153): decoderInitialized [eventTime=0.45, mediaPos=19.76, window=0, period=0, video, OMX.qcom.video.decoder.hevc.secure]
09-22 15:40:48.190 D/EventLogger(23153): decoderInputFormat [eventTime=0.45, mediaPos=19.76, window=0, period=0, video, id=0, mimeType=video/hevc, bitrate=12707948, codecs=hev1.2.4.L150.A0, res=3840x2160, fps=23.976025]
09-22 15:40:51.736 D/EventLogger(23153): renderedFirstFrame [eventTime=4.00, mediaPos=19.76, window=0, period=0, Surface(name=null)/@0xbae5576]
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.