Media-updates in Chrome 70

François Beaufort
François Beaufort

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 met andere sites of applicaties communiceren. 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 'Hoofd'- profiel 0 en omvat deze geen coderingsmogelijkheden. De ondersteunde container is MP4 ( ISO-BMFF ) (zie Containers en codecs voor een korte uitleg van containers).

Om AV1 te proberen:

  1. Ga naar de YouTube TestTube-pagina .
  2. 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.
  3. Probeer YouTube-clips af te spelen vanuit de AV1 Beta Launch Playlist .
  4. Bevestig de codec av01 in "Statistieken voor nerds".
Statistieken voor nerds met AV1 op YouTube
Statistieken voor nerds met AV1 op YouTube.

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 is 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.

ALT_TEXT_HIER
Beveiligde inhoudsinstelling in Android.