시놀로지 나스에서 웹스테이션을 통하여 elfinder 2.1.69 를 운영하고 있는데 동영상 파일이 아이콘으로만 표시되고 썸네일로 보여지지 않는 것을 알게 되었다. 그래서 elfinder 데모페이지에서 확인해 보니 썸네일이 잘 표현되고 있는 것이었다. 방법이 있을 것으로 생각되어 제미나이하고 클로드에 교차해서 물어 봤다. 우선 제미나이에게 물어보고 클로드한테 검증해 달랬더니 거의 동일한 답을 얻었다. elfinder 동영상 썸네일 생성 방법 1. ffmpeg 경로 확인 - 시놀로지 나스 콘솔로 접속> which ffmpeg >> /bin/ffmpeg 2, connetor.php 에서 관련 내용의 주석을 해제하고 위의 경로를 설정 // define('ELFINDER_FFMPEG_PATH', '/PATH/TO/ffmpeg'); define('ELFINDER_FFMPEG_PATH', '/volume1/@appstore/ffmpeg8/bin/ffmpeg'); 3. connector.php 의 roots 설정 부분에 동영상 썸네일 관련 설정 추가 // Documentation for connector options: // https://github.com/Studio-42/elFinder/wiki/Connector-configuration-options $opts = array( // 'debug' => true, 'roots' => array( // Items volume array( 'driver' => 'LocalFileSystem', // driver for accessing file system (REQUIRED) 'path' => '../files/', // path to files (REQUIRED) 'URL' => dirname($_SERVER['PHP_SELF']) . '/../files/', // URL to files (REQUIRED) 'trashHash' => 't1_Lw', // elFinder's hash of trash folder 'winHashFix' => DIRECTORY_SEPARATOR !== '/', // to make hash same to Linux one on windows too 'uploadDeny' => array('all'), // All Mimetypes not allowed to upload 'uploadAllow' => array('image/x-ms-bmp', 'image/gif', 'image/jpeg', 'image/png', 'image/x-icon', 'text/plain'), // Mimetype `image` and `text/plain` allowed to upload 'uploadOrder' => array('deny', 'allow'), // allowed Mimetype `image` and `text/plain` only 'accessControl' => 'access' // disable and hide dot starting files (OPTIONAL) ), // Documentation for connector options: // https://github.com/Studio-42/elFinder/wiki/Connector-configuration-options $opts = array( // 'debug' => true, 'roots' => array( // Items volume array( 'driver' => 'LocalFileSystem', // driver for accessing file system (REQUIRED) 'path' => '../files/', // path to files (REQUIRED) 'URL' => dirname($_SERVER['PHP_SELF']) . '/../files/', // URL to files (REQUIRED) 'trashHash' => 't1_Lw', // elFinder's hash of trash folder 'winHashFix' => DIRECTORY_SEPARATOR !== '/', // to make hash same to Linux one on windows too 'uploadDeny' => array('all'), // All Mimetypes not allowed to upload 'uploadAllow' => array('image/x-ms-bmp', 'image/gif', 'image/jpeg', 'image/png', 'image/x-icon', 'text/plain'), // Mimetype `image` and `text/plain` allowed to upload 'uploadOrder' => array('deny', 'allow'), // allowed Mimetype `image` and `text/plain` only 'accessControl' => 'access' // disable and hide dot starting files (OPTIONAL) 'tmbVideoConvLen' => 104857600, // 10MB → 120MB 비디오 썸네일 추출 'tmbVideoConvSec' => 2, // 비디오 썸네일 추출 캡처 시점(초). 짧은 영상 대비 ), 166, 167 Line 과 같이 썸네일 추출 관련 설정을 추가해줌. 위와 같이 설정을 해도 반응이 없었다. 그래서 인터넷을 검색했더니 ffmpeg의 시놀로지 나스 기본 프로그램 말고 별도의 ffmpeg 를 설치한 경우가 있었다. https://hospital82.tistory.com/116 참조. 내 시놀로지 나스의 패키지 센터에 들어가 봤더니 별도의 ffmpeg 는 없고, 위의 설치안내처럼 "커뮤니티"를 찾아 봤지만, "커뮤니티"가 없었다. 여러번의 시도 끝에 다음과 같이 해결했다. 커뮤니티를 추가한다. 생각보다 간단하다. ffmpeg 최신 버전을 설치한다. 이 프로그램도 다양한 버전이 존재한다. connector.php 에서 "// define('ELFINDER_FFMPEG_PATH', '/PATH/TO/ffmpeg');" 부분의 주석을 해제하고 설치된 ffmpeg 경로로 설정한다. connector.php 파일의 동영상이 보여져야 하는 'roots' => array( 부분에 썸네일 캡쳐 설정을 추가한다. 다른 설정은 필요없다. 이렇게 하면 간단하게 해결되는데 2박3일 동안 삽질하느라 눈만 침침해졌다. 아래는 따라만 하면 그대로 설정이 완료되는 메뉴얼이다. 1. 시놀로지 나스의 패키지 센터에 "커뮤니티" 추가하기 패키지센터> 설정> 패키지소스> 추가> - 이름 : 커뮤니티 ← 다른 이름으로 지정해도 됨 - 위치 : http://packages.synocommunity.com 2. 커뮤니티에서 ffmpeg 설치 : 가장 최신 버전으로 설치해되 됨. 이거 설치하면 비디오스테이션에서 코덱관련 메시지도 줄어들어 동영상 재생이 잘된다고 함. 3. connector.php 의 "// define('ELFINDER_FFMPEG_PATH', '/PATH/TO/ffmpeg');" 부분 설정 <?php error_reporting(0); // Set E_ALL for debuging // // Optional exec path settings (Default is called with command name only) // define('ELFINDER_TAR_PATH', '/PATH/TO/tar'); // define('ELFINDER_GZIP_PATH', '/PATH/TO/gzip'); // define('ELFINDER_BZIP2_PATH', '/PATH/TO/bzip2'); // define('ELFINDER_XZ_PATH', '/PATH/TO/xz'); // define('ELFINDER_ZIP_PATH', '/PATH/TO/zip'); // define('ELFINDER_UNZIP_PATH', '/PATH/TO/unzip'); // define('ELFINDER_RAR_PATH', '/PATH/TO/rar'); // define('ELFINDER_UNRAR_PATH', '/PATH/TO/unrar'); // define('ELFINDER_7Z_PATH', '/PATH/TO/7za'); // define('ELFINDER_CONVERT_PATH', '/PATH/TO/convert'); // define('ELFINDER_IDENTIFY_PATH', '/PATH/TO/identify'); // define('ELFINDER_EXIFTRAN_PATH', '/PATH/TO/exiftran'); // define('ELFINDER_JPEGTRAN_PATH', '/PATH/TO/jpegtran'); define('ELFINDER_FFMPEG_PATH', '/volume1/@appstore/ffmpeg8/bin/ffmpeg'); 4. connector.php 의 'roots' => array( 부분에 썸네일 캡쳐 설정 // Documentation for connector options: // https://github.com/Studio-42/elFinder/wiki/Connector-configuration-options $opts = array( // 'debug' => true, 'roots' => array( // Items volume array( 'driver' => 'LocalFileSystem', // driver for accessing file system (REQUIRED) 'path' => '../files/', // path to files (REQUIRED) 'URL' => dirname($_SERVER['PHP_SELF']) . '/../files/', // URL to files (REQUIRED) 'trashHash' => 't1_Lw', // elFinder's hash of trash folder 'winHashFix' => DIRECTORY_SEPARATOR !== '/', // to make hash same to Linux one on windows too 'uploadDeny' => array('all'), // All Mimetypes not allowed to upload 'uploadAllow' => array('image/x-ms-bmp', 'image/gif', 'image/jpeg', 'image/png', 'image/x-icon', 'text/plain'), // Mimetype `image` and `text/plain` allowed to upload 'uploadOrder' => array('deny', 'allow'), // allowed Mimetype `image` and `text/plain` only 'accessControl' => 'access' // disable and hide dot starting files (OPTIONAL) 'tmbVideoConvLen' => 104857600, // 10MB → 120MB 비디오 썸네일 추출 'tmbVideoConvSec' => 2, // 비디오 썸네일 추출 캡처 시점(초). 짧은 영상 대비 166, 167 line 과 같이 아래 내용을 추가해줌. 동영상이 있는 보륨에 대하여 모두 설정 'tmbVideoConvLen' => 104857600, // 10MB → 120MB 비디오 썸네일 추출 'tmbVideoConvSec' => 2, // 비디오 썸네일 추출 캡처 시점(초). 짧은 영상 대비 작성자 5. 캐시 비우기 및 강력새로고침, 기존 생성된 썸네일 삭제 - elfinder 썸네일은 동일 썸네일 있을 경우 갱신되지 않을 수 있어 기존에 생성된 썸네일이 있다고 삭제하고 확인해 볼것.