search
LoginSignup
13
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Node.jsで動画変換処理(fluent-ffmpeg)

目次


概要

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'
  })

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
13
Help us understand the problem. What are the problem?