# How can you play MPEG-2 Transport Stream (.ts) video files in a WebGL Unity build?

I'm trying to play an HLS live-stream within my Unity app.

I could write a script for fetching the short .ts video segments and enqueuing them, but I don't know how I can actually play them inside Unity: its built-in video player doesn't support .ts files, and going by their descriptions, the plug-ins I was able to find on the Asset Store that can play them only do so on native, not web, builds. I'd be happy to be proven wrong on this, though.

I considered simply displaying the video in an HTML player and somehow projecting it onto the surface. Whether or not HTML/CSS allows that kind of fine manipulation of the video player is up in the air.

Alternatively, I could try converting the videos to a playable format on the fly. That might work if it's not too slow — it'd just add a few seconds of latency to the live-stream — but the question is how I'm going to do that from a WebGL build. Could I package something like ffmpeg with the build?

Or maybe I can write my own player. The problem is, I don't even know where to start. Most of my searches have turned up only very low-level descriptions of the MPEG-2 Transport Stream protocol and nothing on how to actually play them.