Safari lädt kein HTML5-Video in der Rails-App

8

Ich habe eine Rails-App, die ich versuche, ein HTML5-Video mit dem folgenden Markup abzuspielen:

Funktioniert nicht:

%Vor%

Bei Safari wird im Video "Laden ..." angezeigt, aber es wird nie abgespielt, obwohl es in Chrome und Firefox erwartungsgemäß funktioniert. Ich dachte, dass es zuerst der Pfad gewesen sein könnte, aber ich habe absolute Pfade, relative Pfade und den Rails image_path Helfer ohne Ergebnisse versucht.

Zum Debuggen habe ich dieses Beispiel-HTML5-Video-Tag kopiert und es wird wie erwartet in Safari wiedergegeben (der einzige Unterschied ist hier das Quellvideo):

Works : extern gehostetes Beispielvideo

%Vor%

Wenn ich jedoch genau dasselbe Markup anwende und dieselben Dateien lokal hostet, funktioniert das Video nicht mehr in Safari:

Funktioniert nicht : lokal gehostetes Beispielvideo

%Vor%

Anmerkungen:

  • Ich bekomme keine Fehler in der Safari-Konsole oder im Rails-Protokoll. keine 404s in den Dateien oder irgendetwas.
  • Lokal gehostete Videos funktionieren in Chrome und FF, daher weiß ich, dass die Pfade korrekt sind.
  • Von außen gehostete Videos funktionieren in Safari gut.
  • Lokal gehostete Videos funktionieren in Safari außerhalb der Rails-App. Ich habe eine statische Seite erstellt und alle obigen Beispiele mit gutem Erfolg verwendet.

Aufgrund all dessen scheint es, als würde eine Kombination von Safari und Rails verhindern, dass die Videos geladen werden.

    
sea_monster 16.11.2015, 21:05
quelle

1 Antwort

2

Ich hatte das gleiche Problem und herausgefunden, dass es der Byte-Bereich ist, den Sie für das Vor- und Zurückspulen im Video benötigen.

Hier ist eine Middleware, die Unterstützung für den Byte-Range-HTTP-Header hinzufügt :

%Vor%

Weitere Informationen finden Sie unter rails media datei stream akzeptiert Byte-Bereich Anfrage über send_data oder send_file Methode oder dieser Ruby Forum Beitrag .

    
devanand 13.02.2016 11:37
quelle