# Videos
Videos können den Nutzer mitreisen. Nutze Videos, um Bewegung und Schwung in deine Geschichte zu bringen. Storytellr.js bietet verschiedene Möglichkeiten, ein Video auf deiner Webseite zu platzieren. Neben lokal gehosteten Videos, kannst du auch Videos von YouTube und Vimeo einfach einsetzen. Storytellr.js bietet dir hierfür den Video-Player an. Dieser generiert dir den kompletten Code, so wie du ihn gerade möchtest.
# Inhalt in diesem Abschnitt
# YouTube
Damit du YouTube-Videos möglichst einfach und responsive auf deiner Storytelling-Webseite platzieren kannst,
benötigst du folgenden <html>
Code. Die Klasse story-video-container-wrapper
sorgt für das responsive Verhalten und
darf nicht gelöscht werden. Zusätzlich benötigst du eine ID
.
# Komponent einsetzen
Der Code für das Video wird durch den Aufruf der JavaScript-Funktion innerhalb des <div>
Element generiert.
<section class="story-section">
<div class="story-video-container-wrapper" id="videoPlayerID"></div>
</section>
2
3
Durch das Aufrufen der VideoPlayer-Funktion kannst du dein YouTube-Video individuell konfigurieren.
new $story.VideoPlayer({
id: "videoPlayerID", // deine definierte ID
youtube: {
videoId: "dgQfHeA6vOI", // deine ID des YouTube-Videos
allowFullScreen: true, // default: true
autoplay: false, // default: false
controls: true, // default: true
end: 25, // default: false
loop: true, // default: false
modestbranding: true, // default: false
mute: true, // default: false
playsInline: false, // default: false
start: 20 // default: false
}
})
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Parameter | Type | Wert | Beschreibung |
---|---|---|---|
id * | String | VideoPlayer-ID | Deine zuvor definierte ID im HTML. |
youtube.videoId * | String | YouTube Video ID | Die ID deines YouTube-Videos. |
youtube.allowFullScreen | Boolean | true / false | Darf der Nutzer das Video im Vollbildmodus schauen? |
youtube.autoplay | Boolean | true / false | Automatisches abspielen des Videos. Funktioniert in modernen Browsern nur, wenn das Video stumm geschalten wurde. youtube.mute = true |
youtube.controls | Boolean | true / false | Soll die Toolbar mit pause , play usw. angezeigt werden? |
youtube.end | Integer | Sekunden | Zeitpunkt zu dem das Video gestoppt werden soll. Funktioniert nicht, wenn das Video im loop abgespielt wird. |
youtube.loop | Boolean | true / false | Video wird in einer Schlaufe wiedergegeben. |
youtube.modestbranding | Boolean | true / false | Regelt das Anzeigen des YouTube-Logos in der Steuerleiste. |
youtube.mute | Boolean | true / false | Soll das Video stumm abgespielt werden? Muss true sein, wenn youtube.autoplay true ist. |
youtube.playsInline | Boolean | true / false | Wenn true , dann wird das Video auf IOS-Geräten nicht im Vollbildmodus dargestellt. |
youtube.start | Integer | Sekunden | Zeitpunkt zu dem das Video gestartet werden soll. Funktioniert nicht, wenn das Video im loop abgespielt wird. |
# Generierter HTML-Code
Aus den obenstehenden Konfigurationen wird folgender HTML-Code generiert.
<div class="story-video-container-wrapper" id="Your-Youtube-Video-Name">
<div class="story-video-container">
<iframe allowfullscreen="allowfullscreen" mozallowfullscreen="mozallowfullscreen" msallowfullscreen="msallowfullscreen" oallowfullscreen="oallowfullscreen" webkitallowfullscreen="webkitallowfullscreen" class="story-youtube-player" src="http://www.youtube.com/embed/M7lc1UVf-VE?playlist=M7lc1UVf-VE;loop=1;modestbranding=1;start=20;end=25;mute=1; allowfullscreen" style="width:100%; height: 100%"></iframe>
</div>
</div>
2
3
4
5
# Verfügbare CSS-Klassen für Styling
Die folgenden CSS-Klassen können für ein individuelles Styling genutzt werden.
CSS-Klasse | Beschreibung |
---|---|
.story-video-container-wrapper | Klasse für das Styling des Wrappers für den Video-Container. |
.story-video-container | Klasse für das Styling des Containers für das Video. |
.story-youtube-player | Klasse für das Styling des <iframe> Elements. |
# Vimeo
# Komponent einsetzen
Damit du Vimeo Videos möglichst einfach und responsive auf deiner Storytelling-Webseite platzieren kannst,
benötigst du folgenden <html>
Code. Die Klasse story-video-container-wrapper
sorgt für das responsive Verhalten und
darf nicht gelöscht werden. Zusätzlich benötigst du eine ID
. Der Aufbau ist gleich wie bei YouTube-Videos.
Der Code für das Video wird durch den Aufruf der JavaScript-Funktion innerhalb des <div>
Element generiert.
<section class="story-section">
<div class="story-video-container-wrapper" id="videoPlayerID"></div>
</section>
2
3
Durch das Aufrufen der VideoPlayer-Funktion kannst du dein Vimeo-Video individuell konfigurieren.
new $story.VideoPlayer({
id: "videoPlayerID", // deine definierte ID
vimeo: {
videoId: "120142633", // deine ID des YouTube-Videos
allowFullScreen: true, // default: false
autopause: true, // default: false
autoplay: true, // default: false
controls: false, // default: true
loop: false, // default: false
muted: true, // default: false
playsInline: false, // default: false
quality: "auto" // default: "auto"
}
})
2
3
4
5
6
7
8
9
10
11
12
13
14
Parameter | Type | Wert | Beschreibung |
---|---|---|---|
id * | String | VideoPlayer-ID | Deine zuvor definierte ID im HTML. |
vimeo.videoId * | String | YouTube Video ID | Die ID deines Vimeo-Videos. |
vimeo.allowFullScreen | Boolean | true / false | Darf der Nutzer das Video im Vollbildmodus schauen? |
vimeo.autoplay | Boolean | true / false | Automatisches Abspielen des Videos. Funktioniert in modernen Browsern nur, wenn das Video stumm geschalten wurde. vimeo.mute = true |
vimeo.autopause | Boolean | true / false | Erkennt, wenn ein anderes Video gestartet wird und pausiert sich selbst. |
vimeo.controls | Boolean | true / false | Soll die Toolbar mit pause , play usw. angezeigt werden? |
vimeo.loop | Boolean | true / false | Video wird in einer Schlaufe wiedergegeben. |
vimeo.muted | Boolean | true / false | Soll das Video stumm abgespielt werden? Muss true sein, wenn vimeo.autoplay true ist. |
vimeo.playsInline | Boolean | true / false | Wenn true , dann wird das Video auf IOS-Geräten nicht im Vollbildmodus dargestellt. |
vimeo.quality | String | 240p 360p 540p 720p 1080p 2k 4k auto . | Standardmässig wird auto eingestellt. Beachte den untenstehenden Hinweis. |
Vimeo-Hinweis
Für das Einstellen der Parameter vimeo.controls
und vimeo.quality
, muss das Video von einem Plus-, Pro-, Business- oder Premium-Account stammen.
# Generierter HTML-Code
Aus den obenstehenden Konfigurationen wird folgender HTML-Code generiert.
<div class="story-video-container-wrapper" id="videoPlayerID">
<div class="story-video-container">
<iframe allowfullscreen="allowfullscreen" mozallowfullscreen="mozallowfullscreen" msallowfullscreen="msallowfullscreen" oallowfullscreen="oallowfullscreen" webkitallowfullscreen="webkitallowfullscreen" title="vimeo-player" class="story-vimeo-player" src="https://player.vimeo.com/video/120142633?loop=1;muted=1;quality=1080p" style="width:100%; height: 100%"></iframe>
</div>
</div>
2
3
4
5
# Verfügbare CSS-Klassen für Styling
Die folgenden CSS-Klassen können für ein individuelles Styling genutzt werden.
CSS-Klasse | Beschreibung |
---|---|
.story-video-container-wrapper | Klasse für das Styling des Wrappers für den Video-Container. |
.story-video-container | Klasse für das Styling des Containers für das Video. |
.story-vimeo-player | Klasse für das Styling des <iframe> Elements. |
# Lokal
# Komponent einsetzen
Mit HTML5
kannst du einfach deine eigenen lokal abgespeicherten Videos auf deiner Webseite einbetten.
Du kannst verschiedene Quellen mit verschiedenen Dateiformaten angeben, der Browser wählt die für ihn passende
Version aus. Storytellr bietet dir einige CSS-Klassen, die dir den Einsatz der Videos zusätzlich vereinfachen.
<section class="story-section">
<div class="story-video-container-wrapper">
<div class="story-video-container">
<video class="story-video-local" width="1440" height="810" poster="../src/assets/video/local-video-poster.jpg" autoplay muted >
<source src="../src/assets/video/local-video.mp4" type="video/mp4">
<source src="../src/assets/video/local-video.ogg" type="video/ogg">
Leider unterstützt dein Browser keine Video-Tags. Wenn du möchtest, kannst du das Video
<a href="../src/assets/video/Header-Image.mp4">herunterladen</a> und in deinem eigenen Video-Player
anschauen.
</video>
</div>
</div>
</section>
2
3
4
5
6
7
8
9
10
11
12
13
Du kannst deinen HTML5-Videos verschiedene Attribute für die Steuerung deiner Videos mitgeben.
Attribute | Beschreibung |
---|---|
src * | Pfad zum Video. |
autoplay | Automatisches Abspielen des Videos. Funktioniert in modernen Browsern nur, wenn das Video stumm muted geschalten wurde. |
controls | Zeigt die Steuerelemente des Videos an. |
height | Höhe des Videos in Pixel. |
width | Breite des Videos in Pixel. |
loop | Video wird in einer Schlaufe wiedergegeben. |
muted | Video wird stumm abgespielt. |
poster | Pfad zum Standbild des Videos. |
# Verfügbare CSS-Klassen für Styling
Die folgenden CSS-Klassen können für ein individuelles Styling genutzt werden.
CSS-Klasse | Beschreibung |
---|---|
.story-video-container-wrapper | Klasse für das Styling des Wrappers für den Video-Container. |
.story-video-container | Klasse für das Styling des Containers für das Video. |
.story-video-local | Klasse für das Styling des <video> Elements. |
# Slideshow
Mit Storytellr.js hast du die Möglichkeit eine Slideshow von verschiedenen Videos zu erstellen.
Storytellr bietet dir hierfür eine Funktion, welche dir den HTML-Code
generiert und zusätzlich einige CSS-Klassen
für ein individuelles Styling.
# Komponent einsetzen
Der folgende HTML-Code
wird für den Grundaufbau benötigt. Du kannst zusätzlich zum Video ein poster
als Standbild des Videos nutzen.
Zusätzlich kannst du alle Parameter die in Lokal/ Komponent einsetzen beschrieben sind nutzen und mehrere Quellen für das Video angeben.
<section class="story-section">
<div class="story-media-slideshow" id="videoSlideshow">
<div class="story-media-slideshow-container">
<div class="story-media-image">
<video class="story-media-image-player" width="1920" height="1280" controls poster="../assets/img/poster-video01.jpg">
<source src="../assets/video/video01.mp4" type="video/mp4">
Leider unterstützt dein Browser keine Audio-Tags. Wenn du möchtest, kannst du das Audio
<a href="../assets/video/video01.mp4">herunterladen</a> und in deinem eigenen Audio-Player
anhören.
</video>
</div>
</div>
<div class="story-media-slideshow-container">
<div class="story-media-image">
<video class="story-media-image-player" width="1920" height="1280" controls poster="../assets/img/poster-video02.jpg">
<source src="../assets/video/video01.mp4" type="video/mp4">
<source src="../assets/video/video01.ogg" type="video/ogg">
Leider unterstützt dein Browser keine Audio-Tags. Wenn du möchtest, kannst du das Audio
<a href="../assets/video/video01.mp4">herunterladen</a> und in deinem eigenen Audio-Player
anhören.
</video>
</div>
</div>
</div>
</section>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Wenn du den HTML-Grundaufbau
erstellt hast, kannst du anschliessend die Storytellr-Funktion für Multimediale-Slideshows
aufrufen.
new $story.MediaSlideshow({
id: "videoSlideshow", // deine definierte ID
autoplay: true // default true
})
2
3
4
Parameter | Type | Wert | Beschreibung |
---|---|---|---|
id * | String | videoSlideshow | Deine zuvor definierte ID im HTML. |
autoplay | Boolean | true / false | Sollen die Videos beim Durchklicken der Slideshow automatisch gestartet und gestoppt werden? |
# Generierter HTML-Code
Aus den obenstehenden Konfigurationen wird folgender HTML-Code generiert.
<section class="story-section">
<div class="story-media-slideshow" id="videoSlideshow">
<div class="story-media-slideshow-container" style="display: block;">
<div class="story-media">
<video class="story-media-player" width="1920" height="1280" controls poster="../assets/img/poster-video01.jpg">
<source src="../assets/video/video01.mp4" type="video/mp4">
Leider unterstützt dein Browser keine Audio-Tags. Wenn du möchtest, kannst du das Audio
<a href="../assets/video/video01.mp4">herunterladen</a> und in deinem eigenen Audio-Player
anhören.
</video>
</div>
<div class="story-media-controllers">
<span class="story-media-controller story-media-controller-0 active-media-controller" onclick="$story.MediaSlideshow.showCurrentMedia("videoSlideshow", 0)"></span>
<span class="story-media-controller story-media-controller-1" onclick="$story.MediaSlideshow.showCurrentMedia("videoSlideshow", 1)"></span>
</div>
</div>
<div class="story-media-slideshow-container" style="display: none;">
<div class="story-media">
<video class="story-media-player" width="1920" height="1280" controls poster="../assets/img/poster-video02.jpg">
<source src="../assets/video/video01.mp4" type="video/mp4">
<source src="../assets/video/video01.ogg" type="video/ogg">
Leider unterstützt dein Browser keine Audio-Tags. Wenn du möchtest, kannst du das Audio
<a href="../assets/img/poster-video02.jpg">herunterladen</a> und in deinem eigenen Audio-Player
anhören.
</video>
</div>
<div class="story-media-controllers">
<span class="story-media-controller story-media-controller-0 active-media-controller" onclick="$story.MediaSlideshow.showCurrentMedia("videoSlideshow", 0)"></span>
<span class="story-media-controller story-media-controller-1" onclick="$story.MediaSlideshow.showCurrentMedia("videoSlideshow", 1)"></span>
</div>
</div>
</div>
</section>
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Verfügbare CSS-Klassen für Styling
Die folgenden CSS-Klassen können für ein individuelles Styling genutzt werden.
CSS-Klasse | Beschreibung |
---|---|
.story-media-slideshow | Klasse für das Styling des Wrappers der Slideshow. |
.story-media-slideshow-container | Klasse für das Styling des Containers der Slideshow. |
.story-media-controllers | Klasse für das Styling des Wrappers der Controller. |
.story-media-controller | Klasse für das Styling der einzelnen Controller. |
.active-media-controller | Klasse für das Styling des aktiven Controllers. |