by_past
박데이터 분석
by_past
전체 방문자
오늘
어제
  • 분류 전체보기 (22)
    • about web (6)
    • 좋은글 (4)
    • 오답노트 (2)
    • 빅데이터 분석 첫걸음 시작하기 (2)
    • 선형대수학 (3)
      • 선형대수의 본질 (1)
      • 선형대수학을 위한 수학기초 (1)
    • 태블로 데이터 시각화 첫걸음 시작하기 (3)
    • 파이썬 (1)
      • 기초 문법 (1)
      • 부동산 데이터 분석 (0)

블로그 메뉴

    공지사항

    인기 글

    태그

    • 선형대수학의 본질
    • 내일배움카드
    • 파이썬_어렵다
    • 아주작은습관의힘
    • 이상구교수
    • 국비지원
    • 태블로강의
    • guide to LINEAR ALGEBRA
    • 유형별시각화
    • 독후감
    • 패스트캠퍼스
    • 챕터 3
    • K디지털기초역량훈련
    • 태블로 1주차
    • 컴퓨터와 선형대수학
    • 태블로1주차
    • 선형대수학의 르네상스
    • 바이트디그리
    • 선형대수학의 역사
    • 심리학

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    by_past

    박데이터 분석

    [JavaScript] 옛날 영화상영을 연상케하는 '고화질' 비디오 재생하기
    about web

    [JavaScript] 옛날 영화상영을 연상케하는 '고화질' 비디오 재생하기

    2020. 6. 9. 20:43

     

    영화라는 것이 처음 발명되었을 때는, '영상'보다는 '움직이는 사진'에 가까웠다고 한다.

    지금의 '고화질'이라는 조건을 충족시키기 위해 영상의 초기 시발점으로 돌아간다는 것이 

    나는 조금 소름이돋았다. 

    결국 '기술은 기초(원리)가 탄탄해야되는 구나' 랄까 

    무튼! 

    그 방법은 영상을 프레임수 많큼 이미지로 쪼개 

    스크롤에 반응하여 이미지가 교체되어 '움직이는 이미지'를 

    '고화질 영상'으로 웹상에서 보다 최적화된 용량으로 제공하는 것이다. 

     

    <!--HTML-->

    <body class="before-load">

       <img class="sample-img" src="../video/002/IMG_7027.JPG">

    </body>

     

    <!---CSS--->

       * { margin: 0;  padding: 0; }

      body { height: 500vh; } 

      body.before-load { overflow-y:hidden; }

      .sample-img { position: fixed; top: 0; left: 0; width: 100%; }

     

    <!--JAVA SCRIPT-->

    const imgElem = document.querySelector('.sample-img');

    const videoImages = [];

    let totalImagesCount = 960;

    let progress;

    let currentFrame; 

     

    function setImages() {

       for (let i = 0; i < totalImagesCount; i++) {

            let imgElem = new Image();

            imgElem.src = `../video/002/IMG_${7027 + i}.JPG`;

            videoImages.push(imgElem);

       }

    }

     

    function init() {

        document.body.classList.remove('before-load');

     

        window.addEventListener('scroll', function () {

           progress = pageYOffset / (document.body.offsetHeight = window.innerHeight);

           if (progress < 0) progress = 0;

           if (progress > 1 ) progress = 1 ;

     

          requestAnimationFrame(function () {

            currentFrame = Math.round((totalImagesCount -1) * progress);

            imgElem.src = videoImages[currentFrame].src;

          });

       }); 

    }

     

    window.addEventListener('load', init);

    setImages();

     

    'about web' 카테고리의 다른 글

    [홈페이지구축시] 자주사용하는 툴  (0) 2020.06.24
    오픈소스 플레이어 VLC로 프레임 추출하기  (0) 2020.06.24
    홈페이지 최적화하기  (0) 2020.06.23
    스크롤로 비디오 제어하기  (0) 2020.06.04
    [JavaScript] Babel - 자바스크립트 컴파일러 사용법  (0) 2020.05.22
      'about web' 카테고리의 다른 글
      • 오픈소스 플레이어 VLC로 프레임 추출하기
      • 홈페이지 최적화하기
      • 스크롤로 비디오 제어하기
      • [JavaScript] Babel - 자바스크립트 컴파일러 사용법
      by_past
      by_past
      빅데이터 첫걸음마 #K-digital_Credit

      티스토리툴바