Skip to content Skip to sidebar Skip to footer

Add Custom Headers To Videojs Player Source

I have a backend api (using express) that handles a streaming video m3u8 file. http://localhost:3000/api/stream.m3u8 This endpoint will only work with a proper user token. router

Solution 1:

Videojs initialization is happening on client side so you need to pass token before this initialization. I suggest you to initialize Videojs using ajax and send token using Ajax. I hope it helps.

Solution 2:

The solution I've gone with was to intercept browser XHR requests(using the xhook npm package) and set headers programmatically. Bellow is a simple example:

...

this.player.src({
  src: SOME_VIDEO_URL,
});

...

/**
 * add manifest authorization header
 */window.xhook.before((request, callback) => {
  // only set header request for the videojs src url (don't touch other xhr requests)if (request.url === SOME_VIDEO_URL) {
    request.xhr.setRequestHeader('Authorization', manifestAuthorization);
  }
  callback();
});

Post a Comment for "Add Custom Headers To Videojs Player Source"