Vidéo HTML5: détection de la bande passante
J'ai une vidéo en 1080p que j'affiche dans un HTML5 <video>
tag sur ma page.
Est-il un simple(ish) en javascript la méthode de détection de la bande passante, donc je peux passer la vidéo de qualité inférieure versions si la connexion de l'utilisateur est trop lent pour diffuser la vidéo? Similaire à la logique derrière YouTube "auto" taille de la vidéo sur sélecteur de champs.
source d'informationauteur bbeckford
Vous devez vous connecter pour publier un commentaire.
Dans google chrome, il y a au moins ces propriétés sur un élément vidéo:
Ces devrait être suffisant pour déterminer à quelle vitesse le client peut décoder la vidéo. Comme la vidéo, vous souhaitez garder une trace de la delta montant de ces octets qui vous donne des octets/s, le client est le traitement de la vidéo.
Selon ce que le joueur et l'encodage de la plateforme que vous utilisez, vous pouvez être en mesure d'utiliser HLS l'encodage de vos vidéos. HLS stands pour la diffusion HTTP en Direct, un protocole développé par Apple, principalement pour la résolution de ce problème (entre autres).
HLS essentiellement les pauses de votre fichier vidéo en plusieurs petits fichiers de sorte qu'ils peuvent être "pseudo" diffusée à l'aide d'un simple serveur Web. Avec HLS vous pouvez aussi encoder dans plusieurs résolutions et un joueur pourrait être en mesure de passer à une plus faible ou plus élevée de la bande passante.
Le seul inconvénient est que la plupart des joueurs utilisent Flash pour jouer HLS contenu codé. Check it out en action ici: http://www.flashls.org/latest/examples/chromeless/
Voici HLS démo pour flowplayer:
http://demos.flowplayer.org/basics/hls.html
Et ici est un plugin pour VideoJS:
https://github.com/videojs/videojs-contrib-hls
Coder dans HLS, vous pouvez soit utiliser ffmpeg gratuitement et télécharger des fichiers sur votre serveur:
https://www.ffmpeg.org/ffmpeg-formats.html#hls-1
Ou, vous pouvez utiliser une solution basée sur le cloud comme AWS Transcoder ou Brightcove
https://aws.amazon.com/elastictranscoder/
Pour une plus jusqu'à la date de réponse: MPEG-DASH est dans le processus de remplacement de HLS. HLS est principalement utilisé dans iOS terre. La plupart des navigateurs de bureau, ne prévoyez pas de le soutenir, et le tableau de bord est la norme qu'ils sont en mouvement vers. (Cependant, il ya beaucoup de joueurs conçu pour vous permettre d'utiliser HLS avec lecteur vidéo HTML5 comme hls.js). DASH joueurs comprennent Bitmovin, Google Shaka, et plus encore. Beaucoup de gens codent pour les deux HLS et le tableau de bord actuellement. HLS prend également en charge fragmentée mp4. Veuillez noter que vous aurez besoin d'encoder vos vidéos correctement côté serveur. Ressources supplémentaires: http://www.streamingmedia.com/Articles/Articles/Editorial/Featured-Articles/The-State-of-MPEG-DASH-2016-110099.aspx
Je déteste cette fonctionnalité! C'est généralement faux, et si je veux attendre 2 heures pour charger mon dang vidéo, que d'attendre je ne! Il n'y a aucun moyen fiable de mesurer avec précision ce sans envoyer de gros fichier factice de l'utilisateur et de mesurer le temps qu'il a fallu pour arriver jusqu'à lui.
Vous devez compter sur la saisie de l'utilisateur (et rappelez-vous correctement! Aussi contrairement à YouTube!).
En bref, ne prenez pas de YouTube comme un exemple.
Il y a des services payants qui peuvent vous donner une indication de ce que la bande passante de l'autre partie est sur, comme netspeed.
L'exactitude des données peut être assez pour vous, mais je n'ai pas eu la chance de le tester par moi-même.
Jusqu'à présent, vous devriez avoir votre contenu disponible en MPEG-DASH et HLS de fournir un large soutien de toutes les plates-formes. HLS prend en charge fragmentée MP4 maintenant, vous êtes en mesure d'utiliser un seul format de sortiequi joue sur tous les appareils. En outre, vous avez besoin 50% moins d'espace de stockageet comme fMP4 est un stockage plus efficace que le MPEG-TS, qui est utilisé pour HLS pour le moment, vous pouvez économiser encore plus d'espace de stockage et de bande passante.
Bitmovin fournit un exemple comment créer HLS fMP4 contenu et comment le jouer.