file 모듈에서 비디오 파일의 thumbnail_filename 경로, 그리고 comment 컬럼
CMS/프레임워크 | Rhymix 2.1 |
---|---|
개발 언어 | PHP 7.4 |
요즘 첨부 영상을 조작하다보니 파일 모듈을 들여다보고 있는데요. 특히 ffmpeg를 사용할 수 없는 웹호스팅을 이용 중이다보니 모르는 게 많습니다.
동영상 파일을 첨부할 때 썸네일을 생성해주는 기능이 있던데요, 짐작컨대 이렇게 되면 썸네일 파일의 경로는 files모듈의 thumbnail_filename 컬럼에 저장되는 것 같더라구요. 그런데 이렇게 해서 생성된 썸네일 파일도 files 테이블에 기록되어 첨부 파일 목록에도 들어가나요? 그게 아니라 첨부 파일과는 별도로 캐시 폴더에 저장된다면 어떤 경로로 저장되는 건가요?
혹시라도 영상 파일의 경로 등을 통해 js단에서 비디오 썸네일의 경로를 예지할 수 있다면, ffmpeg이 없어도 별도의 대표 이미지를 추출해서 캐시 파일로 저장해둘 수 있을 것 같아서요. 아니면 코어의 비디오 썸네일 경로랑 상관없이 별도의 캐시 폴더를 만들고 thumbnail_filename 컬럼을 업데이트하면, updateFile이나 deleteFile 동작 때도 알아서 썸네일이 유지/변경/삭제되는지도 궁금합니다.
그리고 db를 보면 files 테이블에 comment 컬럼이 있던데 이거는 거의 기능이 없는 거 맞죠? file모듈의 php파일들 검색해봐도 용례를 알 수가 없네요. documents 테이블의 extra_vars 같은 것인지...

윤삼
Lv. 19
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
댓글 5
동영상 썸네일은 캐시가 아닌 첨부파일 폴더에 정식으로 저장됩니다. 엄연히 DB에 저장되는 경로인데, 수시로 날아가는 캐시 파일이면 곤란하죠. 단, 첨부파일 갯수나 용량으로 카운트되지는 않습니다. 썸네일은 원본 동영상 파일에 비해 하찮을 정도로 용량이 작기도 하고요.
ffmpeg이 아닌 다른 방법으로 (예: 외부 API를 통해) 대표 이미지를 추출하실 수 있다면 마찬가지로 DB에 입력하셔도 됩니다. 단, 저장되는 경로는 코어에서 생성한 썸네일과 동일하게 처리하는 것이 좋겠지요. 첨부파일과 관련된 데이터를 ./files/attach, ./files/thumbnails 이외의 경로에 저장하는 것은 모두 사문난적입니다. ㅎㅎ
참고로 동영상이 아닌 일반 이미지도 썸네일을 생성하여 활용할 계획이 있습니다. 현재 동영상 썸네일이 사용되는 곳은 1) 에디터 하단 및 관리자 화면의 첨부 목록과 2) <video> 태그의 poster 속성인데, 첨부 목록 같은 경우에는 일반 이미지도 원본 그대로 보여주는 것보다 썸네일로 보여주는 것이 더 깔끔할 테니까요.
comment 컬럼은 현재 사용하는 곳이 없는 것으로 알고 있습니다.
첨부파일 폴더라면, 보통은 동영상 썸네일 또한 동영상이랑 같은 폴더에 들어간다는 거죠?
잏반적인 파일명은 $file_info['tmp_name'] . '.thumbnail.jpeg' 같은 식이던데요. 파일명은 자율적으로 해도 될까요? 해봐야 알겠지만 js쪽에서 tmp_name을 포착하는 게 쉽지 않을 것 같아서요.
(사문난적으로 몰리기 싫어요ㅋ)
그나저나 동/영상 썸네일 좋은 것 같습니다. 첨부파일 목록에 동영상만 있을 때 문서 썸네일이 되기도 하고 SEO에서도 대표 이미지가 되는 것 같더군요.
comment는 이름으로 보아 파일에 대한 메모 같은 걸 하려던 것 같은데, 코어 어디에서조차도 활용을 안 하는 것 같더라구요. 서드파티 제공 목적이라 보기에도 insertFile이나 updateFile 쿼리에서조차 빠져 있더라구요. 암튼 이건 그냥 궁금해서 여쭤본 거 였습니다ㅎㅎ