Решение, которое я использовал, заключалось в том, чтобы перехватывать запросы браузера XHR (используя пакет xhook npm) и устанавливать заголовки программно. Ниже приведен простой пример:

я есть бэкэнд API (с помощью Express), который обрабатывает файл потокового видео M3U8.

http://localhost:3000/api/stream.m3u8

Эта конечная точка будет работать только с соответствующим пользователемtoken.

маршрутизатор

router.get('/api/stream.m3u8', controller.stream);

контроллер

exports.stream = function(req, res) {
   var token = ''; // ? not sure how to get access to a sent up token
   if (!token) res.status(401).json('Not authorized');
   // if token is valid, proceed
};

На переднем конце я использую videojs.

 var player = videojs('my-player', {})

 // set source to my backend api m3u8 file
 player.src({
    src: 'http://localhost:3000/api/stream.m3u8',
    type: 'application/x-mpegURL'
  });

Есть ли способ добавить пользовательский заголовок в плагин videojs для отправки данных в мой бэкэнд?

Ответы на вопрос(2)

Ваш ответ на вопрос