2016-07-12 30 views
2

1) Ich habe eine mp4-Datei, die hier abgespielt werden kann: http://php.weilomo.com/html/index.html sowohl in mobilen und Desktop-Browsern.mp4 kann nicht in mobilen Browser laden

2) Wenn ich denselben HTML-Code in meinen Server nginx + wildfly8.0 verschiebe, kann dieses Video nur auf dem Desktop abgespielt werden und funktioniert nicht in mobilen Browsern (Safari oder Android). Der Fehler ist: Das Video konnte nicht geladen werden, entweder weil der Server oder das Netzwerk ausgefallen ist oder weil das Format nicht unterstützt wird

Irgendeine Idee?

Danke eine Million.

+0

Wenn iOS und Android MP4 von der älteren 'php.weilomo.com'-Adresse abspielen können, können dieselben Geräte es abspielen, wenn sie an anderer Stelle gespeichert werden. Dieser NGINX-Server ändert oder konvertiert die Videodatei nicht, richtig? Kannst du einen Link zum html ** von deinem eigenen Server ** stellen, also überprüfen wir das da es nicht funktioniert ... –

+0

@ VC.One hier ist das gleiche MP4 in Wildfly im Einsatz. http://120.26.59.202/cloudviewer/mp4.html 1) Ich kann bestätigen, dass es für nginx nicht relevant ist. 2) Ich habe den Clip in webM neu codiert, es ist in Ordnung. –

+0

Ja, ich habe die Datei überprüft. Es spielt in Galerie, Video Player und Dolphin Browser. Aber im Chrome-Browser einfach leeren weißen Bildschirm mit der richtigen Dauer. Ich denke, das 'Profil' von H264 ist falsch. Lass mich etwas mehr recherchieren als beraten. –

Antwort

1

Nach einigen Tagen kämpfen, bin ich mir ziemlich sicher hier ist die richtige Antwort. Ich hoffe, dies kann anderen helfen, falls sie auf dasselbe Problem stoßen.

Um eine mp4 der Lage sein, machen mit html5 Video in einem Web-Browser zu spielen, sollten Sie zunächst auf dieses Thema beziehen: HTML5 - How to stream large .mp4 files?

In meinem Fall, wenn ich „Stellen Sie sicher, dass die moov (Metadaten), bevor das ist mdat (audio/video data) ", die Desktop-und Android-Browser können arbeiten, aber Safari nicht. Den Hinweisen folgen "Stellen Sie sicher, dass Ihr Webserver so konfiguriert ist, dass er Bytebereichsanforderungen bedient." In dem oben erwähnten Beitrag finden wir schließlich die Ursache von einem Bug der Wildfliege (https://developer.jboss.org/thread/249279?start=0&tstart=0). Wildfly (mindestens 8.0) behandelt die Byte-Range-Anfrage nicht korrekt, was dazu führt, dass die Safari mp4 nicht gut spielen kann. Unsere endgültige Lösung besteht darin, den App-Server von "wildfly" in "apache httpd" zu ändern und wie erwartet zu funktionieren.

Das ist das.

0

Sie haben „playsinline“ als Eigenschaft des Videos Put sonst wird es nicht automatisch gestartet, auf den Browser von mobilen Geräten zu spielen ..

Hier ist ein Beispiel:

<video id="video" playsinline autoplay muted loop> 
<source src="assets/sample.mp4" type="video/mp4"/> 
</video>