Вот пример, который довольно близок к моему реальному сценарию использования:
import skvideo.io
from smart_open import smart_open
with smart_open("s3://{}/{}".format("my_bucket", resource_key)) as f:
magic = NamedInMemoryTempFile(f, "video.vp8") # is there sth like that?
print(magic) # probably sth. like "/python/fakepath/video.vp8"
frames = skvideo.io.vread(magic) # some lib that expects a filename :/ ...
do_something_with(frames)
- Я использую smart_open для непосредственного чтения файла из AWS S3 в память
- Я хотел быиспользовать skvideo для декодирования видеофайла в 4-мерный массив NumPy.Но skvideo не предоставляет интерфейс для передачи видео напрямую в виде буфера, а только как имя файла
Так что я ищу способ сохранить содержимое в памяти и избежать записи на диск для повышения производительности.причины.