javascript - PHP 비디오 웹사이트의 서버가 심하게 멈추면 어떻게 해야 합니까? ?

WBOY
풀어 주다: 2023-03-03 11:20:01
원래의
2432명이 탐색했습니다.

환경:
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:类似于优酷,他们的视频封面是手动上传的还是自动截取视频第一帧做的封面??,因为若是单纯的播放一个视频的话,倒是不会出现卡顿的现象,我只要把自动截取视频第一帧的代码给拿掉,就不会出现任何卡顿...

URL을 공유해 주세요: 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:类似于优酷,他们的视频封面是手动上传的还是自动截取视频第一帧做的封面??,因为若是单纯的播放一个视频的话,倒是不会出现卡顿的现象,我只要把自动截取视频第一帧的代码给拿掉,就不会出现任何卡顿...

URL을 공유해 주세요: www.lysqdx.com

  1. 동영상 웹사이트의 초점은 CDN 캐시와 동영상의 대역폭이며 사용되는 언어와는 아무런 관련이 없습니다

  2. 다른 분들도 CDN을 사용하고 계신데, 님의 스크린샷을 보니 그냥 연습에 불과한 것 같군요.

  3. 귀하의 설명을 읽어보니 매번 동영상에서 표지를 읽는 것으로 추측됩니다. 제대로 작동하지 않으면 이상할 것 같습니다. 성숙한 동영상 웹사이트 시스템에서는 동영상이 업로드된 후 오프라인 동영상 처리를 수행하게 됩니다. 다음 작업으로 제한됩니다(특정 순서 없음):

    • 표준화된 비디오 형식(때때로 비표준 형식은 브라우저 측에서 비디오를 버퍼링할 수 없음)

    • 다양한 품질의 비디오 형식(낮음, 중간, 높음 또는 240p, 360p, 480p, 720p, 1080p 등)으로 압축

    • 특정 프레임을 미리보기로 캡처(n개 프레임을 캡처한 후 백그라운드에서 수동으로 개입할 수 있음)

    • 워터마크 추가(선택)

    • CDN에 업로드

동영상 웹사이트에는 높은 대역폭 요구 사항이 있습니다. 서버 구성이 아닙니다. 라이브 스트리밍에는 서버 요구 사항이 높습니다!

스크린샷 작업
은 로컬 js에서 실행됩니다
안 멈추면 이상해요

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