Ergebnis 1 bis 20 von 20

Thema: Unterschiedliches Verhalten bei Video einbinden

  1. #1
    Contao-Fan
    Registriert seit
    17.10.2012.
    Ort
    Bern - Schweiz
    Beiträge
    443

    Frage Unterschiedliches Verhalten bei Video einbinden

    Tach zusammen

    Ich habe mir mal die Erweiterung "html5media" (3.2.0.9008) geholt und einen Film auf der Seite eingebunden.
    Im Inhaltselement habe ich eine MP4, OGV und WebM hinterlegt. Zudem habe ich die Checkboxen aktiviert, so dass der Film automatisch abgespielt wird und der Film wiederholt wird.

    Das funktioniert eigentlich soweit, nun ist es aber so dass ich in den Browsern ein unterschiedliches Verhalten habe und ich nicht genau weiss, wie es in den Browser hinkriege. Hier mal die Zusammenstellung:

    Firefox: Startet automatisch | wiederholt den Film (so sollte es ja auch sein )
    Chrome: Startet nicht automatisch | wiederholt den Film
    Opera: Startet nicht automatisch | wiederholt den Film
    Safari: Startet automatisch | wiederholt den Film nicht

    IE: Funktioniert so gut wie nix, da sieht die Website sowieso scheisse aus (werde ich in einem zweiten Schritt optimieren)

    Das selbe Erlebnis habe ich auch, wenn ich nur den Video-Code verwende, daher gehe ich der Annahme, dass dies lediglich am Verhalten der Browser liegt.
    HTML-Code:
        <video autoplay loop width="2048" height="1536" >
    		<source src="tl_files/brunello-caffee/videos/regelmaessige-lieferung.webm" type="video/webm" />
      		<source src="tl_files/brunello-caffee/videos/regelmaessige-lieferung.ogg"  type="video/ogg" />
       		<source src="tl_files/brunello-caffee/videos/regelmaessige-lieferung.ogv"  type="video/ogv" />
       		<source src="tl_files/brunello-caffee/videos/regelmaessige-lieferung.mp4"  type="video/mp4" /> 	
       		<source src="tl_files/brunello-caffee/videos/regelmaessige-lieferung.flv"  type="video/flv" /> 
        </video>
    Kennt sich wer damit aus und kann mir einen Tipp geben, wie ich das Verhalten bei den unterschiedlichen Browser auf einen Nenner bringe?

    THX
    Geändert von Dee (08.09.2017 um 17:44 Uhr)

  2. #2
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Ich habe das gleiche Verhalten bei dem Elementtyp Video/Audio.
    Ich habe ein mp4 eingebunden. Im Firefox läuft das mit Autoplay sofort los.

    Bei Edge, Internet Explorer und Chrome muss man das per Hand starten.
    Ich hätte dies jedoch als Autoplay.

    Weiß jmd rat?
    Gruß Mark

  3. #3
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich meine, ich hätte gesehen, dass man das in diesen Browsern mit nem kleinen Script dann nochmal explicit starten muss. HTML mit Attributen reicht in diesen Browsern wohl nicht mehr aus. Lösungen findest du bestimmt im Netz, wahrscheinlich auf stackoverflow.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  4. #4
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Mit firebug hab ich das hinbekommen:
    ich hab nur bei <video controls autoplay> ergänzt.

    http://easyhtml5video.com/help/html5...toplay-16.html

    jetzt muss ich noch das korrekte template finden...
    Gruß Mark

  5. #5
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Eigentlich steht das ja schon in der ce_player drin:
    PHP-Code:
        <video <?php echo $this->size?><?php if ($this->poster): ?> poster="<?php echo $this->poster?>" preload="none"<?php endif; ?><?php if ($this->autoplay): ?> autoplay<?php endif; ?> controls>
    Das autoplay und controls wird aber bei der Ausgabe nicht berücksichtigt.
    Wenn ich das autoplay im Firebug wieder einfüge, startet der Film.

    warum ist das so?
    Gruß Mark

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.172
    Partner-ID
    10107

    Standard

    Welche Contao Version? Verwendest du Extensions?

  7. #7
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das liegt daran, dass einige Browser, ich glaube seit diesem Jahr, das autoplay blockieren. Geht evtl. noch, wenn du neben autoplay auch muted benutzt. Ansonsten, wie bereits oben erwähnt, kannst du das Video mit einem kleinen Script mit ...play() manuell starten, z.B. nachdem der DOM geladen ist.

    https://www.heise.de/newsticker/meld...n-3833952.html
    Geändert von Andreas (29.09.2017 um 00:35 Uhr)
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  8. #8
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Hab überhaupt kein Plan von Script ,-)

    aber ich glaub ich hab was gefunden.

    Code:
        <script>
                var vid = document.getElementById('video');
    
    function playVid() { 
        vid.play(); 
    }
            </script>
    'video') ist doch bestimmt die Klasse des Videos im HTML....

    Was/Wo genau ist der DOM.
    Kann ich das einfach als HTML-Element nach dem Video einfügen?
    Gruß Mark

  9. #9
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Ich nutze aktuell die 3.5.27.

    Dann macht der autoplay button im Backend aktuell ja keinen Sinn oder?
    Ist das in C4 auch so?
    Gruß Mark

  10. #10
    Contao-Fan
    Registriert seit
    17.10.2012.
    Ort
    Bern - Schweiz
    Beiträge
    443

    Standard

    Den mit dem Autostart für alle Browser habe ich noch nicht hingekriegt.

    Für den Loop habe ich mit folgendem Script nachgeholfen, was eigentlich ganz gut funktioniert:

    HTML-Code:
    <script>
    var myVideo = document.getElementById('vid');
      if (typeof myVideo.loop == 'boolean') { // loop wird unterstützt
      myVideo.loop = true;
      }
     else { // loop wird nicht unterstütz
     myVideo.addEventListener('ended', function () {
        this.currentTime = 0;
        this.play();
      }, false);
    }
    
    myVideo.play();
     </script>
    Edit: Dein Script habe ich fix eingebunden, bei mir funktioniert das aber nicht. Egal ob ich es zu Beginn der Seite einbinde oder am Schluss

    Wie wo was kann ich unter dem DOM verstehen?
    Geändert von Dee (29.09.2017 um 09:41 Uhr)

  11. #11
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    wo platzierst du das genau?
    Gruß Mark

  12. #12
    Contao-Fan
    Registriert seit
    17.10.2012.
    Ort
    Bern - Schweiz
    Beiträge
    443

    Standard

    Das Loop-Script habe ich im Seitenlayout unter "Eigener JavaScript-Code" eingefügt.

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.172
    Partner-ID
    10107

    Standard

    Zitat Zitat von kischd Beitrag anzeigen
    Ist das in C4 auch so?
    Das Problem, dass Andreas angesprochen hat, hat nichts mit Contao zu tun.

  14. #14
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Das Problem, dass Andreas angesprochen hat, hat nichts mit Contao zu tun.
    Das hab ich schon verstanden.
    Aber dann macht ja die Auswahl für autoplay keinen Sinn.
    Das meinte ich.
    Gruß Mark

  15. #15
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.172
    Partner-ID
    10107

    Standard

    Zitat Zitat von kischd Beitrag anzeigen
    Das hab ich schon verstanden.
    Aber dann macht ja die Auswahl für autoplay keinen Sinn.
    Das meinte ich.
    Die Auswahl für autoplay fügt den autoplay Parameter ein, welcher im HTML5 Standard vorhanden ist: https://www.w3.org/TR/2011/WD-html5-...media-autoplay
    In so fern macht das natürlich Sinn .

  16. #16
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    gut du hast recht ;-)
    Gruß Mark

  17. #17
    Contao-Fan
    Registriert seit
    17.10.2012.
    Ort
    Bern - Schweiz
    Beiträge
    443

    Standard

    Dann bleibt wohl nur JavaScript... hat wer einen Ansatz? Meine Kenntnisse sind begrenzt bin aber gerne bereit mich dem zu versuchen

    Edit: oh da gibt es ja bereits einen Ansatz von kischd...

  18. #18
    Contao-Fan
    Registriert seit
    17.10.2012.
    Ort
    Bern - Schweiz
    Beiträge
    443

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    mit einem kleinen Script mit ...play() manuell starten, z.B. nachdem der DOM geladen ist.
    Was genau ist gemeint mit DOM - kann mir das wer erklären?

  19. #19
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    DOM: https://de.wikipedia.org/wiki/Document_Object_Model

    Es gibt viele Beispiele im Netz, wie man ein Video im HTML5 VIDEO-Tag per JS starten kann.

    Zeitpunkte zum Starten:
    • Nachdem der DOM geladen (vorhanden) ist (macht jedes j_- und moo_-Template von Contao)
    • Nachdem alle Requisiten der Seite geladen sind - load Event
    • Mit zeitlicher Verzögerung - setTimeout()
    • Wenn das Video bereit ist abgespielt zu werden - oncanplay
    • ...


    Ich würde das nicht als CE einfügen, sondern in meine eigene Script-Datei, Beispiele: files/js/misc.js, oder j_misc.html5 Template.

    Das Autoplay im CE würde ich dann nicht anhaken, damit es für alle Browser gleich ist. Ich würde dem CE ne Klasse "autoplay" mitgeben und dann diese Videos mit JS suchen und starten. (Oder Template ändern: Attribut AUTOPLAY rausschmeißen und Attribut class="autoplay" hinzufügen oder data-video="autoplay").

    Ganz grob: Wenn du jQuery aufgesetzt hast, kannst du so nach diesen Videos suchen und sie starten (ungetestet)
    PHP-Code:
    var myAutoplayVideos = $('video.autoplay');

    // Debugausgabe in der Konsole der Devtools zum Testen
    console.log(myAutoplayVideos);
    console.debug(myAutoplayVideos);
    console.dir(myAutoplayVideos);

    myAutoplayVideos.play(); 
    Dein Code
    PHP-Code:
    document.getElementById('video'
    sucht, wie der Name bereits vermuten lässt, nach dem einen Element auf der Seite mit der ID "video". Deswegen hat das bei dir u.a. wahrscheinlich auch nicht funktioniert.

    Tipp: Du kannst mal versuchen das Video direkt mit den Devtools im FF im Tab JS-Umgebung mit deinem Code zu starten. Dann brauchst du die Seite nicht immer neu zu laden und müsstest auch direkt Fehler angezeigt bekommen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  20. #20
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von kischd Beitrag anzeigen
    Mit firebug hab ich das hinbekommen:
    Du musst mit den Devtools arbeiten, da Firebug nicht mehr weiterentwickelt wurde und teilweise, gerade bei JS, nicht mehr funktioniert.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •