Interactieve video interactive-video
Interactive Video Viewer is een videospeler die streaming en progressieve video afspeelt die zijn gecodeerd in de H.264-indeling.
In de viewer worden ook interactieve productstalen weergegeven naast de video-inhoud. Zowel enkelvoudige video als Adaptieve videosets worden ondersteund. Het is ontworpen voor zowel desktopbrowsers als mobiele webbrowsers die HTML5-video ondersteunen. De viewer ondersteunt optionele, gesloten bijschriften die boven op video-inhoud worden weergegeven, navigatie in videohoofdstukken en gereedschappen voor sociaal delen. Het doel van deze viewer is om u te helpen bij het implementeren van een 'shoppable video'-ervaring. Met andere woorden, gebruikers kunnen een staal selecteren dat is gekoppeld aan een bepaald videotijdgebied en worden omgeleid naar een Quickview- of productdetailpagina op de website van de klant.
Het viewertype is 510.
Demo-URL's section-c0ad383db6a444979dc7eeb1ec4cf54d
en
Systeemvereisten section-b7270cc4290043399681dc504f043609
Zie Systeemvereisten.
Interactieve video-viewer gebruiken section-e6c68406ecdc4de781df182bbd8088b4
Interactive Video Viewer vertegenwoordigt een hoofd-JavaScript-bestand en een set hulpbestanden die door de viewer in runtime worden gedownload. Er wordt één JavaScript opgenomen in alle Viewer SDK-componenten die door deze viewer, elementen en CSS worden gebruikt.
De interactieve VideoKijker kan in pop-up wijze worden gebruikt gebruikend productie-klaar HTML pagina die met de Kijkers van de Beelddienst van het Beeld wordt verstrekt. Het kan ook worden gebruikt in de ingesloten modus, waar het wordt geïntegreerd in de doelwebpagina met de gedocumenteerde API.
Het vormen en het villen zijn gelijkaardig aan die van de andere kijkers die in deze gids worden beschreven. Alle skins toewijzen wordt bereikt door middel van aangepaste CSS (Cascading Style Sheets).
Zie Command reference common to all viewers - Configuration attributes en Command reference common to all Viewers - URL
Interactie met Interactive Video Viewer section-642e66ca38cd4032992840ec6c0b0cd2
De interactieve VideoKijker verstrekt een reeks standaardgebruikersinterfacecontroles voor videoplayback, zoals een Spel/pauze knoop, videoscrubber, videotijd bel, speeltijd/totale tijdindicator, volumeregelaar, het volledig-schermknoop, en gesloten titelknevel. Al deze besturingselementen worden rechtstreeks onder de hoofdweergave gegroepeerd in een besturingsbalk.
Op aanraakapparaten is de volumeregeling verborgen in de gebruikersinterface, omdat het alleen mogelijk is het volume te regelen met de hardwareknoppen van het apparaat.
Wanneer de viewer werkt in de pop-upmodus, is er geen knop voor een volledig scherm beschikbaar in de gebruikersinterface.
In de viewer wordt een deelvenster met interactieve stalen weergegeven, rechts van het videoweergavegebied. De lijst met stalen wordt automatisch bijgewerkt tijdens het afspelen van de video, zodat de stalen die overeenkomen met het huidige videogebied worden weergegeven. Wanneer u op een staal klikt of erop tikt, wordt een handeling geactiveerd die tijdens het ontwerpen aan dat staal is gekoppeld. Afhankelijk van de manier waarop u de trigger instelt, kan de trigger worden omgeleid naar een andere pagina op de website. Het kan ook productinformatie teruggeven aan de webpaginalogica, die op zijn beurt het openen van een Snelle weergave met verwante productinhoud kan activeren.
U kunt snel door de video-inhoud navigeren wanneer het videohoofdstuk wordt geactiveerd. Videohoofdstukken worden als markeringen weergegeven in de videoscrubbertrack en geven de titel en beschrijving van het hoofdstuk weer bij rollover (of op één tik op aanraaksystemen). De klant kan "zoeken"aan een bepaald hoofdstuk door een hoofdstukteller te klikken of een borrel van de hoofdstukbeschrijving te tikken.
De viewer ondersteunt ook diverse gereedschappen voor het delen van sociale media. Ze zijn beschikbaar als één knop in de gebruikersinterface die wordt uitgevouwen tot een werkbalk voor delen wanneer de gebruiker erop klikt of tikt. De werkbalk voor delen bevat een pictogram voor elk type kanaal dat wordt ondersteund voor delen, zoals Facebook, Twitter, e-maildelen, het insluiten van code voor delen en het delen van koppelingen. Wanneer gereedschappen voor delen via e-mail, insluiten of delen van koppelingen zijn geactiveerd, wordt in de viewer een modaal dialoogvenster weergegeven met een bijbehorend formulier voor gegevensinvoer. Wanneer Facebook of Twitter wordt aangeroepen, leidt de viewer de gebruiker om naar een standaarddialoogvenster voor delen via een sociale-mediaservice. Wanneer een gereedschap voor delen wordt geactiveerd, wordt het afspelen van video ook automatisch gepauzeerd. Delen van gereedschappen is niet beschikbaar in de modus Volledig scherm vanwege beveiligingsbeperkingen van de webbrowser.
De viewer is volledig toegankelijk via het toetsenbord. Zie Toetsenbordtoegankelijkheid en -navigatie.
Interactieve video-viewer insluiten section-6bb5d3c502544ad18a58eafe12a13435
Interactieve video-viewer is ingesloten in de hostpagina. Een dergelijke webpagina kan een statische lay-out hebben of kan "responsief" zijn en anders worden weergegeven op verschillende apparaten of voor verschillende venstergrootten in de browser.
Om aan deze behoeften tegemoet te komen, ondersteunt de viewer twee primaire bewerkingsmodi: insluiten van vaste grootte en responsieve insluiting.
Insluitmodus van vaste grootte en responsieve ontwerpinsluitmodus
In de ingesloten modus wordt de viewer toegevoegd aan de bestaande webpagina, waar al inhoud van de klant beschikbaar is die geen betrekking heeft op de viewer. De viewer neemt doorgaans slechts een deel van het onroerend goed van een webpagina in beslag.
De belangrijkste gebruiksgevallen zijn webpagina's die zijn georiënteerd op desktops of tablets, en responsieve, ontworpen pagina's die de lay-out automatisch aanpassen, afhankelijk van het apparaattype.
De insluiting met een vaste grootte wordt gebruikt wanneer de viewer de grootte niet wijzigt na de eerste keer laden. Deze functionaliteit is de beste keuze voor webpagina's met een statische indeling.
Bij het insluiten van responsieve ontwerpen wordt ervan uitgegaan dat de viewer tijdens runtime de grootte moet wijzigen als reactie op de wijziging van de grootte van de container DIV
. De meest gebruikte optie is het toevoegen van een viewer aan een webpagina die een flexibele pagina-indeling gebruikt.
In de responsieve ontwerpinsluitmodus werkt de viewer anders, afhankelijk van de manier waarop de container van de webpagina wordt aangepast DIV
. Als de webpagina alleen de breedte van de container instelt DIV
Wanneer de hoogte onbeperkt blijft, kiest de viewer automatisch de hoogte op basis van de hoogte-breedteverhouding van het gebruikte element. Deze functionaliteit zorgt ervoor dat het element perfect in de weergave past zonder opvulling aan de zijkanten. Dit gebruiksgeval is het gemeenschappelijkst voor Web-pagina's die ontvankelijke kaders van de Webontwerp zoals Bootstrap en Stichting gebruiken.
Anders, als de Web-pagina zowel de breedte als de hoogte voor de container van de kijker plaatst DIV
, vult de viewer alleen dat gebied en volgt het formaat dat de webpaginalay-out biedt. Een goed voorbeeld is het insluiten van de viewer in een modale overlay, waarbij de grootte van de overlay wordt aangepast aan de venstergrootte van de webbrowser.
Insluiten met vaste grootte
U voegt de viewer als volgt toe aan een webpagina:
-
Het JavaScript-bestand van de viewer toevoegen aan uw webpagina.
-
De container definiëren
DIV
. -
De viewergrootte instellen.
-
De viewer maken en initialiseren
-
Het JavaScript-bestand van de viewer toevoegen aan uw webpagina.
Voor het maken van een viewer moet u een scripttag toevoegen aan de kop van de HTML. Voordat u de viewer-API kunt gebruiken, moet u controleren of deze InterativeVideoViewer.js. De InteractiveVideoViewer.js bestand bevindt zich onder de html5/js/ submap van uw standaard IS-Viewers-implementatie:
<s7viewers_root>/etc/dam/viewers/s7viewers/html5/js/InteractiveVideoViewer.js
U kunt een relatief pad gebruiken als de viewer wordt geïmplementeerd op een van de Adobe Dynamic Media Classic-servers en vanuit hetzelfde domein wordt aangeboden. Anders geeft u een volledig pad op naar een van de Adobe Dynamic Media Classic-servers waarop IS-Viewers zijn geïnstalleerd.
Het relatieve pad ziet er als volgt uit:
<script language="javascript" type="text/javascript" src="/etc/dam/viewers/s7viewers/html5/js/InteractiveVideoViewer.js"></script>
include
op uw pagina. Verwijs niet naar extra JavaScript-bestanden in de webpaginacode die door de logica van de viewer in runtime kunnen worden gedownload. Verwijs met name niet rechtstreeks naar HTML5 SDK Utils.js
bibliotheek die door de viewer is geladen vanuit /s7viewers
contextpad (de zogenaamde geconsolideerde SDK) include
). De reden is dat de locatie van Utils.js
of vergelijkbare runtimeviewerbibliotheken worden volledig beheerd door de logica van de viewer en de locatie verandert tussen de viewerreleases. Adobe houdt oudere versies van de secundaire viewer niet bij includes
op de server.include
die door de viewer op de pagina worden gebruikt, verbreekt de viewerfunctionaliteit in de toekomst wanneer een nieuwe productversie wordt geïmplementeerd.-
De container definiëren
DIV
.Een leeg item toevoegen
DIV
aan de pagina waar u de kijker wilt verschijnen. DeDIV
De id van het element moet gedefinieerd zijn omdat deze id later wordt doorgegeven aan de viewer-API. De grootte van het DIV-bestand wordt bepaald door CSS.De tijdelijke aanduiding
DIV
is een gepositioneerd element, wat betekent dat deposition
CSS-eigenschap is ingesteld oprelative
ofabsolute
.Voor de volledige het schermeigenschap om behoorlijk in Internet Explorer te functioneren zorg ervoor dat er geen andere elementen in DOM zijn die een hogere stapelvolgorde dan uw placeholder hebben
DIV
.Hieronder ziet u een voorbeeld van een gedefinieerde plaatsaanduiding
DIV
element:code language-html <div id="s7viewer" style="position:relative"></div>
-
De viewergrootte instellen
U kunt de statische grootte voor de viewer instellen door deze te declareren voor
.s7interactivevideoviewer
CSS-klasse op hoofdniveau in absolute eenheden of met gebruik vanstagesize
modifier.U kunt de grootte in CSS rechtstreeks op de pagina HTML plaatsen. U kunt het ook in een CSS-bestand voor een aangepaste viewer plaatsen, dat later wordt toegewezen aan een record met viewervoorinstellingen in Adobe Experience Manager Assets - Op aanvraag of expliciet wordt doorgegeven met behulp van
style
gebruiken.Zie Interactieve video-viewer aanpassen voor meer informatie over het opmaken van de viewer met CSS.
Hieronder ziet u een voorbeeld van het definiëren van een statische viewergrootte op de pagina HTML:
code language-html #s7viewer.s7interactivevideoviewer { width: 640px; height: 640px; }
U kunt de
stagesize
in de viewervoorinstellingsrecord in Experience Manager Assets - Op aanvraag. Of u kunt deze expliciet doorgeven met de initialisatiecode van de viewer metparams
verzameling, of als API-aanroep zoals beschreven in de sectie Opdrachtverwijzing, als volgt:code language-html interactivevideoviewer.setParam("stagesize", "640,640");
Een op CSS gebaseerde benadering wordt geadviseerd en in dit voorbeeld gebruikt.
-
De viewer maken en initialiseren
Wanneer u de bovenstaande stappen hebt uitgevoerd, maakt u een instantie van
s7viewers.InteractiveVideoViewer
klasse, alle configuratieinformatie tot zijn aannemer overgaan, en vraaginit()
op een viewerinstantie. De informatie van de configuratie wordt overgegaan tot de aannemer als voorwerp JSON. Dit object moet minstenscontainerId
veld met de naam van de container-id van de viewer en het geneste veldparams
JSON-object met configuratieparameters die door de viewer worden ondersteund.In dit geval worden de
params
Het object moet ten minste de URL van de afbeeldingsserver hebben doorgegeven zoalsserverUrl
en het oorspronkelijke actief alsasset
parameter. Met de op JSON gebaseerde initialisatie-API kunt u de viewer maken en starten met één coderegel, een URL van een videoserver die alsvideoserverurl
eigenschap, eerste actief alsasset
en interactieve gegevens alsinteractivedata
eigenschap. Met de op JSON gebaseerde initialisatie-API kunt u de viewer maken en starten met één coderegel.Het is belangrijk dat de viewercontainer aan het DOM wordt toegevoegd, zodat de viewercode het containerelement op basis van de id kan vinden. Sommige browsers stellen het samenstellen van DOM tot het einde van de webpagina uit. Voor maximale compatibiliteit roept u de
init()
methode vlak voor het sluitenBODY
of op de hoofdtekstonload()
gebeurtenis.Tegelijkertijd maakt het containerelement nog niet noodzakelijkerwijs deel uit van de webpaginalay-out. Het kan bijvoorbeeld verborgen zijn met
display:none
stijl die eraan is toegewezen. In dit geval vertraagt de viewer het initialisatieproces totdat de webpagina het containerelement weer in de layout plaatst. In dat geval wordt het laden van de viewer automatisch hervat.Hieronder ziet u een voorbeeld van het maken van een viewer-instantie, het doorgeven van de minimaal benodigde configuratieopties aan de constructor en het aanroepen van de
init()
methode. In het voorbeeld wordt uitgegaan van het volgende:- De viewerinstantie is
interactiveVideoViewer
. - De naam van de tijdelijke aanduiding
DIV
iss7viewer
. - De URL van de afbeeldingsserver is
https://aodmarketingna.assetsadobe.com/is/image/
. - De URL van de videoserver is
https://gateway-na.assetsadobe.com/DMGateway/public/aodmarketingna
. - De inhoud-URL is
https://aodmarketingna.assetsadobe.com/
. - Het element is
/content/dam/mac/aodmarketingna/dm-viewers-content/video/Glacier.mp4
. - De interactieve gegevens zijn
is/content/content/dam/mac/aodmarketingna/_VTT/dm-viewers-content/video/Glacier.mp4.svideo.vtt
.
code language-html <script type="text/javascript"> var interactiveVideoViewer = new s7viewers.InteractiveVideoViewer({ "containerId":"s7viewer", "params":{ "asset":"/content/dam/mac/aodmarketingna/dm-viewers-content/video/Glacier.mp4", "config":"/etc/dam/presets/viewer/Shoppable_Video_Dark", "serverurl":"https://aodmarketingna.assetsadobe.com/is/image/", "videoserverurl":"https://gateway-na.assetsadobe.com/DMGateway/public/aodmarketingna", "contenturl":"https://aodmarketingna.assetsadobe.com/", "interactivedata":"is/content/content/dam/mac/aodmarketingna/_VTT/dm-viewers-content/video/Glacier.mp4.svideo.vtt" } }).init(); </script>
De volgende code is een volledig voorbeeld van een triviale webpagina die de Interactive Video Viewer insluit met een vaste grootte:
code language-html <!DOCTYPE html> <html> <head> <script type="text/javascript" src="https://aodmarketingna.assetsadobe.com/etc/dam/viewers/s7viewers/html5/js/InteractiveVideoViewer.js"></script> <style type="text/css"> #s7viewer.s7interactivevideoviewer { width: 640px; height: 480px; } </style> </head> <body> <div id="s7viewer" style="position:relative;"></div> <script type="text/javascript"> var interactiveVideoViewer = new s7viewers.InteractiveVideoViewer({ "containerId":"s7viewer", "params":{ "asset":"/content/dam/mac/aodmarketingna/dm-viewers-content/video/Glacier.mp4", "config":"/etc/dam/presets/viewer/Shoppable_Video_Dark", "serverurl":"https://aodmarketingna.assetsadobe.com/is/image/", "videoserverurl":"https://gateway-na.assetsadobe.com/DMGateway/public/aodmarketingna", "contenturl":"https://aodmarketingna.assetsadobe.com/", "interactivedata":"is/content/content/dam/mac/aodmarketingna/_VTT/dm-viewers-content/video/Glacier.mp4.svideo.vtt" } }).init(); </script> </body> </html>
- De viewerinstantie is
Responsief ontwerpinsluiting met onbeperkte hoogte
Bij responsieve ontwerpinsluiting heeft de webpagina normaal gesproken een flexibele indeling die de runtimegrootte van de container van de viewer bepaalt DIV
. In het volgende voorbeeld wordt ervan uitgegaan dat de webpagina de container van de viewer toestaat DIV
om 40% van de grootte van het venster van de Webbrowser te nemen, verlatend zijn hoogte onbeperkt. De HTML-code van de webpagina ziet er als volgt uit:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.holder {
width: 40%;
}
</style>
</head>
<body>
<div class="holder"></div>
</body>
</html>
Het toevoegen van de viewer aan een dergelijke pagina is vergelijkbaar met de stappen voor het insluiten van een vaste grootte. Het enige verschil is dat u de viewergrootte niet expliciet hoeft te definiëren.
- Het JavaScript-bestand van de viewer toevoegen aan uw webpagina.
- De container DIV definiëren.
- De viewer maken en initialiseren
Alle bovenstaande stappen zijn gelijk aan die bij het insluiten van de vaste grootte. De container DIV toevoegen aan het bestaande "holder"
DIV. De volgende code is een volledig voorbeeld. U ziet hoe de grootte van de viewer verandert wanneer de grootte van de browser wordt gewijzigd en hoe de hoogte-breedteverhouding van de viewer overeenkomt met het element.
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://aodmarketingna.assetsadobe.com/etc/dam/viewers/s7viewers/html5/js/InteractiveVideoViewer.js"></script>
<style type="text/css">
.holder {
width: 40%;
}
</style>
</head>
<body>
<div class="holder">
<div id="s7viewer" style="position:relative"></div>
</div>
<script type="text/javascript">
var interactiveVideoViewer = new s7viewers.InteractiveVideoViewer({
"containerId":"s7viewer",
"params":{
"asset":"/content/dam/mac/aodmarketingna/dm-viewers-content/video/Glacier.mp4",
"config":"/etc/dam/presets/viewer/Shoppable_Video_Dark",
"serverurl":"https://aodmarketingna.assetsadobe.com/is/image/",
"videoserverurl":"https://gateway-na.assetsadobe.com/DMGateway/public/aodmarketingna",
"contenturl":"https://aodmarketingna.assetsadobe.com/",
"interactivedata":"is/content/content/dam/mac/aodmarketingna/_VTT/dm-viewers-content/video/Glacier.mp4.svideo.vtt"
}
}).init();
</script>
</body>
</html>
De volgende voorbeeldpagina illustreert het levensechte gebruik van responsieve ontwerpinsluiting met onbeperkte hoogte:
Responsief insluiten met gedefinieerde breedte en hoogte
Als er responsieve insluiting is waarbij breedte en hoogte zijn gedefinieerd, is de opmaak van de webpagina anders. Het verstrekt beide grootte aan "holder"
DIV en centreer het in het browser venster. Bovendien stelt de webpagina de grootte van de HTML
en BODY
tot 100 procent.
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
html, body {
width: 100%;
height: 100%;
}
.holder {
position: absolute;
left: 20%;
top: 20%;
width: 60%;
height: 60%;
}
</style>
</head>
<body>
<div class="holder"></div>
</body>
</html>
De overige insluitingsstappen zijn identiek aan de stappen die worden gebruikt voor het insluiten van responsieve lagen met onbeperkte hoogte. Het resulterende voorbeeld is het volgende:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://aodmarketingna.assetsadobe.com/etc/dam/viewers/s7viewers/html5/js/InteractiveVideoViewer.js"></script>
<style type="text/css">
html, body {
width: 100%;
height: 100%;
}
.holder {
position: absolute;
left: 20%;
top: 20%;
width: 60%;
height: 60%;
}
</style>
</head>
<body>
<div class="holder">
<div id="s7viewer" style="position:relative"></div>
</div>
<script type="text/javascript">
var interactiveVideoViewer = new s7viewers.InteractiveVideoViewer({
"containerId":"s7viewer",
"params":{
"asset":"/content/dam/mac/aodmarketingna/dm-viewers-content/video/Glacier.mp4",
"config":"/etc/dam/presets/viewer/Shoppable_Video_Dark",
"serverurl":"https://aodmarketingna.assetsadobe.com/is/image/",
"videoserverurl":"https://gateway-na.assetsadobe.com/DMGateway/public/aodmarketingna",
"contenturl":"https://aodmarketingna.assetsadobe.com/",
"interactivedata":"is/content/content/dam/mac/aodmarketingna/_VTT/dm-viewers-content/video/Glacier.mp4.svideo.vtt"
}
}).init();
</script>
</body>
</html>
Insluiten met op setter gebaseerde API
In plaats van JSON-gebaseerde initialisatie, is het mogelijk om op setter-gebaseerde API en no-args aannemer te gebruiken. Met deze API-constructor worden geen parameters gebruikt en worden configuratieparameters opgegeven met setContainerId()
, setParam()
, en setAsset()
API-methoden met afzonderlijke JavaScript-aanroepen.
In het volgende voorbeeld wordt het gebruik van insluiting met een vaste grootte met de op een setter gebaseerde API geïllustreerd:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://aodmarketingna.assetsadobe.com/etc/dam/viewers/s7viewers/html5/js/InteractiveVideoViewer.js"></script>
<style type="text/css">
#s7viewer.s7interactivevideoviewer {
width: 640px;
height: 480px;
}
</style>
</head>
<body>
<div id="s7viewer" style="position:relative;width:640px;height:360px;"></div>
<script type="text/javascript">
var interactiveVideoViewer = new s7viewers.InteractiveVideoViewer();
interactiveVideoViewer.setContainerId("s7viewer");
interactiveVideoViewer.setParam("config", "/etc/dam/presets/viewer/Shoppable_Video_Dark");
interactiveVideoViewer.setParam("serverurl", "https://aodmarketingna.assetsadobe.com/is/image/");
interactiveVideoViewer.setParam("videoserverurl", "https://gateway-na.assetsadobe.com/DMGateway/public/aodmarketingna");
interactiveVideoViewer.setParam("contenturl", "https://aodmarketingna.assetsadobe.com/");
interactiveVideoViewer.setParam("interactivedata", "is/content/content/dam/mac/aodmarketingna/_VTT/dm-viewers-content/video/Glacier.mp4.svideo.vtt");
interactiveVideoViewer.setAsset("/content/dam/mac/aodmarketingna/dm-viewers-content/video/Glacier.mp4");
interactiveVideoViewer.init();
</script>
</body>
</html>