首頁  >  文章  >  後端開發  >  javascript - php做影片網站伺服器很卡怎麼辦? ?

javascript - php做影片網站伺服器很卡怎麼辦? ?

WBOY
WBOY原創
2016-12-05 13:44:302389瀏覽

環境:
php5.3.9
Apache 22
mysql5.6.x
windows

使用做影片網站的時候碰到的幾個問題(本地環境測試):

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 - php做影片網站伺服器很卡怎麼辦? ?

B. 由於第一個問題中已經出現十分卡頓的現象。影片播放的時候就更加誇張的突出了。主影片一直顯示載入中,相關影片清單封面全部截取失敗

javascript - php做影片網站伺服器很卡怎麼辦? ?

問題1:是否php就不適合做影片網站? ?
問題2:像優酷,愛奇藝之類的視頻網站運行如此順暢的原因是什麼?
問題3:類似於優酷,他們的影片封面是手動上傳的還是自動截取影片第一幀做的封面? ? ,因為若是單純的播放一個視頻的話,倒是不會出現卡頓的現象,我只要把自動截取視頻第一幀的代碼給拿掉,就不會出現任何卡頓...

順便分享下網址哈: www.lysqdx.com

回覆內容:

環境:
php5.3.9
Apache 22
mysql5.6.x
windows

使用做影片網站的時候碰到的幾個問題(本地環境測試):

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 - php做影片網站伺服器很卡怎麼辦? ?

B. 由於第一個問題中已經出現十分卡頓的現象。影片播放的時候就更加誇張的突出了。主影片一直顯示載入中,相關影片清單封面全部截取失敗

javascript - php做影片網站伺服器很卡怎麼辦? ?

問題1:是否php就不適合做影片網站? ?
問題2:像優酷,愛奇藝之類的視頻網站運行如此順暢的原因是什麼?
問題3:類似於優酷,他們的影片封面是手動上傳的還是自動截取影片第一幀做的封面? ? ,因為若是單純的播放一個視頻的話,倒是不會出現卡頓的現象,我只要把自動截取視頻第一幀的代碼給拿掉,就不會出現任何卡頓...

順便分享下網址哈: www.lysqdx.com

  1. 視頻網站的重點是視頻的CDN緩存和頻寬, 和使用什麼語言沒有關係

  2. 別人用的是CDN啊, 看了一下你的截圖應該無非就是一個習作, 怎麼和別人比

  3. 看了你的描述, 推測你所謂的封面是每次從視頻中讀取, 那不卡才怪, 一個成熟的視頻網站系統在視頻上傳之後是會有離線的視頻處理的, 包括不限於以下工作(順序不定):

    • 標準化視訊格式(有時候不標準的格式無法實現影片在瀏覽器端的緩衝)

    • 壓縮成多個品質的影片格式 (例如低中高, 或240p, 360p, 480p, 720p, 1080p等等)

    • 截取某些畫面作為預覽圖(可以截出n張然後人工後台介入)

    • 加水印(選購)

    • 上傳到CDN

影片網站對頻寬要求大。不是伺服器配置。直播才對伺服器要求高!

你這個截圖的操作
是在本地 js 運行的
不卡才怪

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn