Heim  >  Artikel  >  Backend-Entwicklung  >  javascript - Was soll ich tun, wenn der Server der PHP-Video-Website stark blockiert ist? ?

javascript - Was soll ich tun, wenn der Server der PHP-Video-Website stark blockiert ist? ?

WBOY
WBOYOriginal
2016-12-05 13:44:302429Durchsuche

Umgebung:
php5.3.9
Apache 22
mysql5.6.x
Windows

Bei der Nutzung der Video-Website sind mehrere Probleme aufgetreten (Test der lokalen Umgebung):

A. 几十个视频。通过 canvas 截取视频第一帧做封面。

<code>    // 视频源列表
    var vSrcList = [src1 , src2 , src3 ....];
    
    // 队列方式截取视频第一帧(如果不采取队列方式截取的话,基本上所有的都会截取失败....)
    // 即使采取队列的方式获取视频第一帧,照样有很高的几率会导致视频第一帧截取失败
    // 打开控制台network来看的话,大量的请求显示 pending... 
    var dequeue = function(){
        var curItem = vSrcList.shift();
        if (curItem) {
            // 这边添加到节点到页面上..
            
            dequeue();
        }
    };
    
    dequeue();
       
    // 获取视频第一帧画面
    function getVShowPic(src , fn , opt){
        var v = document.createElement('video');
        var cav = document.createElement('canvas');
        var ctx = cav.getContext('2d');
        v.currentTime = 1;
        v.addEventListener('canplay' , function(){
            if (opt === undefined) {
                opt = {
                    w: v.videoWidth ,
                    h: v.videoHeight
                };
            }
            
            ctx.drawImage(this , 0 , 0 , opt['w'] , opt['h']);
            var src = cav.toDataURL('image/jpeg' , 1);
            fn(src);
        } , false);
        v.src = src;
    }</code>

javascript - Was soll ich tun, wenn der Server der PHP-Video-Website stark blockiert ist? ?

B. 由于第一个问题中已经出现十分卡顿的现象。视频播放的时候就更加夸张的突出了。主视频一直显示加载中,相关视频列表封面全部截取失败

javascript - Was soll ich tun, wenn der Server der PHP-Video-Website stark blockiert ist? ?

问题1:是否php就不适合做视频网站??
问题2:像优酷,爱奇艺之类的视频网站运行如此顺畅的原因是什么?
问题3:类似于优酷,他们的视频封面是手动上传的还是自动截取视频第一帧做的封面??,因为若是单纯的播放一个视频的话,倒是不会出现卡顿的现象,我只要把自动截取视频第一帧的代码给拿掉,就不会出现任何卡顿...

Teilen Sie übrigens die URL: www.lysqdx.com

Antwortinhalt:

Umgebung:
php5.3.9
Apache 22
mysql5.6.x
Windows

Bei der Nutzung der Video-Website sind mehrere Probleme aufgetreten (Test der lokalen Umgebung):

A. 几十个视频。通过 canvas 截取视频第一帧做封面。

<code>    // 视频源列表
    var vSrcList = [src1 , src2 , src3 ....];
    
    // 队列方式截取视频第一帧(如果不采取队列方式截取的话,基本上所有的都会截取失败....)
    // 即使采取队列的方式获取视频第一帧,照样有很高的几率会导致视频第一帧截取失败
    // 打开控制台network来看的话,大量的请求显示 pending... 
    var dequeue = function(){
        var curItem = vSrcList.shift();
        if (curItem) {
            // 这边添加到节点到页面上..
            
            dequeue();
        }
    };
    
    dequeue();
       
    // 获取视频第一帧画面
    function getVShowPic(src , fn , opt){
        var v = document.createElement('video');
        var cav = document.createElement('canvas');
        var ctx = cav.getContext('2d');
        v.currentTime = 1;
        v.addEventListener('canplay' , function(){
            if (opt === undefined) {
                opt = {
                    w: v.videoWidth ,
                    h: v.videoHeight
                };
            }
            
            ctx.drawImage(this , 0 , 0 , opt['w'] , opt['h']);
            var src = cav.toDataURL('image/jpeg' , 1);
            fn(src);
        } , false);
        v.src = src;
    }</code>

javascript - Was soll ich tun, wenn der Server der PHP-Video-Website stark blockiert ist? ?

B. 由于第一个问题中已经出现十分卡顿的现象。视频播放的时候就更加夸张的突出了。主视频一直显示加载中,相关视频列表封面全部截取失败

javascript - Was soll ich tun, wenn der Server der PHP-Video-Website stark blockiert ist? ?

问题1:是否php就不适合做视频网站??
问题2:像优酷,爱奇艺之类的视频网站运行如此顺畅的原因是什么?
问题3:类似于优酷,他们的视频封面是手动上传的还是自动截取视频第一帧做的封面??,因为若是单纯的播放一个视频的话,倒是不会出现卡顿的现象,我只要把自动截取视频第一帧的代码给拿掉,就不会出现任何卡顿...

Teilen Sie übrigens die URL: www.lysqdx.com

  1. Der Schwerpunkt einer Video-Website liegt auf dem CDN-Cache und der Bandbreite des Videos und hat nichts mit der verwendeten Sprache zu tun

  2. Andere verwenden CDN, nachdem Sie sich Ihren Screenshot angesehen haben. Wie können Sie ihn mit anderen vergleichen?

  3. Nachdem ich Ihre Beschreibung gelesen habe, vermute ich, dass das von Ihnen genannte Cover jedes Mal aus dem Video gelesen wird. Es wäre seltsam, wenn ein ausgereiftes Video-Website-System nach dem Hochladen des Videos nicht hängen bleibt Beschränkt auf die folgenden Aufgaben (in keiner bestimmten Reihenfolge):

    • Standardisiertes Videoformat (manchmal können nicht standardmäßige Formate Videos nicht auf der Browserseite puffern)

    • Komprimieren Sie in Videoformate mit mehreren Qualitätsstufen (z. B. niedrig, mittel und hoch oder 240p, 360p, 480p, 720p, 1080p usw.)

    • Erfassen Sie bestimmte Bilder als Vorschau (Sie können n Bilder erfassen und dann manuell in den Hintergrund eingreifen)

    • Wasserzeichen hinzufügen (optional)

    • Auf CDN hochladen

Video-Websites haben hohe Bandbreitenanforderungen. Nicht die Serverkonfiguration. Live-Streaming stellt hohe Serveranforderungen!

Der Betrieb Ihres Screenshots
wird in lokalem js ausgeführt
Es ist seltsam, wenn er nicht einfriert

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn