Maison  >  Article  >  interface Web  >  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

青灯夜游
青灯夜游avant
2018-10-09 15:47:043026parcourir

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;
  }
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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer