mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-09-29 03:43:50 +02:00
[WIP] Add majority of logic for HLS reading support
This commit is contained in:
+34
-4
@@ -8,18 +8,48 @@
|
||||
document.body.append(fileInput);
|
||||
|
||||
fileInput.addEventListener('change', async () => {
|
||||
const manifest = new Mediabunny.ManifestInput({
|
||||
entryPath: 'https://playertest.longtailvideo.com/adaptive/aes-with-tracks/master.m3u8'
|
||||
?? 'https://playertest.longtailvideo.com/adaptive/customIV/prog_index.m3u8'
|
||||
?? 'https://playertest.longtailvideo.com/adaptive/issue666/playlists/cisq0gim60007xzvi505emlxx.m3u8'
|
||||
?? 'https://test-streams.mux.dev/dai-discontinuity-deltatre/manifest.m3u8'
|
||||
?? 'https://test-streams.mux.dev/x36xhzz/url_0/193039199_mp4_h264_aac_hd_7.m3u8'
|
||||
?? 'https://test-streams.mux.dev/dai-discontinuity-deltatre/manifest.m3u8'
|
||||
?? 'https://cdn.jwplayer.com/manifests/pZxWPRg4.m3u8'
|
||||
?? 'https://test-streams.mux.dev/x36xhzz/x36xhzz.m3u8'
|
||||
?? 'https://test-streams.mux.dev/x36xhzz/url_0/193039199_mp4_h264_aac_hd_7.m3u8',
|
||||
getSource: path => new Mediabunny.UrlSource(path),
|
||||
manifestFormats: Mediabunny.ALL_MANIFEST_FORMATS,
|
||||
mediaFormats: Mediabunny.ALL_FORMATS,
|
||||
});
|
||||
|
||||
const variants = await manifest.getVariants();
|
||||
const variant = variants[2];//variants.find(x => x.path.endsWith('aac/und/stream.m3u8'));
|
||||
const input = variant.toInput();
|
||||
const audioTrack = await input.getPrimaryAudioTrack();
|
||||
const sink = new Mediabunny.EncodedPacketSink(audioTrack);
|
||||
|
||||
for await (const packet of sink.packets()) {
|
||||
console.log(packet.timestamp, packet.duration)
|
||||
}
|
||||
|
||||
/*
|
||||
const file = fileInput.files[0];
|
||||
const input = new Mediabunny.Input({
|
||||
formats: Mediabunny.ALL_FORMATS,
|
||||
source: new Mediabunny.BlobSource(file),
|
||||
source: new Mediabunny.UrlSource('https://playertest.longtailvideo.com/adaptive/captions/130130211307_1.ts'),
|
||||
});
|
||||
|
||||
const track = await input.getPrimaryVideoTrack();
|
||||
const sink = new Mediabunny.EncodedPacketSink(track);
|
||||
const videoTrack = await input.getPrimaryVideoTrack();
|
||||
const sink = new Mediabunny.EncodedPacketSink(videoTrack);
|
||||
|
||||
for await (const packet of sink.packets()) {
|
||||
console.log(packet);
|
||||
console.log("Packet", packet.timestamp)
|
||||
for (const thing of window.iterateNalUnitsInAnnexB(packet.data)) {
|
||||
console.log(thing, "type", window.extractNalUnitTypeForAvc(packet.data[thing.offset]))
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
|
||||
Reference in New Issue
Block a user