- Webontwikkelaars kunnen Picture-in-Picture voor video's beheren.
- AV1-decoder wordt nu ondersteund in Chrome Desktop x86-64.
- Cross-codec en cross-bytestream bufferen en afspelen is mogelijk in MSE.
- Chrome ondersteunt nu Opus in MP4 met MSE .
- Het afspelen van beveiligde inhoud is standaard toegestaan op Android.
Bekijk video met Picture-in-Picture
Met Picture-in-Picture (PiP) kunnen gebruikers video's bekijken in een zwevend venster (altijd bovenop andere vensters), zodat ze in de gaten kunnen houden wat ze bekijken terwijl ze communiceren met andere sites of applicaties. Met de nieuwe Picture-in-Picture Web API kunt u Picture-in-Picture voor video's op uw website starten en beheren.
Lees ons artikel om er alles over te weten te komen.
AV1-decoder
AV1 is een codec van de volgende generatie, ontwikkeld door de Alliance for Open Media . AV1 verbetert de compressie-efficiëntie met meer dan 30% ten opzichte van de huidige ultramoderne videocodec, VP9. Chrome 70 voegt een AV1-decoder toe aan Chrome Desktop x86-64 op basis van de officiële bitstream-specificatie . Op dit moment is de ondersteuning beperkt tot “ Hoofdprofiel 0 ” en omvat deze geen coderingsmogelijkheden. De ondersteunde container is MP4 ( ISO-BMFF ) (zie Van onbewerkte video naar web klaar voor een korte uitleg over containers).
Om AV1 te proberen:
- Ga naar de YouTube TestTube-pagina .
- Selecteer "Voorkeur AV1 voor SD" of "Altijd voorkeur AV1" om de gewenste AV1-resolutie te krijgen. Houd er rekening mee dat AV1 bij hogere resoluties op sommige apparaten waarschijnlijk problemen met de afspeelprestaties ondervindt.
- Probeer YouTube-clips af te spelen vanuit de AV1 Beta Launch Playlist .
- Bevestig de codec av01 in "Statistieken voor nerds".
Ondersteuning voor codec- en containerswitching in MSE
Chrome voegt ondersteuning toe voor verbeterde cross-codec- of cross-bytestream-overgangen bij het afspelen van mediabronextensies met behulp van een nieuwe changeType()
-methode op SourceBuffer
. Hiermee kan het type mediabytes dat aan de SourceBuffer
wordt toegevoegd achteraf worden gewijzigd.
De huidige versie van MSE ondersteunt adaptief afspelen van media; aanpassing vereist echter dat alle media die aan een SourceBuffer
worden toegevoegd, moeten voldoen aan het MIME-type dat is opgegeven bij het aanvankelijk maken van de SourceBuffer
via MediaSource.addSourceBuffer(type)
. Codecs van dat type en alle eerder geparseerde initialisatiesegmenten moeten overal hetzelfde blijven. Dit betekent dat de website expliciete stappen moet ondernemen om codec- of bytestream-switching te bewerkstelligen (door meerdere media-elementen of SourceBuffer
tracks te gebruiken en daartussen te schakelen), waardoor de complexiteit van de applicatie en de voor de gebruiker zichtbare latentie toenemen. (Dergelijke overgangen vereisen dat de web-app synchrone actie onderneemt op de hoofdthread van de renderer). Deze overgangslatentie schaadt de soepelheid van het afspelen van media over overgangen heen.
Met zijn nieuwe changeType()
methode kan een SourceBuffer
het afspelen in verschillende bytestream-formaten en codecs bufferen en ondersteunen. Deze nieuwe methode behoudt eerder gebufferde media, modulo toekomstige MSE-gecodeerde frame-uitzetting of verwijdering, en maakt gebruik van de splitsings- en bufferlogica in het bestaande MSE-gecodeerde frameverwerkingsalgoritme.
Hier leest u hoe u de methode changeType()
gebruikt:
const sourceBuffer = myMediaSource.addSourceBuffer('video/webm; codecs="opus, vp09.00.10.08"');
sourceBuffer.appendBuffer(someWebmOpusVP9Data);
// Later on...
if ('changeType' in sourceBuffer) {
// Change source buffer type and append new data.
sourceBuffer.changeType('video/mp4; codecs="mp4a.40.5, avc1.4d001e"');
sourceBuffer.appendBuffer(someMp4AacAvcData);
}
Zoals verwacht genereert deze methode een NotSupportedError
uitzondering als het doorgegeven type niet door de browser wordt ondersteund.
Bekijk het voorbeeld om te spelen met cross-codec en cross-bytestream buffering en het afspelen van een audio-element.
Intentie om te verzenden | Chromestatustracker | Chroombug
Opus in MP4 voor MSE
De open en zeer veelzijdige audiocodec Opus wordt sinds Chrome 33 ondersteund in de <audio>
en <video>
-elementen . Opus in ISO-BMFF -ondersteuning (ook wel Opus in MP4 genoemd) werd daarna toegevoegd. En nu is Opus in MP4 beschikbaar in Chrome 70 voor mediabronextensies .
Zo kunt u detecteren of Opus in MP4 wordt ondersteund voor MSE:
if (MediaSource.isTypeSupported('audio/mp4; codecs="opus"')) {
// TODO: Fetch data and feed it to a media source.
}
Als je een volledig voorbeeld wilt zien, bekijk dan ons officiële voorbeeld .
Vanwege een gebrek aan tools om Opus in MP4 te muxen met correcte end trimming en preskip-waarden, moet je, als dergelijke precisie belangrijk voor je is, SourceBuffer.appendWindow{Start,End}
en SourceBuffer.timestampOffset
in Chrome gebruiken om voorbeeld- nauwkeurige weergave.
Intentie om te verzenden | Chromestatustracker | Chroombug
Sta het afspelen van beveiligde inhoud standaard toe op Android
In Chrome 70 voor Android verandert de standaardwaarde van de site-instelling 'beveiligde inhoud' van 'Eerst vragen' in 'Toegestaan', waardoor de wrijving die gepaard gaat met het afspelen van dergelijke media wordt verminderd. Deze wijziging is gedeeltelijk mogelijk vanwege aanvullende stappen die zijn genomen om naast cookies en sitegegevens ook medialicenties te wissen, waardoor wordt gegarandeerd dat medialicenties niet door sites worden gebruikt om gebruikers te volgen die de browsegegevens hebben gewist.