Linux
 Computer >> コンピューター >  >> システム >> Linux

Linuxでビデオのサムネイルシート(連番プレビュー画像)を作成する方法

Linuxでビデオのサムネイルシート(連番プレビュー画像)を作成する方法

サムネイルシートとは、ビデオの各シーンを抽出したフレーム画像を1枚の画像にまとめたものです。もともとは、写真を現像してプリントしていた頃に人気のあった「写真シート」が起源とされています。当時の写真シートがフィルムやSDカードの中身のプレビューとして機能していたように、現在のサムネイルシートはビデオファイルの内容をひと目で確認できるプレビューとして役立ちます。メディアプレーヤーで動画を最初から最後まで再生して確認するよりも、サムネイルシートなら内容や画質を素早くチェックできるのが大きなメリットです。

幸いなことに、動画から特定のフレームを手動で切り出し、それらを1枚の画像に並べるといった面倒な作業をする必要はありません。専用ツールを使えば、ビデオから簡単にサムネイルシートを作成できます。この記事では、Linux環境でその方法を2つ紹介します。

GNOME Videos(Totem)を使用する方法

GNOMEデスクトップ環境をお使いの場合、標準のメディアプレーヤーである「Videos」(GNOMEスイートの一部であり、以前は「Totem」という名前で知られていた「GNOME Videos」)には、サムネイルシートを簡単に作成できる機能が搭載されています。

まず、アプリケーションを起動しましょう。

Linuxでビデオのサムネイルシート(連番プレビュー画像)を作成する方法

サムネイルシートを作成したい動画を開き、アプリケーションのメニューから「スクリーンショットギャラリーを作成…」を選択します。

Linuxでビデオのサムネイルシート(連番プレビュー画像)を作成する方法

ポップアップ表示されるウィンドウでは、サムネイルシートに関する基本的な設定を行えます。各サムネイルの幅を変更したり、スクリーンショットの枚数を自動で選択させるか、自分で枚数を指定するかを選んだりできます。

設定が完了したら、ウィンドウ上部中央の欄に画像ファイルの名前を入力し、右上の「保存」ボタンをクリックするだけです。

Linuxでビデオのサムネイルシート(連番プレビュー画像)を作成する方法

生成されたファイルは実用的ですが、期待通りの仕上がりにならなかった場合に調整できる項目は限られています。より細かく結果をコントロールしたい場合は、カスタマイズ性の高い別のツールを利用する必要があります。

Linuxでビデオのサムネイルシート(連番プレビュー画像)を作成する方法

FFmpegを使用する方法

FFmpegは、動画をさまざまな方法で処理できる非常に多機能なコマンドラインツールです。その用途の一つがサムネイルシートの作成ですが、やや複雑なコマンドを組み立てる必要があります。基本的な形式は以下のようになります。

ffmpeg -ss 3 -i "/path/to/video/file.mp4" -frames 5 -vf "select=not(mod(n\,3000)),scale=320:240,tile=4x3" -vsync vfr -q:v 10 image-sheet-filename_%03d.jpg
Linuxでビデオのサムネイルシート(連番プレビュー画像)を作成する方法

コマンドの各オプションの意味は次のとおりです。

  • -ss:動画ファイルの先頭からのオフセット時間(秒)を指定します。多くの動画はタイトル映像から始まるため、その部分のサムネイルは不要なことがほとんどです。このオプションで先頭の「X」秒をスキップし、退屈な導入部分を除外できます。
  • -i:サムネイルの抽出元となる入力ファイルを指定します。
  • -frames:記録するフレーム数を指定します。
  • -q:v:生成される画像ファイルの圧縮品質を設定します。

そして、このコマンドで最も重要かつ複雑なのが次の部分です。一度に3つの処理を行っているため、詳しく解説します。

-vf "select=not(mod(n\,3000)),scale=320:240,tile=4x3"

