안녕하세요:) 개발자 우디입니다! 아래 내용 관련하여 작업 중이신 분들께 도움이되길 바라며 글을 공유하니 참고 부탁드립니다😊
(이번에 벨로그로 이사오면서 예전 글을 옮겨적었습니다. 이 점 양해 부탁드립니다!)
클립을 선택하면 자동으로 썸네일이 동일한 경로에 생성되도록 구현함.
function getScreenshot(videoPath) {
const savedFileName = path.parse(videoPath).name + '_Thumb.png';
const savedFolderName = path.join(path.dirname(videoPath), 'thumbnail ');
if (!fs.existsSync(savedFolderName)) {
fs.mkdirSync(savedFolderName);
}
ffmpeg(videoPath).screenshots({
timestamps: ['50%'],
filename: savedFileName,
folder: savedFolderName,
size: '1920x1080',
});
console.log('make clip thumbnail successfully...');
}
...
function makeThumbnailOfEachClip(videoNamesArr) {
for (let i = 0; i < videoNamesArr.length; i++) {
getScreenshot(videoNamesArr[i]);
}
}
ipcMain 통신
ipcMain.on('make-clip-screenshots', () => {
dialog
.showOpenDialog(win, {
properties: ['multiSelections'],
filters: [{ name: 'Movies', extensions: ['mp4', 'mkv'] }],
title: '썸네일 생성하기',
})
.then(data => {
if (!data['canceled']) {
makeThumbnailOfEachClip(data['filePaths']);
}
});
});