플래시 연구실
글 수 524
http://cafe.naver.com/q69/114307Linux 환경에서 php에 ffmpeg 모듈을 설치하여 동영상에서 썸네일(thumbnail)을 추출하는 방법입니다.
제가 테스트한 환경은 SULinux 1.5 Server 에서 APM을 설치하여 테스트 하였습니다.
그리고 제가 필요한 솔루션은 ffmpeg-php 를 이용하여 .wmv 파일을 이미지(image)로 변환하는 것이었기 때문에
다른 변환은 테스트 해보지 않았음을 미리 명시합니다.
먼저, FFMPEG 에 가서 [Download and SVN] 페이지로 가서 full checkout 을 다운받으세요.
이 파일은 FFMpeg의 구버전 또는 기본 베이스 파일이라고 생각하시면 될 것 같습니다.
그 다음엔 SourceForge 에 가서 FFMpeg 최신 파일을 다운받습니다.
그 후에 두 파일을 /usr/local/폴더에 복사하여 압축을 풀어줍니다.
압축풀기의 경우 확장자가 대부분 tar, tbz2, bz 로 나옵니다.
tar -xvjf xxx.tar
tar -xvjpf xxx.tbz2
tar -xvzf xxx.bz
보통 tar 옵션을 보면 x는 압축풀기, v는 압축푸는거 보여주기, f의 경우 물어보지 않기 정도 일까요?
자세히는 모르겠네요. ㅎㅎ
압축풀기가 끝나면 먼저 구버전을 설치합니다.
구버전 폴더 내에서
./configure --enable-shared
make
make install
순으로 명령어를 내려줍니다.
두번째로 최신 파일의 폴더 내에서
/usr/local/php/bin/phpize
여기서 경로는 다를 수 있습니다. 중요한건 phpize 를 실행한다는 겁니다.
현재 폴더 내에서 phpize를 실행해주세요.
./configure --enable-shared --with-php-config=/usr/local/php/bin/php-config
여기서 뒤에 --with~ 부분은 실행과정에서 에러가 나오길래 제가 추가한 부분입니다.
자세히 보면 그냥 php-config 파일의 경로를 적어주었을 뿐입니다.
make clean && make
make clean 명령어는 글쎄요. 자세히는 모르겠지만, 이전 make 내용을 없애는 걸까요?
make install
순으로 명령어를 다 내리고 나면 php 의 extension 폴더 안에 ffmpeg.so 파일이 생성됩니다.
원래 정상적으로 하면 여기까지만 하면 완료됩니다.
그러나 저같은 경우 ffmpeg test 파일을 웹페이지로 봤을경우
ffmpeg.so 파일을 읽어들이지 못했습니다.
그래서 저는 ffmpeg.so 파일만 복사하여 소스파일이 있는 폴더내에 같이 놔두고,
소스코드 내에 ffmpeg.so 파일을 읽어오는 코드를 넣어서 사용했더니, 성공적으로 변환이 되었습니다.
FFMpeg 설치소스(구버전 및 현재 최신 파일) 및
ffmpeg.so 파일을 읽어와서 테스트(.wmv -> .jpg)하는 소스코드를 첨부합니다.
부디 성공하시기를... <-- 영어 솔루션 보시느라 고생하셨습니다. ;ㅁ;
#1. ffmpeg-checkout-snapshot.tar.tar
#2. ffmpeg-php-0.5.0.tbz2
#3. ffmpeg_process.php
제가 테스트한 환경은 SULinux 1.5 Server 에서 APM을 설치하여 테스트 하였습니다.
그리고 제가 필요한 솔루션은 ffmpeg-php 를 이용하여 .wmv 파일을 이미지(image)로 변환하는 것이었기 때문에
다른 변환은 테스트 해보지 않았음을 미리 명시합니다.
먼저, FFMPEG 에 가서 [Download and SVN] 페이지로 가서 full checkout 을 다운받으세요.
이 파일은 FFMpeg의 구버전 또는 기본 베이스 파일이라고 생각하시면 될 것 같습니다.
그 다음엔 SourceForge 에 가서 FFMpeg 최신 파일을 다운받습니다.
그 후에 두 파일을 /usr/local/폴더에 복사하여 압축을 풀어줍니다.
압축풀기의 경우 확장자가 대부분 tar, tbz2, bz 로 나옵니다.
tar -xvjf xxx.tar
tar -xvjpf xxx.tbz2
tar -xvzf xxx.bz
보통 tar 옵션을 보면 x는 압축풀기, v는 압축푸는거 보여주기, f의 경우 물어보지 않기 정도 일까요?
자세히는 모르겠네요. ㅎㅎ
압축풀기가 끝나면 먼저 구버전을 설치합니다.
구버전 폴더 내에서
./configure --enable-shared
make
make install
순으로 명령어를 내려줍니다.
두번째로 최신 파일의 폴더 내에서
/usr/local/php/bin/phpize
여기서 경로는 다를 수 있습니다. 중요한건 phpize 를 실행한다는 겁니다.
현재 폴더 내에서 phpize를 실행해주세요.
./configure --enable-shared --with-php-config=/usr/local/php/bin/php-config
여기서 뒤에 --with~ 부분은 실행과정에서 에러가 나오길래 제가 추가한 부분입니다.
자세히 보면 그냥 php-config 파일의 경로를 적어주었을 뿐입니다.
make clean && make
make clean 명령어는 글쎄요. 자세히는 모르겠지만, 이전 make 내용을 없애는 걸까요?
make install
순으로 명령어를 다 내리고 나면 php 의 extension 폴더 안에 ffmpeg.so 파일이 생성됩니다.
원래 정상적으로 하면 여기까지만 하면 완료됩니다.
그러나 저같은 경우 ffmpeg test 파일을 웹페이지로 봤을경우
ffmpeg.so 파일을 읽어들이지 못했습니다.
그래서 저는 ffmpeg.so 파일만 복사하여 소스파일이 있는 폴더내에 같이 놔두고,
소스코드 내에 ffmpeg.so 파일을 읽어오는 코드를 넣어서 사용했더니, 성공적으로 변환이 되었습니다.
FFMpeg 설치소스(구버전 및 현재 최신 파일) 및
ffmpeg.so 파일을 읽어와서 테스트(.wmv -> .jpg)하는 소스코드를 첨부합니다.
부디 성공하시기를... <-- 영어 솔루션 보시느라 고생하셨습니다. ;ㅁ;
#1. ffmpeg-checkout-snapshot.tar.tar
#2. ffmpeg-php-0.5.0.tbz2
#3. ffmpeg_process.php
