Отображает потоковое видео с IP-камеры - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь отобразить видеопоток с IP-камеры в приложении на Unity3D.Я взял за основу различные примеры из пособий и форумов.Вот код:

public class MainCameraController : MonoBehaviour {
    private Texture2D IpCameraTexture;
    UnityWebRequest VideoRequest;
    private string sourceURL = "http://192.168.100.107/axis-cgi/mjpg/video.cgi";

    void Start() {
        IpCameraTexture = new Texture2D (50, 50, TextureFormat.RGB24, false);
        StartCoroutine(GetFrame());
    }

    public IEnumerator GetFrame() {
        string authorization = "Basic " + System.Convert.ToBase64String(System.Text.Encoding.GetEncoding("ISO-8859-1").GetBytes("admin:admin"));
        VideoRequest = new UnityWebRequest (sourceURL, UnityWebRequest.kHttpVerbGET); VideoRequest.SetRequestHeader("AUTHORIZATION", authorization);
        VideoRequest.downloadHandler = new DownloadHandlerBuffer();
        VideoRequest.Send();
        while (true) {
            yield return null;   if (! string.IsNullOrEmpty(VideoRequest.error))   throw new UnityException(VideoRequest.error);
     if (VideoRequest.downloadHandler.data != null) 
{ 
IpCameraTexture.LoadRawTextureData(VideoRequest.downloadHandler.data);
                IpCameraTexture.Apply();
            }
        }
    }

    public void OnGUI() {
        GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), IpCameraTexture);
    }

    public void Update() {
    }
}

Отображает размытые квадраты на экране вместо видео и отображает ошибку «Нет данных текстуры для LoadRawTextureData».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...