2017-10-20 25 views
1

J'ai une page Web de base qui tente de charger une vidéo 4K dans une balise vidéo HTML5:Les navigateurs mobiles prennent-ils en charge la vidéo 4k à l'aide d'une balise vidéo HTML5?

https://s3.amazonaws.com/pvxtesting/4ktest/index.html

Cela fonctionne sur le navigateur Chrome de bureau, mais ne fonctionne pas sur Chrome mobile (vérifié sur l'iPhone 8 et Nexus 9).

Nous avons réussi à déterminer une vidéo codée de façon similaire (même résolution et débit binaire) de plus courte durée avec une taille de fichier de 2 Mo seulement commence à fonctionner sur certains navigateurs mobiles. Mais les vidéos de durée plus longue et de taille de fichier plus importante, comme l'exemple avec 15 Mo, ne parviennent pas à charger. Le moniteur réseau affiche la mise en mémoire tampon jusqu'à 1,4 Mo, mais il s'arrête soudainement sans que la vidéo HTML5 readyState ne soit mise à jour. Nous observons généralement ce problème pour les vidéos au-dessus de la taille 1080p sur les navigateurs mobiles.

Les navigateurs mobiles ont-ils des limites de résolution/débit binaire pour l'AVC? Si oui, comment déterminons-nous cela au moment de l'exécution?

Répondre

0

La spécification HTML5 considère uniquement les formats vidéo et non la taille de fichier. Pour les fichiers vidéo de grande taille, le navigateur peut ou ne peut pas le charger correctement si la mémoire est limitée. Vous pouvez vérifier si un format vidéo est prise en charge par HTMLVideoElement::canPlayType mais même cela ne revient pas garantie puisque les trois valeurs de retour possibles sont

  • « probablement »
  • « peut-être »
  • chaîne vide (certainement pas)

pour les vidéos énormes, vous pouvez envisager de les streaming via websockets à une balise <video>. Cela devrait être plus fiable et vous donner plus de contrôle.