python - 如何在OpenCV中将视频写入内存

标签 python python-3.x opencv video video-capture

您可以将视频写入内存吗?我使用Raspberry Pi,但我不想继续写入和删除在SD卡上创建的视频录像机对象(或者这样做可以吗?)。

如果不满足条件,我想每秒丢弃一次书面视频。我使用运动检测器录制的类型,我想捕获被检测到运动之前的时刻(在这种情况下为一秒),因为否则写入的视频会丢失部分发生的事情。我在python环境中使用opencv。

最佳答案

视频文件通常(甚至通常)太大而无法容纳在主存储器中,因此您将不可能仅将整个视频保存在其中。

还值得注意的是,由于OS本身可以管理多个进程,因此可能决定在快速内存,较慢内存,磁盘等之间移动数据,但这在本次讨论中可能并不重要。

这将取决于您的用例,但是典型的视频场景可能是:

  • 从摄像机或源流接收视频帧
  • 对视频帧进行一些处理-例如转码,检测对象,添加文本或图像等
  • 存储或将更新的帧发送到
  • 返回第一步

  • 在这样的流程中,在将帧处理时将其保留在内存中显然具有优势,但是一旦完成,通常再也无济于事,因此可以将其移至磁盘或将其发送到目的地是可以的。

    如果您用例需要像某些编码算法一样处理一组帧,那么将这组帧保留在内存中直到完成处理然后再将它们写入磁盘可能是有意义的。

    我认为,最适合您的答案将取决于您的确切用例,但是无论哪种情况,都不可能甚至不可能将整个视频保存在内存中。

    关于python - 如何在OpenCV中将视频写入内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50559105/

    相关文章:

    python - 从python中的字符串中获取特定的子字符串

    python - OpenCV:对于相同的输入参数,SolvePnP给出不同的结果

    python - SQS : How can I read the sent time of an SQS message using Python's boto library

    Python for 循环一次访问两个元素

    将键与单个字典的公共(public)值合并的 Pythonic 方法

    python - Bokeh 多选小部件回调不起作用

    python - 如何使用python中的函数生成2个字母的单词?

    python - 我可以在 alembic 上使用 .py 文件而不是 .ini 文件吗?

    python - 如何从二值图像中找到最大的白色像素区域

    c++ - 在 xcode for c++ 上安装 openCV