Unity WebCamTexture视频在低光条件下滞后

时间:2017-06-10 07:59:21

标签: c# unity3d video webcam exposure

我已经制作了一个简单的视频流应用程序。我通过Unity的WebCamTexture类使用设备网络摄像头。我在画布上有一个RawImage,我在其上呈现WebCam实时源,如下所示:

public RawImage image;                 
private WebCamTexture liveRec;


void Start () {

    WebCamDevice[] camDevices = WebCamTexture.devices;
    liveRec = new WebCamTexture(camDevices[camDevices.Length - 1].name);
    liveRec.requestedHeight = 1;                
    liveRec.requestedWidth = 1;              // lowest quality
    liveRec.filterMode = FilterMode.Trilinear;
    liveRec.Play();
    image.texture = liveRec;

              }

一切都运行得很好,视频运行流畅,但只有在良好的光线条件下。当我的房间变暗(光线条件较差)时,视频变得非常迟钝(似乎大约是25fps)。我认为这是一个问题我的应用程序,但是当我通过Windows控制面板访问WebCam时,它也落后了但是后来我看到了一个选项" ExposureCompensation"我不知道它是什么,但是当我放下它时,视频变得更暗但又平滑(见图)enter image description here。现在我在申请中如何处理这个问题,如何访问和降低此参数(C#)。

我做过的事:

  
    

我已经在我的rawimage上使用了每个着色器,虽然有些似乎使纹理变暗但是滞后仍然存在

         

我使用过NatCam,但它并没有在windows中提供全部功能(回归统一" Webcamtexture")

         

已经阅读了其他使用DirectShow api的问题,这对我来说似乎非常难以理解,并且不知道它是否能与团结一致

  

请帮助我,我将非常感激! (并视我为学生而不是专业人士)

编辑:这不是WebCam特定问题,我已经在2台笔记本电脑上使用自己的集成摄像头测试了相同的应用程序,在低照明条件下仍存在延迟。

0 个答案:

没有答案