Shaka 2.2.4 - получить информацию о потоке / адаптации, наборе / треке / варианте
Я использую Shaka 2.2.4, и я пытаюсь отобразить метку с доступными потоками (аудио и видео потоки) и в конечном итоге переключить их (если есть больше представлений или наборов адаптации). Проблема в том, что игрок не сообщает ни об одном варианте / треке. (т.е. ничего не печатается в консоли). Как это должно работать?
function initPlayer() {
// Install polyfills.
shaka.polyfill.installAll();
// Find the video element.
var videos = document.getElementsByTagName('video')
var video = videos[0]
console.log(video)
// Construct a Player to wrap around it.
var player = new shaka.Player(video);
// Attach the player to the window so that it can be easily debugged.
window.player = player;
// Listen for errors from the Player.
player.addEventListener('error', function(event) {
console.error(event);
});
var sources = video.getElementsByTagName('source');
var videoSRC = sources[0].src;
player.load(videoSRC);
var allTracks = player.getVariantTracks();
allTracks.forEach(function(track) {
console.log(track)
});
}
Видео воспроизводится / ищет, и в консоли не сообщается об ошибке. MPD выглядит как показано ниже (временная шкала для краткости усечена).
<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT2H12M52.3S" minBufferTime="PT3.0S">
<BaseURL>http://localhost:8080/meta/?</BaseURL>
<Period id="/Users/transcode/someperiodID/97M4TS6IqnQ.mpd">
<AdaptationSet id="/Users/th" contentType="video" bitstreamSwitching="true" frameRate="13978/583" segmentAlignment="true" lang="eng">
<Representation mimeType="video/mp4" bandwidth="14690" codecs="avc1.64001f" frameRate="13978/583" height="300" id="0" width="720">
<SegmentTemplate initialization="?bucketID=%2FVolumes%2FTV%2Fsomevideo&containerID=%2someID.mpd&streamID=unknown&fragmentID=$RepresentationID$-init.mp4s" media="?bucketID=%2FVolumes%2FTV%2Fsomevideo&containerID=%2someID.mpd&streamID=unknown&fragmentID=$RepresentationID$-$Number$.mp4s" startNumber="1" timescale="2500000">
<SegmentTimeline>
<S t="0" d="10530000" />
<S d="25962500" />
<S d="26067500" />
<S d="25965000" />
<S d="9070000" />
<S d="25965000" />
<S d="9487500" />
<S d="8447500" />
<S d="19705000" />
</SegmentTimeline>
</SegmentTemplate>
</Representation>
</AdaptationSet>
<AdaptationSet id="/Users/th" contentType="audio" bitstreamSwitching="true" segmentAlignment="true" lang="eng">
<Representation mimeType="audio/mp4" audioSamplingRate="48000" bandwidth="1660490" codecs="mp4a.40.2" id="1">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2" />
<SegmentTemplate initialization="?bucketID=%2FVolumes%2FTV%2Fsomevideo&containerID=%2someID.mpd&streamID=unknown&fragmentID=$RepresentationID$-init.mp4s" media="?bucketID=%2FVolumes%2FTV%2Fsomevideo&containerID=%2someID.mpd&streamID=unknown&fragmentID=$RepresentationID$-$Number$.mp4s" startNumber="1" timescale="48000">
<SegmentTimeline>
<S t="0" d="198616" />
<S d="498688" />
<S d="500752" />
<S d="497632" />
<S d="175136" />
<S d="497648" />
<S d="182256" />
<S d="162832" />
<S d="377856" />
<S d="109568" />
</SegmentTimeline>
</SegmentTemplate>
</Representation>
</AdaptationSet>
</Period>
</MPD>