2016-02-16 2 views
5

Afin d'implémenter complètement mon lecteur vidéo html5 personnalisé, j'ai besoin de la vitesse d'image exacte d'une vidéo. Cependant, je ne l'ai pas été en mesure de trouver encore et je suis en utilisant une valeur standard de 25. En règle générale vidéos ont une valeur de fréquence d'images dans les méta-données, donc j'accédées les méta-données en utilisant quelque chose comme ceci:Où dans les métadonnées d'une vidéo en html5 est le fps enregistré?

var vid = document.getElementById("myVideo"); 
vid.onloadedmetadata = function(e) { 
console.log(e); 
}; 

Cependant Je ne peux pas trouver le taux de trame ici. Peut-être que je ne lis pas les métadonnées du tout. Je peux utiliser votre aide. Merci!

Répondre

1

Je suis sûr à 95% l'api norme html5 vidéo ne pas exposer les informations de fps, de ce que je l'ai lu dans les derniers mois - d'autres APIs comme MPEG-DASH et jwplayer ne présente plus/différent Les données.

Votre meilleur pari serait de fouiner autour de w3schools.com/tags/ref_av_dom.asp et des pages similaires de mdn.

Vous pouvez calculer cela en temps réel vous-même et cela devrait fonctionner la plupart du temps mais je peux imaginer qu'il y a un ou deux cas où ce ne serait pas le cas. Regardez PresentedFrames et faire quelque chose comme:

fps = video.time/PresentedFrames 

vue plus sur PresentedFrames here (actuellement) et proposition attributs similaires au même link.

+0

Merci brod, je pense aussi qu'il est peu probable que fps soit donné en tant que propriété par l'élément vidéo html. J'espérais juste qu'il en serait autrement. J'aime votre solution donnée mais comment puis-je calculer PresentFrames? Parce que la façon de mesurer les trames est d'utiliser fps et l'heure actuelle. Existe-t-il une autre façon de trouver PresentFrames? –

+0

@HasanWajahat J'ai mis à jour ma réponse avec une source qui documente beaucoup d'attributs différents qui pourraient être utiles pour calculer le fps (en particulier les PresentedFrames) – brod

+0

Merci pour le partage, Malheureusement chrome n'a pas encore mis en place presentFrames. Mozilla l'a fait mais j'en ai besoin pour le chrome. –