- Chrome schakelt nu videotracks uit wanneer een MSE-video op de achtergrond wordt afgespeeld om de prestaties te optimaliseren.
- Wanneer het apparaat wordt gedraaid, wordt de video op volledig scherm weergegeven .
Optimalisatie van achtergrondvideotracks (alleen MSE)
Om de batterijduur te verbeteren, schakelt Chrome nu videotracks uit wanneer de video op de achtergrond wordt afgespeeld (bijvoorbeeld in een niet-zichtbaar tabblad) als de video Media Source Extensions (MSE) gebruikt.
U kunt deze wijzigingen bekijken door naar de pagina chrome://media-internals
te gaan en te filteren op de eigenschap 'info'. Wanneer het tabblad met een afgespeelde video inactief wordt, ziet u een bericht zoals Selected video track: []
wat aangeeft dat de videotrack is uitgeschakeld. Wanneer het tabblad weer actief wordt, wordt de videotrack automatisch weer ingeschakeld.
Voor degenen die willen begrijpen wat er gebeurt, volgt hier een JavaScript-codefragment dat laat zien wat Chrome ongeveer achter de schermen doet.
var video = document.querySelector('video');
var selectedVideoTrackIndex;
document.addEventListener('visibilitychange', function() {
if (document.hidden) {
// Disable video track when page is hidden.
selectedVideoTrackIndex = video.videoTracks.selectedIndex;
video.videoTracks[selectedVideoTrackIndex].selected = false;
} else {
// Re-enable video track when page is not hidden anymore.
video.videoTracks[selectedVideoTrackIndex].selected = true;
}
});
Mogelijk wilt u de kwaliteit van de videostream verlagen wanneer de videotrack is uitgeschakeld. Dit kan heel eenvoudig door de Page Visibility API te gebruiken, zoals hierboven weergegeven, om te detecteren wanneer een pagina verborgen is.
En hier zijn enkele beperkingen:
- Deze optimalisatie is alleen van toepassing op video's met een keyframeafstand < 5s.
- Als de video geen audiotracks bevat, wordt de video automatisch gepauzeerd wanneer deze op de achtergrond wordt afgespeeld.
Automatische videoweergave op volledig scherm wanneer het apparaat wordt gedraaid
Als u een apparaat naar de liggende stand draait terwijl er een video in de viewport wordt afgespeeld, schakelt de weergave automatisch over naar de volledig schermmodus. Als u het apparaat naar de staande stand draait, keert de video terug naar de venstermodus.
U kunt dit gedrag ook handmatig zelf implementeren. (Zie het artikel over het afspelen van video via mobiel internet ).
Dit magische gedrag treedt alleen op wanneer:
- apparaat is een Android-telefoon (geen tablet)
- de schermoriëntatie van de gebruiker is ingesteld op "Automatisch draaien"
- videoformaat is minimaal 200x200px
- video maakt gebruik van native bedieningselementen
- video wordt momenteel afgespeeld
- minimaal 75% van de video is zichtbaar (op het scherm)
- oriëntatie draait 90 graden (niet 180 graden)
- er is nog geen volledig scherm-element
- scherm is niet vergrendeld met behulp van de Screen Orientation API