[FFMPEG] 동영상 썸네일 만들기 > 기술자료 | 해피정닷컴

[FFMPEG] 동영상 썸네일 만들기 > 기술자료

본문 바로가기

사이트 내 전체검색

[FFMPEG] 동영상 썸네일 만들기 > 기술자료

그누보드 [FFMPEG] 동영상 썸네일 만들기

페이지 정보


본문

서버에 FFMPEG php 모듈이 설치된 경우에만 작동합니다
호스팅사에 사전 문의후 적용하세요


https://mike73.tistory.com/33  에 등록된 내용을 그누보드5에 적합하게 수정했습니다
실제 테스트 되지 않았으며, 서버에 모듈이 설치되면 테스트후 내용 보강하겠습니다


1. lib / thumnail_ffmpeg.lib.php 파일을 생성해서 아래 내용 저장
<?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");
}

// test
$dest_file = '/var/www/html/web/files/2014/06/04/f83abfb924430a34c3d7d516950c9f30184600.mp4';
getThumbnail($dest_file);
 

2. skin / board / basic / write_update.skin.php 에 아래 내용 추가
동영상파일에서 한장면을 jpg로 추출하는 부분이며 별도 DB에 저장하지 않고 올린 동영상 파일명뒤에 .jpg 확장자로 저장 

<?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 추출 끝 
?>


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

댓글목록

등록된 댓글이 없습니다.


Total 460건 2 페이지
  • RSS
기술자료 목록
열람
그누보드   5168  2021-10-24 02:39  
439
그누보드   5300  2021-10-08 17:20 ~ 2021-10-21 15:24  
438
그누보드   5541  2021-10-08 14:45 ~ 2021-10-08 16:11  
437
그누보드   6658  2021-10-08 07:41 ~ 2021-10-14 10:40  
436
그누보드   5019  2021-09-02 12:15 ~ 2021-09-02 15:15  
435
그누보드   4969  2021-08-31 18:52  
434
그누보드   5270  2021-08-01 20:59 ~ 2021-08-02 09:19  
433
그누보드   7052  2021-07-27 14:45 ~ 2021-08-05 18:06  
432
그누보드   5881  2021-06-30 07:32 ~ 2021-06-30 07:50  
431
그누보드   7701  2021-06-11 09:19 ~ 2021-06-11 09:20  
430
그누보드   6507  2021-06-03 16:20 ~ 2021-06-06 14:56  
429
그누보드   5844  2021-05-26 11:53 ~ 2021-05-27 08:49  
428
그누보드   8273  2021-05-18 13:48 ~ 2021-07-22 12:24  
427
그누보드   5597  2021-04-21 17:55 ~ 2021-06-15 18:19  
426
그누보드   4848  2021-02-25 22:28 ~ 2021-03-17 11:33  
425
그누보드   6392  2021-02-18 10:28 ~ 2021-02-18 14:10  
424
그누보드   6870  2021-02-08 14:43 ~ 2021-02-08 16:31  
423
그누보드   8028  2020-12-14 18:09 ~ 2023-04-04 11:18  
422
그누보드   6708  2020-12-07 15:15 ~ 2022-12-17 21:15  
421
그누보드   4766  2020-10-19 06:39 ~ 2022-02-01 09:57  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2025 해피정닷컴. All Rights Reserved.