ExoPlayer를 사용하여 장치의 SD 카드에서 미디어 파일 (mp4s .h264 인코딩)을 재생하고 있습니다. 일부 파일은 DES 암호화됩니다. 파일을 해독하여 inputStream을 얻을 수는 있지만 ExoPlayer를 사용하여이 inputStream을 재생하는 방법을 알 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.ExoPlayer를 사용하여 DES 암호화 된 파일을 재생하는 방법
protected void playVideo(File file) {
InputStream is;
if (file.getName().endsWith(".DES")) {
is = FileManager.decryptFile(file);
//what to do with this input stream?
}
Uri uri = Uri.parse(file.getAbsolutePath());
if (mPlayer != null) {
mPlayer.release();
}
mPlayer = new VideoPlayer(getRendererBuilder(uri));
mPlayer.addListener(this);
if (mLastPosition > 0) {
mPlayer.seekTo(mLastPosition);
}
mPlayer.prepare();
mPlayer.setSurface(mSurface);
mPlayer.setPlayWhenReady(true);
}
InputStream은 ExoPlayer에서 실제로 재생할 임시 파일에 기록해야합니다. 나는 똑같은 것을 시도하고 있지만, 문제는 파일을 decrypt하는데 많은 시간이 걸린다는 것이다. InputStream 자체를 Exo로 전달하는 솔루션을 찾았습니까? –
나는 이것에 대한 해결책을 찾지 못했다. 우리는 encfs를 사용하여 마운트/마운트 해제 할 때 전체 SD 카드에 암호화를 구현했습니다. 나는 이것이 더 나은 해결책의 일부라고 믿기 때문에 여전히 이것을 파악하고 싶지만 더 깊이 파고 들어야 할 시간이 없다. –