Je gère un site sur abonnement pour les vidéos de formation au poker. Récemment, une partie de nos abonnés ont eu des problèmes pour télécharger nos vidéos. Les utilisateurs concernés constatent exclusivement des problèmes lorsqu'ils utilisent Chrome comme navigateur Web. Toutefois, d'autres utilisateurs utilisent Chrome sans problème.
Voici le comportement exact qu'ils observent:
Encore une fois, ce problème ne concerne qu'un sous-ensemble d'utilisateurs naviguant avec Chrome. Tous les utilisateurs concernés disposent de la dernière version de Chrome, à l'instar de certains utilisateurs non affectés. Tous les utilisateurs concernés ont Windows Vista ou Windows XP. Autant que nous puissions en juger (petit échantillon), aucun des utilisateurs concernés ne dispose de Windows 7 et aucun de nos utilisateurs sous Windows 7 n'a été affecté.
Qu'est-ce qui pourrait causer ce problème? Comment pourrait-il être résolu?
Edit: Voici une copie des en-têtes de l'un de ces téléchargements.
HTTP/1.1 200 OK
Date: Sun, 06 Nov 2011 18:35:56 GMT
Server: Apache
Last-Modified: Mon, 24 Oct 2011 11:57:29 GMT
ETag: "180cc292-5229699-4b00a208b3c40"
Accept-Ranges: bytes
Content-Length: 86152857
Keep-Alive: timeout=10, max=29
Connection: Keep-Alive
Content-Type: application/octet-stream
Edit: Quelques mises à jour. Les extensions Chrome ne semblent pas avoir d'incidence sur cela. L'un des systèmes concernés a été mis à niveau de Windows XP vers Windows 7, sans autre modification. Ce système télécharge maintenant correctement. Ce problème ne concerne pas uniquement les vidéos WMV. Cela arrive aussi avec FLV et M4V. Un exemple de fichier se trouve sur http://www.grinderschool.com/videos/zbn9Y7TbeWcUbCPFNnL/Carroters001.wmv
Vous envoyez l'en-tête Content-Type: application/octet-stream
, espérant probablement que le navigateur télécharge le fichier au lieu de laisser l'utilisateur l'afficher. Ce n'est cependant pas vraiment le meilleur moyen. Il vaut mieux envoyer le type de contenu correct et ajouter un en-tête de disposition de contenu, comme suit:
Content-Type: video/mp4
Content-Disposition: attachment; filename=instruction-video.mp4
Comment envoyer cet en-tête dépend de la plate-forme de votre serveur.
Google Chrome utilise l'API de navigation sécurisée par défaut (article de blog ici ). L'API de navigation sécurisée maintient une liste des sites potentiellement malveillants. Il est possible que la page ait été marquée comme malveillante. Google propose un autre outil appelé Outils pour les webmasters qui permet au webmaster de vérifier la propriété d'un site via un processus de révision, puis de marquer un site comme non malveillant (détails ici ).
Au minimum, vous pouvez commencer par ajouter le site dans les Outils pour les webmasters et en vérifiant sous Diagnostics -> Logiciels malveillants pour voir s’il a été ajouté en tant que site malveillant.
Je suggérerais fortement d'essayer d'utiliser un autre encodage vidéo tel que MPEG, OGG/OGV, WebM et peut-être une solution de repli Flash. En fait, il serait préférable de donner des choix alternatifs à l'utilisateur. Les navigateurs modernes vont se concentrer sur le standard HTML5. Regardez donc comment vous pouvez gérer les différents codecs vidéo en HTML5 .
Un fichier vidéo Windows Media (WMV) est la propriété de Microsoft et certains utilisateurs peuvent ne pas disposer du plug-in Windows Media Player pour Chrome.
De Google Answers :
Si une page est simplement liée à des fichiers multimédias Windows (par exemple, des fichiers .asf ou .asx), il se peut que l'invite à télécharger le plug-in Windows Media Player ne s'affiche pas.
En outre, vous pouvez vérifier s'il existe une différence lorsque les liens sont absolus ou relatifs.