Unity3D IP摄像机
我正在使用Marmitek IP RoboCam 641将视频源导入unity。我使用不断刷新的快照来更新屏幕上的GUI.DrawTexture。然而,我最近从Velleman无线ip彩色摄像头切换到Marmitek。现在,我的快照只刷新一次或两次,然后停止并出现以下错误: UnityException:Recv故障:连接已重置 SEMTEX+c__迭代器0.MoveNext位于Assets/Scripts/SEMTEX.cs:37 这是我的代码:Unity3D IP摄像机,unity3d,ip-camera,Unity3d,Ip Camera,我正在使用Marmitek IP RoboCam 641将视频源导入unity。我使用不断刷新的快照来更新屏幕上的GUI.DrawTexture。然而,我最近从Velleman无线ip彩色摄像头切换到Marmitek。现在,我的快照只刷新一次或两次,然后停止并出现以下错误: UnityException:Recv故障:连接已重置 SEMTEX+c__迭代器0.MoveNext位于Assets/Scripts/SEMTEX.cs:37 这是我的代码: using UnityEngine; usin
using UnityEngine;
using System.Collections;
public class SEMTEX : MonoBehaviour {
//public string uri = "http://192.168.1.101/snapshot.cgi";//velleman
public string uri = "http://192.168.1.30/cgi/jpg/image.cgi";//marmitek
public string username = "admin";
public string password = "admin";
int calc = 0;
Texture2D cam;
Texture2D cam2;
public void Start() {
cam=new Texture2D(1, 1, TextureFormat.RGB24, true);
StartCoroutine(Fetch());
cam2=new Texture2D(1, 1, TextureFormat.RGB24, true);
StartCoroutine(Fetch());
}
public IEnumerator Fetch() {
while(true) {
Debug.Log("fetching... "+Time.realtimeSinceStartup);
WWWForm form = new WWWForm();
form.AddField("dummy", "field"); // required by WWWForm
WWW www = new WWW(uri, form.data, new System.Collections.Generic.Dictionary<string,string>() { // using www.headers is depreciated by some odd reason
{"Authorization", "Basic " + System.Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes(username+":"+password))}
});
yield return www;
if(!string.IsNullOrEmpty(www.error))
throw new UnityException(www.error);
www.LoadImageIntoTexture(cam);
www.LoadImageIntoTexture(cam2);
}
}
public void OnGUI() {
GUI.DrawTexture(new Rect(0,0,Screen.width/2,Screen.height), cam);
calc = (Screen.width/2-100);
GUI.DrawTexture(new Rect(calc,0,Screen.width/2,Screen.height), cam2);
Debug.Log (Screen.width);
}
有人对我的错误有什么看法吗?哦,我的错。这里是:UnityException:Recv失败:连接被重置SEMTEX+c__迭代器0.MoveNext at Assets/Scripts/SEMTEX.cs:37您是否尝试过通过其他方式点击相机?“连接被重置”对我来说意味着摄像头正在断开连接,而不是你的代码有任何问题。我可以使用公司提供的程序通过摄像头查看,效果很好。但我需要在Unity3D中复制一个项目的效果。不知何故,在显示了几帧之后,它停止获取新的快照。