从IP摄像机源捕获和显示视频(Unity3d + c#)

时间:2016-03-07 00:23:48

标签: c# video unity3d ip-camera mjpeg

需要你的帮助。 我正在制作简单的应用程序(我也是Unity3d的新手),它从IP摄像机获取视频并将其显示在Texture2D上。 视频格式是MJPG。 对于简单的jpg图像,下面的代码工作正常,但是当我尝试显示MJPG时,我只是得到灰色屏幕。

我在代码中犯了错误吗?

public class testVid : MonoBehaviour {

    //public string uri = "http://24.172.4.142/mjpg/video.mjpg"; //url for example
    public Texture2D cam;
    public void Start() {
        cam = new Texture2D(1, 1, TextureFormat.RGB24, false);
        StartCoroutine(Fetch());
    }

    public IEnumerator Fetch() {
        while(true) {
            Debug.Log("loading... " + Time.realtimeSinceStartup);
            WWWForm form = new WWWForm();
            WWW www = new WWW("http://24.172.4.142/mjpg/video.mjpg");
            yield return www;
            if(!string.IsNullOrEmpty(www.error))
                throw new UnityException(www.error);
            www.LoadImageIntoTexture(cam);
        }
    }
    public void OnGUI() {
        GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), cam);
    }
}

1 个答案:

答案 0 :(得分:0)

我使用了这个插件https://www.assetstore.unity3d.com/en/#!/content/15580

  • 将脚本添加到游戏对象
  • 在脚本中设置视频的网址
  • 创建Unlit 2D的新材料
  • 将此材料添加到检查器中的影片脚本
  • 然后将相同的材料分配给您的游戏对象 想要显示视频(例如四边形)

希望有所帮助

相关问题