Je diffuse une vidéo via l'élément HTML5 video
. Je trouve des informations contradictoires sur le type MIME approprié pour m4v
vidéo. La plupart des démos définissent l'attribut type
sur video/mp4
dans la balise source
dans le balisage. Certains articles que j'ai lus indiquent video/m4v
pour le serveur Web Mimetype, tandis que d'autres indiquent video/mp4
. Qui est correct?
Voir par exemple, cet article indiquant video/m4v
mimetype: http://html5center.sourceforge.net/make-your-html5-video-play-on-mobile-devices
Et cet article indiquant video/mp4
: http://www.coolestguyplanettech.com/use-html-5-video-on-all-browsers/
Le type de support standard est video/mp4
.
Le format de conteneur mp4 standard est couramment utilisé pour l'audio AAC et la vidéo H.264 + audio AAC. Ceux-ci ont différents types de supports, audio/mp4
et video/mp4
, cependant vous souhaitez souvent des applications différentes pour l'audio et la vidéo et sur certains systèmes, il est uniquement possible d'associer une application par défaut à une extension de fichier. Par conséquent, il est devenu populaire dans certains cercles d'utiliser les extensions .m4a
et .m4v
pour l'audio et la vidéo (+ audio), respectivement, dans un conteneur mp4. Cependant, cela n'affecte pas le type de média, qui les distingue déjà à l'aide du préfixe audio ou vidéo.
Cependant, une torsion est que Apple a commencé à utiliser son propre type de support, video/x-m4v
, pour les vidéos de leur boutique, qui sont dans un conteneur mp4 et utilisent un .m4v
extension. Ceci est configuré pour ouvrir la vidéo dans iTunes par défaut. Parfois, cela est nécessaire car la vidéo utilise DRM, audio Dolby Digital AC-3 ou d'autres capacités qui ne sont pas couramment prises en charge dans un conteneur mp4, mais qui sont prises en charge par iTunes pour les fichiers avec un .m4v
extension . Si vous comptez sur de telles capacités, vous souhaiterez peut-être utiliser ce type de média au lieu du type standard.
Types de supports sans x-
sont normalisés dans un RFC et suivis par l'IANA. Aucun type de support portant le nom video/m4v
a été normalisé . Les types de supports non standard ont un x-
préfixe.
Je n'écris que du HTML5 pour des projets spéciaux, mais j'ai eu un problème que j'ai pu résoudre tout à fait par accident. Dans mes blocs, j'écrivais le code vidéo comme ceci:
<source src="Videos/myvideo.mp4" type="video/mp4">
<source src="Videos/myvideo.webm" type="video/webm">
Voici mon problème: si je mets d'abord la ligne mp4, Google Chrome jouerait la partie vidéo, mais il y aurait pas de son. Si je mets la ligne webm tout d'abord, Google Chrome jouerait la vidéo et le son correctement, mais Apple Safari ne détecterait pas du tout la vidéo. Même si j'ajoutais les informations du codec dans le type = instruction, cela n'a eu aucun effet.
J'étais sur le point de céder et d'essayer d'utiliser Flash, mais je suis tombé sur la solution, principalement par accident. Dans la ligne pour mp4, j'ai remplacé le type = "video/mp4" par type = "video/m4v". Cela a complètement guéri le problème! Remarque: j'ai fait pas changé les extensions de fichier vidéo de mp4 à m4v - j'ai utilisé uniquement m4v dans l'instruction type =.
Je n'ai trouvé aucune documentation pour me dire de le faire, je me suis simplement intéressé à la différence entre les extensions de fichiers .mp4 et .m4v et j'ai commencé à jouer. J'utilise Linux (Xubuntu) et j'avais créé mes vidéos en tant que fichiers webm et m.24 H.264, en utilisant OpenShot Video Editor. Peut-être que le fonctionnement interne d'OpenShot a causé un problème, mais de toute façon - c'est ainsi que j'ai résolu ce problème. Mes vidéos mp4 jouent parfaitement. J'espère que cela aide quelqu'un d'autre - MinnesotaJon