Using GeckoView for streaming ingest to Unity - xrchisense/xrevent-broadcaster-unity GitHub Wiki

Contents

...

Abstract

...

Background

To display the live video stream XRevent Broadcaster uses the GeckoView browser API. Ian Philips created an early example of an Unity implementation publised at [1], we used. From a technical view the GeckoView browser uses internally googles ExoPlayer2 API, which is the media player also used by AVpro a professional streaming solution for Unity.
Currently it seems Mozilla jumped onto a another, from scratch, browser engine development called Servo browser engine, which is a 64-bit only development. In future the XRevent Broadcaster may follow that route.

Alternative Solutions

GStreamer Bind
Unity WebRTC (https://docs.unity3d.com/Packages/[email protected]/manual/requirements.html)
Android/ Unity WebView

Oculus, Oculus2 Technology Stack

Diagram of the technology stack for the GeckoDemo

The diagram above roughly shows the technology stack available on Oculus 2 devices.

JVM Layer

ExoPlayer2 API
ExoPlayer API
Android Media Player API

C/C++ Layer

FFmpeg Bind

GeckoView Architecture

GeckoView Architecture

Getting the image from GeckoView to Unity

android.view.Surface > FBO > OES

Image of the Texture Pipeline

⚠️ **GitHub.com Fallback** ⚠️