自己有一个带摄像头的设备,通过wifi使摄像头和电脑在同一个局域网里面,从而能连接。运用上述代码可以使unity通过链接到ip地址获取到网络摄像头拍摄到的画面,基本原理是快速刷帧,使图片形成视频。注意格式选择RGB-24,因为是不停的获取图片,所以不能选太高格式,这样占用内存会小一些。uri=http://192.168.1.1:8080/?action=snapshot是快照,连上局域网后在浏览器中也可以打开。uri=http://192.168.1.1:8080/?action=stream,可以播放视频。
using UnityEngine;
using System.Collections;public class HttpWebcam : MonoBehaviour {
public string uri;
Texture2D cam;
public void Start() {
cam=new Texture2D(1, 1, TextureFormat.RGB24, false);
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); <