<video> il joue dans d'autres navigateurs, mais pas Safari
Nous avons une vidéo MP4 sur notre site; il joue bien dans IE9+, Firefox, Chrome et Chrome sur mac. Cependant, sur Safari, la vidéo ne joue pas du tout - il n'déclencher une "impasse" et puis rien ne se charge. Je poste le code HTML, mais j'ai tracé le problème de plus en constatant que Safari ne serait pas le jouer, même lors de la navigation à l'origine MP4 URL. Lorsque téléchargé et joué localement, la vidéo fonctionne très bien dans Quicktime.
Le plus étrange c'est en partie celle de l'ensemble de nos développeurs, je pouvez obtenir la vidéo pour travailler sur Safari quand je lance le serveur associé à partir de mon ordinateur de développement. Qui plus est, MP4 autres fichiers dans le même répertoire avoir un problème similaire. Cela a été la clé pour moi, et j'ai été la recherche de la moindre petite différence dans la façon dont les vidéos de transfert à partir du serveur de requête/réponse en-têtes, exacte de la taille du fichier, etc.
En-têtes copié à partir de Chrome (uniquement depuis Safari est plus difficile de copier/coller à partir d')
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
DNT:1
Host:*************:8443
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
Response Headers
Accept-Ranges:bytes
Content-Length:44875102
Content-Type:video/mp4;charset=UTF-8
Date:Tue, 30 Dec 2014 21:11:51 GMT
ETag:W/"44875102-1419959755000"
Last-Modified:Tue, 30 Dec 2014 17:15:55 GMT
Server:Apache-Coyote/1.1
(Aussi, juste au cas où cela vous rappelle un vieux problème; je suis conscient de Safari sur Windows, mort depuis des âges. Ce problème se produit sur OS X)
EDIT: Nouvelle info qui pourrait aider un peu. J'ai pris une vidéo personnelle de mon propre serveur, qui a été en mesure de travailler à partir de là sur la problématique navigateurs Safari en question, et de le télécharger à notre local du serveur de répertoire vidéo. À partir de là, il rencontre le même problème que nos autres vidéos. Cela me suggère que la MP4-même ne peut pas d'importance - c'est probablement un problème de serveur, de la sorte, avec Tomcat 7 serveur. Nous avons tous les Types de Contenu enregistré correctement, ce qui couvre au moins les bases, mais je suis curieux de savoir si il y a d'autres pièces nécessaires.
PLUS d'INFO: je n'ai pas pensé à le mentionner au début, mais nous sommes chargement de nos pages web et des vidéos via une connexion HTTPS. La plupart de nos serveurs de test n'ont pas de certificats valides, et nous avons donc besoin de cliquer à travers le navigateur standard avertissement que "Ce serveur peut-être pas qui il est dit". Nous sommes maintenant à la recherche de ce qu'il faudrait pour corriger les certificats sur tous nos serveurs.
Désolé, mais non; c'est une partie d'un produit en cours de développement. Je l'avais mis en place un petit exemple de violon, mais il semble très probable que les en-têtes sont pertinentes, et bien sûr des exemples de base de encodés correctement des vidéos sur-config par défaut les serveurs Apache fonctionne correctement.
J'ai essayé de configurer mon serveur local pour servir une vidéo avec les mêmes en-têtes et ne peut toujours pas se reproduire. À moins que nous pouvons nous faire une vidéo par exemple, je ne suis pas sûr qu'il ya beaucoup que nous pouvons faire que des suppositions.
C'est malheureusement vrai. Il est difficile pour moi de passer le long de tous les facteurs dans certains de violon, comme typique de la JS problèmes, bien. Je ne pense pas que le fichier MP4 en question est un facteur dans le problème (j'ai peut-retest cette pensée, mais je pense que je me souviens de trouver des problèmes similaires avec d'autres fichiers vidéo). sinon, il pourrait être de faire avec certains en-têtes, de serveur ou de support spécial HTTP opération, ou Safari révisions mineures, etc.
REMARQUE: Certaines découvertes depuis que j'ai posté cette question; Safari pourrait avoir des problèmes de lecture d'une vidéo sur une page avec un certificat auto-signé. Dans Safari, vous pouvez étendre le cert détails et dire définitivement accepter un certificat auto-signé, ce qui peut causer des vidéos de travailler. Aussi, le
stalled
événement peut se déclencher même si c'est juste de prendre beaucoup de temps pour récupérer des données à partir du serveur sur un lien lointain. Cela pourrait ou ne pourrait pas vous aider.OriginalL'auteur Katana314 | 2014-12-30
Vous devez vous connecter pour publier un commentaire.
Safari nécessite serveur web de support "Gamme" en-tête de requête pour lire votre contenu multimédia.
https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/CreatingVideoforSafarioniPhone/CreatingVideoforSafarioniPhone.html#//apple_ref/doc/uid/TP40006514-SW6
Pour une pièce de théâtre "la Gamme" réponse à la requête, votre webserve besoin de retourner le code d'état "206".
OriginalL'auteur Reeve Lau
Assurez-vous que les contrôles= "true" type= "video/mp4" est donné dans votre code html.
='true'
, et aucune ressource que je sais de qui mentionne un "type=etc' attribut de la balise vidéo. Je n'ai jamais donner mon code HTML lui-même, mais au fond, je l'ai très semblable à la vôtre, sauf avec la src / type définie à l'intérieur d'unsource
élément à l'intérieur de la vidéo.Je suis d'accord avec vous, dans la plupart des cas, mais pas celui-ci.
D'accord à propos de quoi?
quelle a été la conclusion? personne n'a le faire fonctionner?
type="*"
a été le déclicOriginalL'auteur John Hua
J'ai téléchargé un nouveau fichier MP4, mais il a joué dans SAFARI seulement (sur mon MAC et mon iPhone), pas de Chrome, Oasis, Firefox, ou Courageux. Code HTML est identique à la précédente succès. La taille du fichier et les Dimensions étaient très bien. Mais les Codecs installés sur l'ancien, les fichiers de travail ont été "H. 264, AAC". Les Codecs sur le nouveau, pas les fichiers de travail ont été "MPEG-4, AAC". - Je modifier mes fichiers vidéo sur VideoPad. J'ai donc regardé la spécification des sélections sur le "fichier d'Exportation" des options, et, bien sûr, les Codecs a été manqué de MPEG-4. J'ai choisi de H. 264 et de l'exportation du fichier. Téléchargé à AWS et rendu public. Retenté mes nouveaux fichiers dans les quatre échec des navigateurs et BINGO!, ils ont tous travaillé. Il y a un Dieu!
OriginalL'auteur David Shoup
Cela pourrait en effet être une question de manque de byte-range soutien, selon la version que vous utilisez. Il a été ajouté à la DMSDownloadServlet dans MAGNOLIA-3855 (Magnolia fix version 4.4.6).
OriginalL'auteur user667
Safari nécessite que le serveur à l'appui de byte-range et il ignore également le type mime, de préférence à un type de fichier de suffixe.
Veuillez voir ma réponse à https://stackoverflow.com/a/51901198/1047992
OriginalL'auteur David
...
Sur une note de côté, ne charset aucun sens sur la video/mp4 type? Essayez de retirer le jeu de caractères sur elle.
EDIT: Oui, le jeu de caractères peut-être le problème, voir: Spécifier le type de contenu pour les documents téléchargés dans Magnolia
EDIT2: Pas de charset, oups, compréhension de la lecture de l'échec. Peut-être octet de gamme?
Pour citer: "[...] nous avons constaté que Safari/iOS "utilise HTTP octet-plages pour demander des fichiers audio et vidéo." Maintenant, on devine que le Magnolia DMS service de fichiers ne prend pas en charge cette fonctionnalité, et donc le streaming échoue."
Pas de chance de faire un lien de test? Moi un message privé si besoin est (twitter = @nexii)
OriginalL'auteur Nexii Malthus
Ce qui se passe si vous ajoutez-les à votre
.htaccess
?si vous enregistrez le code HTML généré dans un fichier html, et de la charge que dans Safari (après fixation de n'importe quel url cassé), cela fonctionne t'il?
Non, il ne fonctionne pas même si l'url de la vidéo est chargée directement dans le navigateur.
OriginalL'auteur neokio
Récemment, mon équipe a couru dans un problème qui a entraîné le même comportement. Nous avons été à l'aide d'Apache 2.4 et remarqué que si nous avions une couche d'authentification tels que .htpasswd activé, Safari ne serait pas afficher des vidéos à tous, même après l'authentification. C'est presque comme s'il ne continue pas à l'honneur de l'authentification initiale de dégagement pour certains types de la suite des requêtes HTTP.
Désolé de ne pas avoir quelque chose de plus technique, mais c'est quelque chose à vérifier pour toute personne éprouvant des problèmes de vidéo seulement dans Safari.
OriginalL'auteur RedYetiCo
J'ai rencontré le même problème et l'a résolu, mais pas de réponse ici, n'est pas impliqué à la mienne, donc je vais rester ici la solution pour quelqu'un qui suit.
J'ai été faire mon propre serveur vidéo en continu, ce qui, dans le interrogées cas, retourne simplement un "varie" fichier mp4, et j'ai trouvé Safari ne permet pas de lire de la vidéo réalisée dans la réponse HTTP manque de "Connexion" en-tête de réponse pour une raison quelconque.
OriginalL'auteur findall
S'il vous plaît, pardonnez-moi si vous avez déjà résoudre ce problème!
J'ai eu le même problème avec mon serveur vidéos dans Safari. J'ai été en mesure de résoudre ce à l'aide de POSTIER/INSOMNIE pour vérifier les en-têtes que mon serveur est de l'envoi. Chrome peut peut tromper votre, une fois que, dans ce navigateur, la vidéo fonctionne très bien!
Si la vidéo n'est pas varié(vidéo complète demande), votre serveur doit retourner à l'état(200) et de vérifier si le "Accept-Ranges:bytes' est envoyé à partir de votre serveur.
L'en-tête échantillon de 200:
si la vidéo est varié, votre serveur doit retourner à l'état(206) avec des en-têtes correctement.
L'en-tête de l'échantillon statut 206:
J'espère que cela vous aidera! mes meilleures salutations,
Paulo Durço
OriginalL'auteur Paulo Sérgio Durço