MediaPlayer / VideoView – поток из URL-адреса, а затем сохранение видео после кэширования?

Я хочу передать потоковое оптимизированное видео из URL (HTTP), чтобы свести к минимуму задержку до начала воспроизведения, а затем сохранить его в кеше для последующих воспроизведений. Кажется, я не могу это сделать, поскольку MediaPlayer / VideoView не предлагает какой-либо способ получить дескриптор видео, которое я могу использовать, чтобы записать его в файл.

Кажется сумасшедшим, что мне нужно будет сначала передать его, а затем загрузить его во второй раз, чтобы иметь возможность кэшировать его, или же потерять потоковое вещание и просто загрузить все это в первую очередь. У меня все в памяти, но API Android не дает мне доступа к нему.

Другие спрашивали об этом некоторое время назад, но ответов было мало. Кто-нибудь имеет окончательный ответ на это?