WIP got hls with aac and vp9 fixed with init segments

This commit is contained in:
Brooke Vibber 2021-10-22 17:44:04 -07:00
commit f7a7059e39
7 changed files with 81 additions and 69 deletions

View file

@ -16,20 +16,19 @@
<h2>Caminandes - Llamigos</h2>
<!--
<p>HLS with Opus-in-MP4 and elementary MP3 audio (mp4a.40.34) and VP9-in-MP4 at several resolutions, with a flat WebM VP8/Vorbis fallback:</p>
<p>HLS with VP9-in-MP4 video and Opus-in-MP4 and MP3 audio. Flat WebM fallback with ogv.js loader.</p>
<video id=hls1 controls width=640 height=360>
<source type=application/vnd.apple.mpegurl src=llamigos-vp9-mp3-opus.m3u8>
<source type=video/webm src=caminandes-llamigos.webm.flat.webm>
</video>
<p>Expected behavior:</p>
<p>Desired behavior:</p>
<ul>
<li>Firefox/Chrome: play via MSE with VP9/Opus</li>
<li>Desktop Safari with VP9 support: play via MSE with VP9/MP3</li>
<li>iOS Safari with VP9 support: play native HLS with VP9/MP3</li>
<li>Older iOS and desktop Safari without VP9: play via ogv.js with WebM VP8/Vorbis</li>
<li>Firefox/Chrome: play via MSE with VP9/Opus (currently issues with using Opus in VHS)</li>
<li>Desktop Safari with VP9 support: play via MSE with VP9/MP3 (MP3 buffers not adding spaces as expected)</li>
<li>iOS Safari with VP9 support: play native HLS with VP9/MP3 (works)</li>
<li>Older iOS and desktop Safari without VP9: play via ogv.js with WebM VP8/Vorbis (?)</li>
<li>Very old Firefox/Chrome: play native WebM VP8/Vorbis</li>
<li>edge cases: :(</li>
</ul>
-->
@ -50,7 +49,7 @@
</ul>
-->
<p>HLS with VP9 video and Opus, AAC, and MP3 audio. Flag WebM fallback.</p>
<p>HLS with VP9 video and AAC audio. Flag WebM fallback.</p>
<video id=hls1 controls width=640 height=360>
<source type=application/vnd.apple.mpegurl src=llamigos-vp9-aac.m3u8>
<source type=video/webm src=caminandes-llamigos.webm.flat.webm>
@ -136,7 +135,8 @@
var vp9 = can('video/mp4; codecs="vp09.00.10.08"');
var opus = can('audio/mp4; codecs="opus"');
var aac = can('audio/mp4; codecs="mp4a.40.02')
var mp3 = can('audio/mp3');
//var mp3 = can('audio/mp3');
var mp3 = can('audio/mp4; codecs="mp4a.40.34"');
//var mse = vp9 && (opus || mp3);
//var mse = vp9 && mp3;
var mse = vp9 && aac;
@ -166,11 +166,9 @@
(typeof WebAssembly.Module == 'function');
if (ogv) {
console.log('can do ogvjs');
var base = new URL('./ogvjs-1.8.4', document.location.pathname)
console.log(base);
console.log(base.pathname);
var base = '/misc/hls-test/ogvjs-1.8.4';//new URL('./ogvjs-1.8.4', document.location.pathname)
playerConfig.ogvjs = {
base: base.pathname
base: base
};
console.log(playerConfig.ogvjs.base);
playerConfig.techOrder.push('ogvjs');