c# - 网络摄像头:打开和关闭或或保持打开

标签 c# winforms webcam

你好,

我不确定是否应该将其发布在软件或硬件堆栈上;如果这是一个无效的问题,我提前道歉。

我写了一个小应用程序,我用它来制作延时视频 - 目前它只能使用网络摄像头拍摄照片。我知道已经有一些可供下载,但没有一个能 100% 满足我的要求,而且其中一些还有一些小问题,所以我决定自己创建一个。

拍摄照片的间隔可以配置为 5 秒以上。版本 1.x 将激活相机并在“延时模式”下保持开启状态,并以指定的时间间隔将图像保存到光盘。事实证明,这种方法非常占用内存 - 回想起来是可以理解的。

我决定从头开始 - 版本 2.x。这个版本会让相机保持关闭状态,只有在需要拍照时才会打开,然后再关闭。这种方法被证明更加有效。 5 秒间隔的最小限制的原因是因为相机需要大约 1 秒的时间才能打开,然后大约需要相同的时间才能关闭。也许将来我可以更改它以在 interval < 5 时保持相机开启。 .然而,就目前而言,对于我真正想要使用它的情况,这将是完美的。

在我小的时候,我们小时候就被告知开关白炽灯泡对灯泡不好 - 据我的一位在该领域可靠的同事说,这是真的。

这让我开始思考。如果我以 10 秒的间隔打开和关闭网络摄像头,比方说,一两天,是否会对我的网络摄像头有害?与让设备开机几天相比,打开和关闭又如何呢?我不明白在硬件层面上会发生什么,所以我不能说。

我想我有几个选择:

  • 根据需要打开和关闭应用程序以拍照。这可能导致摄像头每天被切换数千次。
  • 让相机保持开启状态。这可能意味着相机可能会在很长一段时间内处于事件状态。如果我想制作一个超过一个月的延时视频怎么办?甚至一年?更不用说内存问题了。
  • 在两种模式之间切换。当interval < 2 minutes ? keep on : switch .这似乎是两全其美,但现在我在 interval < 2 minutes 时遇到了内存问题。

提前感谢您的任何和所有意见和建议 - 非常感谢。

亲切的问候, 我。

最佳答案

如果我以 10 秒的间隔打开和关闭网络摄像头,比方说,一两天,是否会对我的网络摄像头有害? 打开和关闭相机不会影响它的使用生命周期。

长期保持它怎么样? 嗯,这真的取决于相机,但对于像网络摄像头这样低功率的东西,你应该能够在它开始出现故障之前运行很多年。

不确定您是如何从相机获取帧的,但它不应该占用大量内存。使用AForge.NET您可以非常简单地从相机中抓取帧。 Tutorial如果您可以发布您的代码,我可以更好地了解如何为您指明优化它的方向。

关于c# - 网络摄像头:打开和关闭或或保持打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11096294/

相关文章:

c# - 移植 "SQL"导出到 T-SQL

c# - 使用 Winforms 中运行的后台线程更新 UI 中的控件

C# 应用程序无明显原因退出

opencv - cvCreateCameraCapture不起作用

c# - 3d with gdi - 投影算法

c# - 代码清理使 visual studio 将 usings 放入命名空间

c# - 捕获 USB 插拔事件 System.InvalidCastException

python - 高分辨率下的CvtColor错误

flash - 使用 flash 录制视频并将视频文件发送到服务器

c# - 什么是 XPS 文件及其使用方式