В настоящее время я использую ReactJS & Видео Js для воспроизведения файлов VOD m3u8. Видеоплеер не может получить все разрешения из манифеста master.m3u8. Любая помощь будет высоко ценится. Вот мой код -
import videojs from 'video.js';
import '../../stylesheet/videojs/videojs.css';
export default class VideoPlayerHype extends React.Component {
componentDidMount = () => {
this.playerFunction()
}
playerFunction = () => {
require('silvermine-videojs-quality-selector')(videojs);
var videoPlayTime = require('videojs-playtime');
videojs.plugin('videoPlayTime', videoPlayTime);
player = videojs('my_video_1', {
controls: true,
controlBar: { volumePanel: { inline: false } },
responsive: true,
// aspectRatio: '16:9',
fluid: true,
autoplay: true,
playbackRates: false,
techCanOverridePoster: true,
textTrackSettings: false,
seekButtons: require('videojs-seek-buttons'),
plugins: {
controls: true,
seekButtons: {
forward: 30,
back: 30
},
videoPlayTime: null
},
})
var tracks = player.textTracks();
player.controlBar.addChild('QualitySelector');
for (var i = 0; i < tracks.length; i++) {
var track = tracks[i];
// Find the English captions track and mark it as "showing".
if (track.kind === 'captions' && track.language === 'en') {
track.mode = 'showing';
}
}
player.on('ended', function () {
// this.props.nextVideo.click()
$('#play-next').click()
});
// hide the video and this current page confirm..
$(".hide-page-content").click(function () {
$(".video-js-section").hide("slow");
// $("").show("slow");
})
player.playTime();
// player.currentTime(localStorage.getItem('lastplayed') ? localStorage.getItem('lastplayed'):this.state.playTime)
// var threshold = 4;
var thresholdReached = false;
// player = this;
player.on('timeupdate', function () {
if (player.currentTime() >= !thresholdReached) {
thresholdReached = true;
if (!player.paused()) {
current_playtime = player.currentTime()
}
}
});
}
render = () => {
return (
<div>
<div className="col-md-7 p-0" >
{video_url ?
<video poster={poster ? poster : ""} id="my_video_1" width="300" height="264" className="w-100 video-js vjs-fluid vjs-default-skin vjs-big-play-centered hover-card vjs-16-9">
<source src={`https://content.jwplatform.com/manifests/yp34SRmf.m3u8`} type="application/x-mpegURL" label="Auto"></source>
</video>
:
""
}
</div>
</div>
)
}
}
В файле .m3u8 на данный момент есть 6 разрешений, но я не могу получить селекторы в плеере.