Как получить доступные уровни качества и языков аудиодорожки в video.js плеере?

Ссылка скопирована
1 ответ

Я уже замучился искать варианты. Плагины video.js по какой-либо причине не очень жалуют работать. Все отлично работает с библиотекой hls.js но только в том случае если я вставляю обычный плеер ( просто тег video ). Если я инициализирую видео плеер video.js то не работает.
Задача: спарсить поток m3u8, достать оттуда все доступные конкретно для этого потока уровни качества и языки аудиодорожки.
Запихнуть это все в кастомное меню ( допустим, селектор пока что ) и по нажатию на кнопку менять качество или же язык аудиодорожки.

Код инициализации videojs:

<template>   <div>     <video ref="videoPlayer" class="video-js vjs-default-skin"></video>     <button @click="changeQuality(0)">360p</button>   </div> </template>  <script> import videojs from 'video.js'; import 'videojs-contrib-hls';  export default {   name: 'HelloWorld',   data() {     return {       videoUrl: 'https://e10-ll.facecast.net/public/119522.m3u8',       player: null,     }   },    mounted() {     this.player = videojs(this.$refs.videoPlayer, {         autoplay: true,         controls: true,         sources: [           {             src: this.videoUrl,                    type: 'application/x-mpegURL'           }         ]     });   },    beforeDestroy() {     if (this.player) {       this.player.dispose();     }   },  } </script>

<template> <div> <video ref="videoPlayer" class="video-js vjs-default-skin"></video> <button @click="changeQuality(0)">360p</button> </div> </template> <script> import videojs from 'video.js'; import 'videojs-contrib-hls'; export default { name: 'HelloWorld', data() { return { videoUrl: 'https://e10-ll.facecast.net/public/119522.m3u8', player: null, } }, mounted() { this.player = videojs(this.$refs.videoPlayer, { autoplay: true, controls: true, sources: [ { src: this.videoUrl, type: 'application/x-mpegURL' } ] }); }, beforeDestroy() { if (this.player) { this.player.dispose(); } }, } </script>

Помогите плиз, я могу с помощью обычных средств video.js вывести доступные уровни качества и языки но как-то не смог абсолютно никак вручную менять это:( Чат гпт уже замучил)

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Роман IT Ответ

Для получения доступных уровней качества и языков аудиодорожки в video.js плеере, вам потребуется использовать методы, предоставляемые самим плеером.

Для начала, вам нужно установить video.js на вашем веб-сайте. После этого вы можете получить доступ к объекту плеера, который позволит вам управлять различными настройками видео, включая уровни качества и языки аудиодорожки.

Для получения доступных уровней качества видео, вы можете использовать метод getQualityLevels(). Этот метод вернет массив объектов, каждый из которых представляет один из доступных уровней качества видео. Вы можете перебрать этот массив и вывести информацию о каждом уровне качества на вашем сайте.

Пример кода на JavaScript, использующий video.js для получения доступных уровней качества видео:

var player = videojs('my-video');
 
player.ready(function() {
  var qualityLevels = player.getQualityLevels();
 
  qualityLevels.forEach(function(level) {
    console.log('Quality level: ' + level.label);
  });
});

var player = videojs('my-video'); player.ready(function() { var qualityLevels = player.getQualityLevels(); qualityLevels.forEach(function(level) { console.log('Quality level: ' + level.label); }); });

Чтобы получить доступные языки аудиодорожки, вы можете использовать метод audioTracks(). Этот метод также вернет массив объектов, представляющих каждый доступный язык аудиодорожки. Вы можете перебрать этот массив и вывести информацию о каждом языке на вашем сайте.

Пример кода на JavaScript, использующий video.js для получения доступных языков аудиодорожки:

var player = videojs('my-video');
 
player.ready(function() {
  var audioTracks = player.audioTracks();
 
  audioTracks.forEach(function(track) {
    console.log('Audio track language: ' + track.language);
  });
});

var player = videojs('my-video'); player.ready(function() { var audioTracks = player.audioTracks(); audioTracks.forEach(function(track) { console.log('Audio track language: ' + track.language); }); });

Таким образом, используя методы getQualityLevels() и audioTracks() в video.js, вы сможете получить доступные уровни качества и языки аудиодорожки в вашем видео плеере и отобразить их на вашем сайте.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно