FFMPEGには動画のサムネイル画像を自動取得するThumbnailというビデオフィルタがあります。今回はこちらのビデオフィルタを使い、動画のサムネイルの自動生成する方法を紹介したいと思います。
FFMPEGの実行バイナリファイルの入手に関しましては、もし入手方法がわからないという方がいらっしゃいましたら、以下の記事を参考にしてみてください。
FFMPEGで動画のサムネイルを自動生成する方法
下記のコマンドで、動画のサムネイルを自動生成することが可能です。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ffmpeg -i input.mp4 -vf thumbnail=1000,scale=384:216 -frames:v 1 output.png
FFMPEGのビデオフィルタのThumbnailを使うことで、一連のフレームの中から、より平均に近い特徴を持つフレームをサムネイルとして自動出力してくれます。
これにより、動画の中で特異なフレームが排除され、比較的動画全体の特徴を上手く表すようなフレームがサムネイルとして選択されやすくなります。
本コマンドのポイントは以下の通りです。
- 入力動画を「input.mp4」の位置に指定します。
- 「-vf thumbnail=1000,scale=384:216」の部分がサムネイルの自動出力の設定です。
- 「thumbnail=XXXX」はサムネイルの生成にあたり、動画の開始フレームから何フレームを検索し、サムネイルを自動生成するかの検索範囲を決定します。「1000」を指定した場合、開始から1000フレームの中からサムネイルとなるフレームが1枚選ばれます。この値が大きすぎるとメモリ消費量などの観点で問題が発生する可能性がありますので、PCのスペックに応じて、何か問題が起こるようであれば調整する方がよいでしょう。
- 「scale=AAA:BBB」は出力するサムネイルの解像度です。AAAに横幅(横のピクセル数)、BBBに高さ(縦のピクセル数)を指定します。
- 「output.png」の箇所に、出力されるサムネイル画像の名前を指定します。画像は「.png」に限らず「.jpg」などの他の形式でも出力が可能です。
まとめ
FFMPEGを使うことで、サムネイルの自動生成も簡単に行うことができます。
1本の動画のサムネイルを作るだけであれば手動で実施した方が好きなフレームを選択できるので良いような気もしますが、大量の動画から各動画のサムネイルを自動で得たいような用途においては、効果を発揮するのではないでしょうか。