ffmpeg로 썸네일을 만들고 싶은데 막혔습니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
ffmpeg로 썸네일을 만들고 싶은데 막혔습니다.

QA

ffmpeg로 썸네일을 만들고 싶은데 막혔습니다.

답변 1

본문

661966317_1728652838.5659.png

 

서버 ffmpeg 설치 확인 캡쳐사진.

 


<?php
function getThumbnail($dest_file)
{     
    $path_parts = pathinfo($dest_file );
    $path_parts = pathinfo($dest_file);
    $extension = "ffmpeg";
    $extension_soname = $extension . "." . PHP_SHLIB_SUFFIX;
    //$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname;
    $extension_fullname = "./" . $extension_soname;
    if (!extension_loaded($extension))
    {
        //dl($extension_soname) or die("Can't load extension $extension_fullname\n");
        //alert("파일을 변환할 수 없습니다.");
    }
    $movie_name = $dest_file;
    $movie = new ffmpeg_movie($dest_file, false);
    $frameCount = 1;
    $frameCount = $movie->getFrameCount();
    $capPos = ceil($frameCount/4);
    $frame = $movie->getFrame($frameCount);
    //echo $path_parts['dirname'], "\n";
    //echo $path_parts['basename'], "\n";
    //echo $path_parts['extension'], "\n";
    //echo $path_parts['filename'], "\n";
    //$frame->resize(130, 90);
    $frame->resize(130, 90, 0, 0, 0, 0);
    imagejpeg($frame->toGDImage(), $path_parts['dirname']."/".$path_parts['filename'].".jpg");
    //imagejpeg($frame->toGDImage(), $dest_file.".jpg");
}

/www/lib/thumnail_ffmpeg.lib.php 생성.

 


<?php
// 올리는 동영상 파일에서 jpg 추출 시작      
if (preg_match("/\.(". $config['cf_movie_extension'] .")$/i", $dest_file)) 
{  
    $extension = "ffmpeg"; 
    $extension_soname = $extension . "." . PHP_SHLIB_SUFFIX; 
    //$extension_fullname = PHP_EXTENSION_DIR . "/" . $extension_soname; 
    $extension_fullname = "./" . $extension_soname; 
    if (!extension_loaded($extension)) 
    { 
        //dl($extension_soname) or die("Can't load extension $extension_fullname\n"); 
        //alert("파일을 변환할 수 없습니다."); 
    } 
    $movie_name = $dest_file; 
    $movie = new ffmpeg_movie($dest_file, false); 
    $frame = $movie->getFrame(1); 
    imagejpeg($frame->toGDImage(), $dest_file.".jpg"); 
} 
// 올리는 동영상 파일에서 jpg 추출 끝 
?>

/skin/board/테마/write_update.skin.php 에 아래 내용 추가 라고 하는데.
write_update.skin.php 파일이 없어서 
해당 파일을 만들어서 하면 오류가 납니다.

해당 테마에는 write_update.head.skin.php 와 write_update.tail.skin 만 존재합니다.

 

동영상 삭제시
삭제시에서 .jpg 파일 삭제하게끔 추가(delete.php나 delete_all.php 에..) 
@unlink(G5_DATA_PATH ."/file/$bo_table/{$row2['bf_file']}.jpg"); 

라고 하는데 delete.head.skin  만 존재해요.

board_test3 게시물에 동영상만 새글 올리고
filezile 에서 /server/도메인/www/data/file/board_test3 
새로고침 해보면 동영상은 뜨는데 썸네일은 뜨지가 않네요.

어떤식으로 해야지 썸네일 생성이 가능할까요?




동영상파일에서 한장면을 jpg로 추출하는 부분이며 별도 DB에 저장하지 않고 올린 동영상 파일명뒤에 .jpg 확장자로 저장 

 

 

 

이 질문에 댓글 쓰기 :

답변 1


if (extension_loaded('ffmpeg')) {
$movie_name = $dest_file;
$movie = new ffmpeg_movie($dest_file, false);
if ($movie) {
$frame = $movie->getFrame(1);
imagejpeg($frame->toGDImage(), $dest_file . ".jpg");
}
}


해당 처럼 썸네일 생성 하시면 되실듯합니다.
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로