python - 关于cv2。如何使 VideoWriter 保存为字节而不是输出文件?
问题描述
我需要在完成编写后立即将视频数据上传到运营支持系统。在这种情况下,不需要另存为输出文件。有什么建议么?
解决方案
不幸的是,OpenCV 不支持这一点。但是你可以使用 RAMDisk 来做你想做的事。
对于 Linux
mkdir /mnt/ramdisk
mount -t tmpfs -o size=512m tmpfs /mnt/ramdisk
然后使用 OpenCV 将视频流保存到 /mnt/ramdisk/ 并从那里读取。它不应该以这种方式保存到磁盘。
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/
如果你想用 python 管理 ramdisk,有一个 pip 模块 memory-tempfile
推荐阅读
- java - 执行集成测试时如何禁用spring cloud zookeeper
- javascript - 我可以仅在 Windows 上加载 css 文件吗?
- typescript - TS 标记字符串作为对象的键
- android - 在这种情况下如何使用 JOIN 和 CASE WHEN 语句(sqlite android)
- java - 将应用程序置于后台时如何防止阴影中的通知图标消失
- javascript - TypeError:data.forEach 不是 javascript 中用于从 api 中获取数据的函数
- amazon-web-services - 在 Terraform 中如何处理错误?
- reactjs - 将道具值从一个类传递到另一个类
- aws-iot - AWS IoT - 事物组的影子更新
- windows - Net::XMPP Perl 模块:Windows 系统上的 ssl 路径错误