3
votes

Streaming over UDP, I have an MPEG Transport Stream containing either:

  • MPEG-2 Video and MPEG-1 Audio, or
  • H.264 Video and MPEG-1 Audio, or
  • H.264 Video and AC3 Audio, or
  • H.264 Video and AAC Audio

With NPAPI support gone in Chrome & Firefox, I can no longer use the handy VLC plugin to natively play everything above. Looking for a solution.

<video> doesn't support transport stream but I found I could receive TS via the Media Source Extensions by using something like hls.js.

The only problem is that it is limited to the codec support built into the browser and it seems that no browsers support MPEG-2 video decoding.

I'd like to avoid inserting a transcoder in-between the stream source and the browser. That would introduce both complexity and latency...

Is there any solution based on either <video> or via a PPAPI plugin which provides the MPEG-2 video decoding?

Thanks

1
Hi Danny! Im facing the same problem. Did you managed to achieve it?José Salgado
Hi José. Sadly, I found no direct solution. In Feb '19 I spoke directly to the VLC developer, they have a new plugin based on the "NaCl" browser API. You have to manually install in Chrome (not easy), and it didn't work. We've change strategy and have decided to transcode to HLS. Harder on the backend side but easier on client since lots of browser support...Danny

1 Answers

1
votes

you need to transcode it to play on desktop browser.

It is possible to play such content in a browser on STB, because there is usually a special implementation of tag video that can play almost anything, including RTSP or UDP multicast.

But on browser you need to transcode to h264/aac