Maison > interface Web > Tutoriel H5 > Téléchargement de la vidéo HTML5, image d'aperçu de la vidéo, définition et prévisualisation du cadre d'affiche d'une certaine seconde de la vidéo

Téléchargement de la vidéo HTML5, image d'aperçu de la vidéo, définition et prévisualisation du cadre d'affiche d'une certaine seconde de la vidéo

青灯夜游
Libérer: 2018-10-09 15:47:04
avant
3064 Les gens l'ont consulté

Cet article présente principalement les informations pertinentes sur le téléchargement de vidéos HTML5, la définition et la prévisualisation du cadre d'affiche d'une certaine seconde de la vidéo. Il a une certaine valeur de référence. J'espère que les amis dans le besoin pourront s'y référer. vous être utile.

Cet article présente la vidéo Html5 pour télécharger une image d'aperçu vidéo, définir et prévisualiser l'image d'affiche d'une certaine seconde de la vidéo et la partager avec tout le monde. Les détails sont les suivants :

<.>Téléchargement de la vidéo HTML5, image daperçu de la vidéo, définition et prévisualisation du cadre daffiche dune certaine seconde de la vidéo

Lorsque j'ai reçu une demande de téléchargement de photos et de vidéos et de définition dynamique des images d'affiche pour l'affichage vidéo, la principale chose à laquelle j'ai pensé était de savoir comment analyser la vidéo et obtenir et enregistrer les images de chaque image. La plupart de ceux produits par Baidu sont similaires à celui ci-dessous qui nécessite de lire la vidéo et de cliquer sur la capture d'écran, ou d'utiliser l'extension php ffmpeg, qui n'est pas conforme aux exigences, et je suis un peu fou. une fonction de prévisualisation de l'image vidéo, puis j'ai changé l'idée de définir le cadre de l'affiche. J'ai défini l'heure à laquelle la lecture de la vidéo commence en la saisissant, et j'ai annulé la lecture automatique et la barre de contrôle, de sorte que ce que l'utilisateur voit. est une image

 /*预览*/
              
$(&#39;.qtuploader__items&#39;).on(&#39;click&#39;, &#39;[name="viewVideoPicBtn"]&#39;, function() {
    var parent = $(this).closest(&#39;.qtab__page&#39;);
    var video = $(this).closest(&#39;.qtuploader__itemsbd&#39;).find(&#39;video&#39;);
    var srcStr = &#39;&#39;, htmlStr = &#39;&#39;;
    if($(this).siblings(&#39;.qtuploader__picinputbox&#39;).hasClass(&#39;is-error&#39;)){
      $.fn.toast({
        &#39;parentDom&#39;: parent,
        &#39;classes&#39;: &#39;isorange&#39;,
        &#39;top&#39;: &#39;0&#39;,
        &#39;spacing&#39;: 0,
        &#39;toastContent&#39;: &#39;请设置正确范围的海报帧&#39;,
        &#39;autoHide&#39;: 3000,
        &#39;position&#39;: {
          &#39;top&#39;: &#39;5px&#39;,
          &#39;left&#39;: &#39;50%&#39;
        }
      });
      return;
    }
    if (video.length > 0) {
      var thumbHeight = setSize(video)[0];
      var thumbWidth = setSize(video)[1];
      srcStr = video.attr(&#39;src&#39;);
      htmlStr = &#39;<p class="qtuploader__view"><p class="qtuploader__mask"></p><p class="qtuploader__thumb" style="width:&#39; + thumbWidth + &#39;px;height:&#39; + thumbHeight + &#39;px;margin:0 auto;"><video controls width="&#39; + thumbWidth + &#39;" height="&#39; + thumbHeight + &#39;" src="&#39; + srcStr + &#39;">您的浏览器不支持 video 标签</video></p></p>&#39;;
    }
    parent.append(htmlStr);
    parent.find(&#39;.qtuploader__view video&#39;)[0].currentTime = $(this).siblings(&#39;.qtuploader__picinputbox&#39;).find(&#39;.qtuploader__picinput&#39;).val();
    parent.find(&#39;.qtuploader__view&#39;).fadeIn();
  });
  
  /*设置海报帧预览时间*/
  $(&#39;.qtuploader__items&#39;).on(&#39;keyup&#39;, &#39;.qtuploader__picinput&#39;, function() {
    var parent = $(this).closest(&#39;.qtuploader__picinputbox&#39;);
    var video = $(this).closest(&#39;.qtuploader__itemsbd&#39;).find(&#39;video&#39;);
    var strVal = $.trim($(this).val());
    console.log(strVal)
    if (strVal == &#39;&#39;) {
      parent.addClass(&#39;is-error&#39;);
      parent.find(&#39;.qverify__font&#39;).text(&#39;请设置海报帧&#39;);
    } else if (!(/^[0-9]*$/.test(strVal))) {
      parent.addClass(&#39;is-error&#39;);
      parent.find(&#39;.qverify__font&#39;).text(&#39;请输入数字&#39;);
    } else if (video.length > 0 && strVal > video[0].duration) {
      parent.addClass(&#39;is-error&#39;);
      parent.find(&#39;.qverify__font&#39;).text(&#39;不超过(&#39; + video[0].duration + &#39;)&#39;);
      console.log(&#39;111---&#39; + video[0].duration)
    } else {
      parent.removeClass(&#39;is-error&#39;);
      parent.find(&#39;.qverify__font&#39;).text(&#39;请设置海报帧&#39;);
    }
  })
  /*关闭预览*/
  $(document).undelegate(&#39;.qtuploader__mask&#39;, &#39;click&#39;);
  $(document).delegate(&#39;.qtuploader__mask&#39;, &#39;click&#39;, function() {
    $(this).closest(&#39;.qtuploader__view&#39;).fadeOut(&#39;normal&#39;, function() {
      $(this).closest(&#39;.qtuploader__view&#39;).remove();
    })
  })
  /*设置预览大小*/
  function setSize(element) {
    var thumbWidth = 0, thumbHeight = 0, arr = [];
    var winWidth = $(window).width(), winHeight = $(window).height();
    var imgWidth = element.width(), imgHeight = element.height();
    if (imgWidth > imgHeight) {
      thumbHeight = parseInt(winHeight - 200);
      thumbWidth = parseInt((1920 * thumbHeight) / 1080);
    } else {
      thumbHeight = parseInt(winHeight - 200);
      thumbWidth = parseInt((1080 * thumbHeight) / 1920);
    }
    arr.push(thumbHeight, thumbWidth)
    return arr;
  }
Copier après la connexion
Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun. Pour plus de didacticiels connexes, veuillez visiter le

Tutoriel vidéo HTML5 !

Recommandations associées :

Tutoriel vidéo de formation sur le bien-être public php

Tutoriel graphique HTML5

Manuel HTML5 en ligne

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal