Media Encoder
Looking Glass Media Encoder uses WebCodecs and WebGPU to deliver fast media encoding straight from your web browser!
Last updated
Was this helpful?
Looking Glass Media Encoder uses WebCodecs and WebGPU to deliver fast media encoding straight from your web browser!
Last updated
Was this helpful?
Looking Glass Media Encoder is a web based application that leverages WebCodecs and WebGPU to render hardware-accelerated image and video content on your Looking Glass display.
Looking Glass Media Encoder is currently experimental, this means you could run into bugs or strange performance. If you do, please let us know!
Looking Glass Media Encoder currently supports Looking Glass Go and Looking Glass Portrait devices.
Playback support for the Looking Glass 16" and 32" Spatial Displays will be added in the future.
To use Looking Glass Media Encoder you'll need the latest version of Google Chrome. This will allow you to leverage WebGPU as well as WebCodecs' H265 encoding, which is necessary in order to encode content for the Looking Glass Portrait and Looking Glass Go.
You'll also need your Looking Glass connected in desktop mode. If you haven't setup desktop mode before we have guides for Looking Glass Go and Looking Glass Portrait.
In the current alpha release Media Encoder does not have any persistent state, this means that changes you make will not be saved across page refreshes.
To start, import a hologram! Media Encoder currently supports PNG, JPEG, MP4 and WebM files in the following hologram types:
RGBD
QUILT
In order to import a hologram you'll need to have Looking Glass Bridge running, along with your display connected in desktop mode. The first time you import a hologram you'll be prompted to allow Chrome to manage windows on your displays. Choose "Allow" to enable Chrome to open a window on your Looking Glass.
Once open, you can double click the new window to enter fullscreen mode.
Once your video is imported and playing, you can adjust some settings. These will vary based on the kind of hologram you're importing. Currently the following settings are supported.
Columns / Rows
Aspect
Zoom
Depth
Focus
On Windows computers, particularly on laptops with integrated and dedicated GPUs you will need to set Chrome to use your dedicated GPU. Otherwise you may run into performance issues. Media Encoder requires that everything is processed on a single GPU and not copied between the CPU/GPU or integrated/dedicated GPU.
Changes were recently made in Windows release 24h2 to improve this process, Windows versions prior to 24h2 may have trouble forcing Chrome to use the computer's dedicated GPU, which will result in slow performance.
You may find that certain videos aren't performing well. This can be resolved by re-encoding the video to a format your computer can better handle. There are a variety of offline video conversion tools including handBrake and if you're comfortable with command line tools, FFmpeg.
While specific settings will vary based on the hardware decoders available on your computer, a general rule of thumb is that if the video is 4K or higher resolution, it should be using the H265 (HEVC) or VP9 codecs. For GPU based hardware acceleration we generally recommend using H265 (HEVC).
MacOS lacks hardware acceleration support for VP8 and VP9 video files. You should use H264 or H265 on MacOS systems.
If you're unsure what your GPU supports, you can check the following resources:
To encode an image or video, select the video you want to encode, then click the download button. This will start an encoding process which will be reflected by the progress bar.
Generally this will take the same amount of time as the video, but in some cases can be faster or longer depending on the video's resolution and speed of hardware resources.
Once complete, an export hologram button will appear. This will give you the option to save your hologram to your preferred destination.
The Looking Glass Go uses a file transfer system called Media Transfer Protocol (MTP). This is the same protocol used by most media players, and prevents the device from simultaneously editing content that a connected computer is also editing. MTP makes accessing the Go's storage a bit different than a normal USB drive.
If your Looking Glass Go is already connected to wifi and has a playlist synced to it from Blocks, it will prefer that playlist over any manual modifications to the display's playlist. To manually control which content is on the display you'll need to clear the playlist from the Go by using the Blocks website.
On Blocks, Go to the library page then click the ... menu on your Go and choose Clear playlist.
Windows provides built in MTP support. To access your Go's storage open File Explorer, go to My PC and then choose Looking Glass Go.
On some versions of Windows you may need to double click "My PC" to get the Go's MTP drive to show up. Be sure to choose the Looking Glass Go drive, and not the smaller USB based drive.
The Looking Glass Go's MediaPlayer uses the device's GPU for video playback. While this is functional, it can cause a delay when the media keys are used to advance through to the next clip or content. We're currently looking into improvements in this area.
That's really up to the other browsers. Media Encoder uses very specific Web APIs that aren't fully available yet in Firefox or Safari. Firefox has stated they are unlikely to support H265 encoding, which means that encoding files in Firefox will likely not be available for the near future. Safari's latest Tech Preview does allow WebGPU and WebCodecs which is exciting but it also lacks some other nice APIs like the screen placement API.
If you have a Windows computer with multiple GPUs, you'll need to set Chrome to use your dedicated GPU. We recommend using Windows 24H2 for the best performance. You can change the GPU preference by navigating to the Settings app, choosing Display then choosing Graphics. From there, click Add desktop app and navigate to the install directory for Google Chrome. Usually this will be located here: C:\Program Files\Google\Chrome\Application
Once you have OpenMTP installed and running you should see your Go's storage drive appear like so:
Media Encoder requires the latest version of Google Chrome.