О cv2. Как я могу заставить VideoWriter сохранять как байты вместо выходного файла? - PullRequest
0 голосов
/ 17 января 2020

Мне нужно загрузить видеоданные в систему поддержки операций сразу после завершения записи. Сохранение в качестве выходного файла в этом случае не требуется. Есть предложения?

1 Ответ

0 голосов
/ 17 января 2020

OpenCV не поддерживает это, к сожалению. Но вы можете использовать RAMDisk, чтобы делать то, что вы хотите.

Для Linux

mkdir /mnt/ramdisk
mount -t tmpfs -o size=512m tmpfs /mnt/ramdisk

Затем сохраните ваш видеопоток в / mnt / ramdisk / с OpenCV и читайте оттуда. Это не должно сохранять на диск таким способом.

video_file = '/mnt/ramdisk/video.mp4'
out = cv2.VideoWriter(video_file,cv2.VideoWriter_fourcc('M','J','P','G'), 10, (frame_width,frame_height))
with open(video_file,'r') as f:
    #do stuff here

Когда вы закончите:

umount /tmp/ramdisk/

Существует память-временный файл модуля pip, если вы хотите управлять виртуальным диском с помощью python

...