ijkplayer с использованием Android MediaCodec и SurfaceTexture имеет низкую производительность с видео 60fps
Мы используем:
Sumsung S7
ijkplayer 0.84
mediacodec
surfaceTexture
чтобы воспроизвести это видео 60fps ( https://pan.baidu.com/s/1slFlDb3), используя ijkplayer's
официальная демоверсия.
Производительность не очень хорошая с потерей большого количества кадров при использовании разрешения mediacodec
&_enable textureview (используя surfacetexture
).
Но vfps
& dfps
(DECODE_FRAMES_PER_SECOND
& OUTPUT_FRAMES_PER_SECOND
) видит почти 60 так же, как использование enable mediacodec
& включить Surfaceview (используя Surfaceview
), которые воспроизводят видео очень гладко, может кто-нибудь сказать мне, что surfaceTexture
сделано, чтобы сделать такое отставание, или я должен установить некоторые настройки ijkplayer?
Оба метода (surfaceview
а также surfacetexture
) использовать же ijkmdeiaplayer
конфиги ijkplayer:
{
IjkMediaPlayer player = new IjkMediaPlayer();
player.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "mediacodec-all-videos", 1L);
player.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "opensles", 0L);
player.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "overlay-format", IjkMediaPlayer.SDL_FCC_RV32);
player.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "framedrop", 5L);
playercalIjkMediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "start-on-prepared", 0L);
player.setOption(IjkMediaPlayer.OPT_CATEGORY_FORMAT, "http-detect-range-support", 0L);
player.setOption(IjkMediaPlayer.OPT_CATEGORY_CODEC, "skip_loop_filter", 48L);
player.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "subtitle", 1L);
player.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "enable-accurate-seek", 1L);
player.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "sync", "video");
player.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "android_version", android.os.Build.VERSION.SDK_INT);
}
```
есть идея объяснить это явление?