15
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-02-19

目次


概要

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

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
  3. You can use dark theme
What you can do with signing up
15
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?