wip
This commit is contained in:
parent
15b30ffae7
commit
e508fb2d05
6 changed files with 104 additions and 89 deletions
59
fmp4.html
59
fmp4.html
|
|
@ -10,16 +10,42 @@
|
|||
|
||||
<h2>Caminandes - Llamigos</h2>
|
||||
|
||||
<h3>Full fallbacks</h3>
|
||||
<ul>
|
||||
<li><a href="fmp4-codecs.html">see codec variants</a></li>
|
||||
<li><a href="fmp4-tracks.html">see component track list</a></li>
|
||||
</ul>
|
||||
|
||||
<p>HLS with VP9/MJPEG video tracks and Opus/MP3 audio tracks.</p>
|
||||
<h3>With fallbacks</h3>
|
||||
|
||||
<p>HLS with VP9/MJPEG video tracks and Opus/MP3 audio tracks. Video.js enabled to provide HLS-over-MSE for Chrome/Firefox.</p>
|
||||
<div>
|
||||
<video controls width=640 height=360>
|
||||
<source type=application/vnd.apple.mpegurl src=fmp4.vp9-mjpeg.mov.m3u8>
|
||||
</video>
|
||||
</div>
|
||||
|
||||
<p></p><a href="fmp4-tracks.html">see full fmp4 track variants list</p>
|
||||
<p>Current behavior:</p>
|
||||
<ul>
|
||||
<li>MSE-based streaming with VHS
|
||||
<ul>
|
||||
<li>Firefox seems to work with VP9 & Opus tracks via video.js</li>
|
||||
<li>Chrome seems unhappy, something in the MSE is not ok with the VP9 first segment?</li>
|
||||
<li>(disabled) Safari uses the MP3 audio tracks and VHS gets confused because it tries to parse them as MP4 (not Safari's fault)</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Apple HLS player
|
||||
<ul>
|
||||
<li>Safari 16 on macOS 13 plays MJPEG and MP3 audio</li>
|
||||
<li>iOS 16 plays VP9 or MJPEG if no hardware codec, and MP3 audio</li>
|
||||
<li>Those last two will also play h.263 or MPEG-4 visual IF labeled as false "avc1"; MJPEG can be properly labeled as "jpeg".</li>
|
||||
<li><i>no access to iOS 13-15</i></li>
|
||||
<li>iOS 12 doesn't seem to like any version on an old iPad Air, except the h264+MP3</li>
|
||||
<li><i>no access to iOS 11</i></li>
|
||||
<li>iOS 10 on iPhone 5C plays jpeg, h.263, or mpeg-4 visual IF labeled as false avc1.blah.</li>
|
||||
<li>iOS 9 doesn't understand the required version of HLS playlist format, and fails.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<script src="node_modules/video.js/dist/video.js"></script>
|
||||
|
||||
|
|
@ -32,22 +58,33 @@
|
|||
inline: false
|
||||
}
|
||||
},
|
||||
techOrder: [ 'html5' ],
|
||||
html5: {}
|
||||
html5: {
|
||||
vhs: {
|
||||
// Currently the MP3 audio track fails in Safari
|
||||
// and it doesn't grok the Opus
|
||||
// Either fix MP3 handling in vhs or use AAC.
|
||||
// Switching to fragmented QuickTime ;)
|
||||
// seems to be helping maybe?
|
||||
overrideNative: false
|
||||
}
|
||||
},
|
||||
};
|
||||
videojs.log.level('debug');
|
||||
|
||||
console.log('hey');
|
||||
console.log(MediaSource);
|
||||
console.log(MediaSource.isTypeSupported('video/mp4; codecs="vp09.00.41.08,opus"'));
|
||||
if (window.MediaSource && MediaSource.isTypeSupported('video/mp4; codecs="vp09.00.41.08,opus"')) {
|
||||
console.log('yeah');
|
||||
console.log(typeof MediaSource)
|
||||
if (typeof MediaSource !== 'undefined') {
|
||||
//let vp9 = MediaSource.isTypeSupported('video/mp4; codecs="vp09.00.41.08"');
|
||||
//let opus = MediaSource.isTypeSupported('video/mp4; codecs="opus"');
|
||||
//let mp3 = MediaSource.isTypeSupported('audio/mpeg');
|
||||
//if (vp9 && (opus || mp3)) {
|
||||
|
||||
for (let video of document.querySelectorAll('video')) {
|
||||
console.log(video);
|
||||
video.classList.add('video-js');
|
||||
video.classList.add('vjs-default-skin');
|
||||
videojs(video, playerConfig);
|
||||
}
|
||||
|
||||
// }
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue