October 25, 2024
Chicago 12, Melborne City, USA
Android

java.lang.IllegalStateException: No frames from retriever but frame-count > 0


Im trying to process a video using Android’s MediaMetadataRetriever.

The output URI that is passed look like this:

file:/data/user/0/dk.camapp.app/cache/VID1749334064186617241.mp4

and checking the MetaData…

val retriever = MediaMetadataRetriever()
retriever.setDataSource(context, videoUri)

retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_FRAME_COUNT)
 > 284 // frames exist !

METADATA_KEY_DURATION = 9547
METADATA_KEY_MIMETYPE = video/mp4
METADATA_KEY_HAS_VIDEO = true
METADATA_KEY_VIDEO_WIDTH = 4032
METADATA_KEY_VIDEO_HEIGHT = 3024
METADATA_KEY_BITRATE = 10171402
METADATA_KEY_VIDEO_CODEC_MIME_TYPE = video/avc

but when I try to access a frame:

retriever.getFrameAtIndex(0)

The video is empty??

java.lang.IllegalStateException: No frames from retriever
01:00:06.512  W     at dk.camapp.core.domain.VideoProcessor.processVideo3(VideoProcessor.kt:128)
01:00:06.512  W     at dk.camapp.core.CACamera.processVideo(CACamera.kt:46)
01:00:06.512  W     at dk.camapp.core.CACamera.processVideo$default(CACamera.kt:41)



You need to sign in to view this answers

Leave feedback about this

  • Quality
  • Price
  • Service

PROS

+
Add Field

CONS

+
Add Field
Choose Image
Choose Video