웹프로그래밍_끄적이기

[PHP]동영상 thumbnail 만들기

깊음위에 2017. 6. 13. 15:18
반응형

동영상을 embed 시키려다 보니, 영 맘에 안든단 말이지..

thumbnail 을 만들어서 이미지 위에 이것저것 덮어야 하는데, 어.. 맞어 난 thumbnail을 만들줄 몰라.

결국 건드리지 말아야 할 것을 건드리고 만다 두둥.. 

 

각설하고, 동영상의 thumbnail을 생성해서 이미지로 사용하려면, 뭐 일일이 다 손으로 만들어 줄수도 있겠지만, 

난 서버에서 생성시켜서 바로 사용할 수 있도록 하려한다. 

 

php + ffmpeg

MAC 에서 ffmpeg를 쉽게 설치하기 위해서는  Home Brew 등의 패키지 매니저를 설치하는 편이 설치가 용이하다.

내 맥에는 PHP 가 이미 설치되어있으므로,  ffmpeg 설치만 설명한다.

 

1. 아래 링크에서 Home Brew를 설치한다.

https://brew.sh

아니면, 아래 명령어를 콘솔에 입력하는 것으로 손쉽게 설치할 수 있다.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

자, 이제 준비가 끝났다.

 

2. ffmepg를 설치한다. 아래와 같이 실행하면 된다.

brew install ffmpeg

이대로 설치하면 좋을지 약간 겁나게 물어본다. 그냥 엔터 쳐주는게 많은 레퍼런스와 호환되는 경로를 갖게 된다.

그냥 엔터.

 

3. 썸네일 캡쳐 코드 작성.

가장 기본적인 코드로만 작성해보았다.

 

<? php

    $ffmpeg = "/usr/local/Cellar/ffmpeg/3.3.2/bin/ffmpeg";
    $size = "270x180";

    $videoFile = './video/videofile.mp4'
    $imageFile = './thumbnail/thumbnail.png"
    $cmd = "$ffmpeg -i $videoFile -ss $getFromSecond -s $size $imageFile";
    shell_exec($cmd);      

?>

 

ffmpeg의 기본 옵션은 다음과 같다.

-i Input file name
-an Disabled audio
-ss Get image from X seconds in the video
-s Size of the image

반응형