[Greasemonkey] Videojs Funktionscall herausfinden ?

Dieses Thema im Forum "Webentwicklung" wurde erstellt von t001, 27. September 2016 .

  1. 27. September 2016
    Hallo,

    ich versuch gerade ein embedded Video von Openload per User Skript automatisch zu starten.
    Bei dem Flow- und jwplayer war es relativ einfach da reichten die folgenden calls:

    flowplayer().load()
    flowplayer().play()

    jwplayer().play()

    Doch beim videojs-player bekomm ich es nicht hin.
    Ich weiß das die Methode .play() auch hier existiert doch weiß ich nicht was davor kommt.

    Nun stellt sich mir die frage ob ich irgendwie herausfinden kann wie Openload ihren Player genannt haben?
     
  2. 27. September 2016
    AW: [Greasemonkey] Videojs Funktionscall herausfinden ?

    Alle Funktionen sind hier drin: http://cdnjs.cloudflare.com/ajax/libs/video.js/5.10.7/video.min.js

    Der HTML5 Videoplayer wird beim Play mit dem nötigem Source versorgt der eine individuelle Session enthält.

    this.player_.play()
     
  3. 27. September 2016
    AW: [Greasemonkey] Videojs Funktionscall herausfinden ?

    Das hatte ich so ähnlich auch schon ausprobiert aber wenn ich das in die Konsole eingebe bekomm ich nur die Fehlermeldung.
    TypeError: this.player_ is undefined
     
  4. 27. September 2016
    AW: [Greasemonkey] Videojs Funktionscall herausfinden ?

    schon klar, weil "this" ja nicht der Name des erstellten Objekts ist. Den habe ich aber auch nicht gefunden, der wird vermutlich dynamisch sein und erst generiert wenn der Popup ausgelöst wurde.

    Das übergebene Objekt ist videojs und die PlayerId olvideo

    videojs.getPlayers gibts noch, bzw .players['olvideo']

    Also existieren tut videojs.players.olvideo.load und play aber funktioniert nicht. Ist wohl das falsche Objekt.

    Wenn du das Video ohne Werbung einbetten willst, einfach in einem iframe mit sandbox in der allow-scripts und allow-plugins erlaubt sind.
     
  5. 27. September 2016
    AW: [Greasemonkey] Videojs Funktionscall herausfinden ?

    Um die Werbung geht’s mir ja nicht das popup kann sich ruhig öffnen ich möchte nur das mein Skript nach laden des Tabs den Player lädt, startet und in den Fullscreen wechselt.
     
  6. 27. September 2016
    AW: [Greasemonkey] Videojs Funktionscall herausfinden ?

    Code:
    document.querySelector('#videooverlay').click(); // ohne wird das video nicht gestartet (?)
    videojs.getPlayers()['olvideo'].player_.play();
     
  7. 28. September 2016
    AW: [Greasemonkey] Videojs Funktionscall herausfinden ?

    Hast du das getestet oder war das nur eine Idee wie es funktionieren könnte ?
    Den bei mir funktionieren beide Code Zeilen nicht weder im Script noch in der Konsole.
    In der Konsole bekomme ich folgende Fehlermeldungen:

    videojs.getPlayers()['olvideo'].player_.play();
    ReferenceError: videojs is not defined

    document.querySelector('#videooverlay').click();
    TypeError: document.querySelector(...) is null

    Muss ich um die Funktionen zu nutzen vielleicht http://cdnjs.cloudflare.com/ajax/libs/video.js/5.10.7/video.min.js in mein Script einbinden?


    Code:
     
    // ==UserScript==
    // @name 3. Klick the Hit - Openload
    // @namespace bs.to/serie/
    // @include https://bs.to/serie/*/*/*/OpenLoad-1
    // @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
    // @version 1
    // ==/UserScript==
    
    var myButton = document.createElement("button");
    var Text = document.createTextNode("Start");
    
    myButton.appendChild(Text);
    document.getElementById("sp_right").appendChild(myButton);
    
    myButton.onclick = function() { 
     document.querySelector('#videooverlay').click();
     videojs.getPlayers()['olvideo'].player_.play(); 
    }
    
     
  8. 28. September 2016
    AW: [Greasemonkey] Videojs Funktionscall herausfinden ?

    Das Video von OpenLoad ist in einem iframe ;-)

    Code:
    // ==UserScript==
    // @name Autoplay on openload.co
    // @namespace openload autoplay
    // @include https://openload.co/embed/*
    // @version 1.0.0
    // ==/UserScript==
    
    document.querySelector('#videooverlay').click();
    videojs.getPlayers()['olvideo'].player_.play();
     
  9. 28. September 2016
    Zuletzt bearbeitet: 28. September 2016
    AW: [Greasemonkey] Videojs Funktionscall herausfinden ?

    ah besten dank jetzt passiert schonmal was
    Jetzt fängt das video an zu laden nachdem der Tab aktualisiert wurde nur entlädt es sich direkt wieder.

    Edit: Ich hab jetzt versucht das ganze Zeitversetzt zu starten aber irgendwie hat sich da ein Fehler eingeschlichen oder kann man setTimeout nicht innerhalb eines Iframes starten ?
    Code:
    window.setTimeout(play, 5000);
    function play()
    {
     console.log("Start");
     document.querySelector('#videooverlay').click();
     videojs.getPlayers()['olvideo'].player_.play();
    }
    Edit2: Ich hab noch die folgenden beiden Fehlermeldungen gefunden

    HTTP-Content-Type "text/html" wird nicht unterstützt. Laden der Medienressource https://openload.co/stream/HERE%20IS%20THE%20LINK?mime=true fehlgeschlagen.

    VIDEOJS: ERROR: (CODE:4 MEDIA_ERR_SRC_NOT_SUPPORTED) The media could not be loaded, either because the server or network failed or because the format is not supported. Object { code: 4, message: "The media could not be loaded, eith…" }

    Muss ich vielleicht noch etwas übergeben beim Aufruf ?
     
  10. 28. September 2016
    AW: [Greasemonkey] Videojs Funktionscall herausfinden ?

    Bei mir behebt sich das problem in greasemonkey wenn ich "run-at" auf "document-idle" setze.
    In Tampermonkey (Chrome) läuft es auch ohne die Änderung.

    Code:
    // ==UserScript==
    // @name Autoplay on openload.co
    // @namespace openload autoplay
    // @include https://openload.co/embed/*
    // @version 1.0.0
    // @run-at document-idle
    // ==/UserScript==
    
    document.querySelector('#videooverlay').click();
    videojs.getPlayers()['olvideo'].player_.play();
     
  11. 28. September 2016
    Zuletzt bearbeitet: 1. Oktober 2016
    AW: [Greasemonkey] Videojs Funktionscall herausfinden ?

    Hmm bei mir bleibt das Problem leider bestehen nur die Fehlermeldungen konnte ich nicht reproduzieren.

    Code:
    // ==UserScript==
    // @name 2. Klick the Hit - Openload
    // @namespace bs.to/serie/
    // @include https://openload.co/embed/*
    // @version 1.0.0
    // @grant none
    // @run-at document-idle
    // ==/UserScript==
    console.log("Start");
    document.querySelector('#videooverlay').click();
    videojs.getPlayers()['olvideo'].player_.play();
    console.log("Ende");
     
  12. 1. Oktober 2016
    AW: [Greasemonkey] Videojs Funktionscall herausfinden ?

    Ist es den nicht möglich im iframe mit setTimeout zu arbeiten?

    Ich vermute das der Befehl "document.querySelector('#videooverlay').click();" zu früh ausgeführt wird. Denn wenn ich den Iframe manuell in einem 2ten Tab öffnen und den Befehl in die Konsole eingebe funktioniert es einwandfrei.

    Ich hatte auch überlegt per Script die src auszulesen und dann in einem neuen Tab zu öffnen und dort .click() und .play() auszuführen. Nur weiß ich nicht welche URL ich dann für den Include Befehl brauche denn aus z.B

    https://openload.co/embed/r3Qxa6zWdwM/Die.Simpsons.S01E01.Es.weihnachtet.schwer.German.DVDRiP.XviD.iNTERNAL-UTOPiA.mkv

    wird

    data:text/html,%3C!DOCTYPE%20html%3E%0A%3Chtml%20lang%3D%22en-US%22%3E%0A%3Chead%3E%3Cmeta%20charset%3D%22utf-8%22%20%2F%3E%3Cbase%20href%3D%22https%3A%2F%2Fopenload.co%2F%22%20%2F%3E%3Cscript%3Ewindow.exclude%3Dtrue%3Bwindow.turnoff%3Dtrue%3Bwindow.useCors%3Dtrue%3Bdocument.addEventListener(%22mouseup%22%2Cfunction()%7Blogpopup(1)%3B%7D%2Cfalse)%3Bwindow.corsToken...

    Mit Chrome funktioniert auch alles einwandfrei nur kann ich in chrome keinen Fullscreen ohne Benutzereingabe realisieren
     
  13. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.