冒頭の -vf は、FFmpegにビデオフィルターを使用するよう指示します。select=not(mod(n\,3000)) は、最終的な画像にどのフレームを選択するかを決める部分です。現在のフレーム番号(n)を指定した数値(ここでは「3000」)で割った余りを判定しています。たとえば、フレーム番号が3001の場合、3001÷3000=1余り1となり、このフレームが最初の画像シートの1枚目になります。フレーム6001なら余りが2になるため2枚目に配置され、以降も同様です。つまり、この数値を小さくするとフレームの選択頻度が高くなり、大きくすると低くなります。

Linuxでビデオのサムネイルシート(連番プレビュー画像)を作成する方法

scale=320:240 の部分では、完成したサムネイルシート内の各サムネイルの解像度を指定します。ベストな結果を得るには、元動画のアスペクト比を考慮しながら、その解像度に対する適切な比率で設定しましょう。

Linuxでビデオのサムネイルシート(連番プレビュー画像)を作成する方法

最後の tile=4x3 の部分は、各シート内でのサムネイルの配置(4列×3行)を定義します。

Linuxでビデオのサムネイルシート(連番プレビュー画像)を作成する方法

生成される画像ファイルのファイル名が filename_%03d.jpg のような形式になっていることにお気づきでしょうか。

filename_%03d.jpg

%03d の部分は、選択されたフレームが1枚のシートに収まりきらない場合、FFmpegが自動的に連番付きの複数の画像シートを生成することを意味します。選択間隔の数値を小さくしたり、1シートあたりのタイル数を減らしたりすると、生成されるファイル数が増え、逆に増やすと減ります。

Linuxでビデオのサムネイルシート(連番プレビュー画像)を作成する方法

もちろん、これは動画の長さにも依存します。単純な計算の話で、「ロード・オブ・ザ・リング」のような3時間半の大作は、ピクサーの短編映画よりも何十万フレームも多いのです。

生成される画像シートの枚数を制御する方法

FFmpegが生成する画像シートの枚数をコントロールしたい場合は、次の計算式を使います。

動画の総フレーム数 ÷ 1シートあたりのタイル数 ÷ 作りたい画像シートの枚数

この計算結果を、コマンドの mod(n\,RESULTS) の部分に入力してください。

また、サムネイルシートではなく個別の画像として抽出したい場合も、FFmpegなら動画をバラバラの静止画に分解することが可能です。その際は tile フィルターを外し、%03d を含むファイル名を指定すればOKです。

あなたはどんな方法でビデオのサムネイルシートを作成していますか?ぜひコメントで教えてください。

  1. 13歳未満のお子様向けGmailアカウントの作成方法をわかりやすく解説

    13歳未満のお子さんにメールアドレスが必要になったら、Gmailアカウントの設定はとても簡単です。GmailはGoogleが提供する無料のメールサービスで、パソコンのブラウザはもちろん、スマートフォンやタブレットからもアクセスできます。お子さんのGmailアカウントを作成する際には、まずGoogleの「Family Link(ファミリーリンク)」アプリをダウンロードする必要があります。このアプリにはペアレンタルコントロール(保護者による管理機能)が搭載されており、保護者がアカウントの利用範囲や制限内容を自由に決められるのが特徴です。13歳未満の子ども向けGmailアカウントは、大人用のアカウン

  2. iPadのデータをバックアップする方法|iCloud・iTunesを使った2つの手順を徹底解説

    iPadは私たちが思っている以上に日常生活に浸透しています。メッセージの送受信、音楽鑑賞、ゲーム、映画視聴、写真や動画の共有など、さまざまな用途で活用されており、仕事の重要なファイル、個人情報や金融情報、健康データの保存、さらには印刷用フォトアルバムの作成まで幅広く行われています。 では、iPadを紛失・破損・盗難してしまった場合でも、これらの大切なデータを確実に守るにはどうすればよいのでしょうか。答えはシンプルです。「データのバックアップを作成すること」。それ以外にありません。 あわせて読みたい:今すぐ買うべき便利なiPadアクセサリー9選 iPadをバックアップする2つのベストな方法 1.