Androidアプリ用のビデオフィルターを作成しているので、TextureView
ビデオを再生してその上でフィルター処理するために使用していSurfaceTexture
ます。しかし、ビデオの FPS は常にオリジナル (30fps) よりも低くなります。
Galaxy S3で確認したところ、onSurfaceTextureUpdated()
フィルターの有無にかかわらず、1秒間に5~8回しか入力できませんでした。しかし、Samsung Galaxy J などのより強力なデバイスでは、1 秒あたり 10 ~ 13 回に増加する可能性があります。
このビデオは SD カードから読み込まれることに注意してください。
誰かが理由を知っていますか?
mVideoPlayer.reset();
mVideoPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mVideoPlayer.setDataSource(mVideoPath);
mVideoPlayer.setSurface(new Surface(surfaceTexture));
mVideoPlayer.setLooping(true); mVideoPlayer.prepareAsync();
mVideoPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {mp.start(); }
});