目次
概要
Node.jsをサーバとして利用した時に、動画加工処理の最適な方法は何かを調査する。
有名どころでは、ffmpeg。
参考
Node.jsでffmepgを使って動画からサムネイル/静止画を生成する
https://qiita.com/nasbi_suganuma/items/222cd894e09b7c5e9652
それFFmpegで出来るよ! ffmpeg自体の説明と操作
https://qiita.com/cha84rakanal/items/e84fe4eb6fbe2ae13fd8
環境構築
Macでのffmpegのインストール(時間がかかる)
brew install ffmpeg
※こんなエラーが出たので、
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
ディレクトリを作成し、権限与えて、もう一度インストール! 成功!
sudo mkdir /usr/local/Frameworks
sudo chown $(whoami):admin /usr/local/Frameworks
Winでのffmpegのインストール 参考
【windows】FFmpegをインストールする手順
https://fukatsu.tech/windows-ffmpeg
fluent-ffmpegをインストール
npm install fluent-ffmpeg
fluent-ffmpegの使い方
難しいことをしないなら、 以下の記述だけで完了なので、結構簡単。
ffmpeg(入力ファイルパス).output(出力ファイルパス)
もし、mp4を元にAVI形式を作成し、ついでにサムネイルも作成する場合は、以下のような記述になります。
const filePath = `${__dirname}/../static/MovieFiles/${id}/`
ffmpeg(`${filePath}movie.mp4`)
.output(`${filePath}movie.avi`)
.on('end', () => {
// ここに処理完了後の処理記述
console.log('Processing finished !')
})
.screenshots({ // これはサムネイル作成の記述
count: 1,
folder: filePath,
filename: 'thumbnail.jpg',
size: '150x150'
})