I'm currently working on a video player on Android. The video player should support 8 bit content and 10 bit content. Because the flow in the app is different, I need to know before playing the video if the content is 10-bit BT2020. I've tried MediaMetadataRetriever
but there is no information about the bit depth, color space, color primaries, transfer characteristics etc. Also, I got the same result using this project: https://github.com/wseemann/FFmpegMediaMetadataRetriever.
Is there a way to get some more information about the color space or bit depth in Android? Something similar to MediaInfo tool. https://mediaarea.net/en/MediaInfo
After some time I found out that I can use
MediaExtractor
then get the information that I needed from aMediaFormat
object created withextractor.getTrackFormat(trackIndex)
. For HDR10 I check the color standard and the transfer function.