Server Push

There are two kinds of server pushes, which I call the true and the fake.

The Fake: I see it for Chrome to play MJPEG. It’s more of a browser feature. The server keeps sending jpg pictures and browser play video by replacing it’s picture one after another. It doesn’t need HTTP/2. Keywords: multipart x-mixed-replace boundary

The True: client receives resources without requesting. HTTP/2 required.
for Nginx, it has to be 1.13.9 and up, which was released this year 2018.


Crossdomain Access

The problem: when a web page from site A access files on site B, browser complains such as crossdomain access denied.
What it is really complaining is that browser, or plugin, doesn’t want to load resource fro site B unless B gives explicit permission.
When web based video player and video content are on different servers, this complaint happens.
Tools used for testing: JW Player 7.8.4 premium version, “primary”:”flash” vs “primary”:”html5″
The fix depends on the player mode: HTML5 vs flash.
For Flash, error message is “Cannot load M3U8: crossdomain access denied (2048)” The fix is creating /crossdomain.xml with content like:
<site-control permitted-cross-domain-policies=”all”/>
<allow-access-from domain=”*” to-ports=”*”/>
For HTML5, error message is “Cannot load M3U8: Crossdomain access denied”. The fix is adding Access-Control-Allow-Origin in the HTML header, e.g by editing nginx.conf.

What is HTML5

It is to play video in browser, using HTML5 video tag: <video src=”/my.mp4″ controls>

What’s under it: MSE Media Source Extension

Why MSE: JavaScript needs to call codec, which is native code. Another way to call into native is by ActiveX, such as Flash.

What’s on top: the web video players, such as JW Player. JW can also bypass video tag and call MSE, which explains why video tag cannot play HLS but JW can, in Chrome.

Interesting: my test says video tag can play HLS .m3u8 only on Edge, but cannot play .ts anywhere, which is weird. Since the vendor of the browser has total control, everything can happen.

Live Streaming: THSCA Convention and Coaching School, 2018

MaxxSports is live streaming this three day events, from July 22nd to 24th
from Henry B. Gonzalez Convention Center, San Antonio, TX