動画の全フレームを一気に静止画に変換/フリーの動画編集ソフトVirtualDub
2009年08月27日 公開
今日は久しぶりにフリーソフトのネタですが、かなりピンポイントな使い方なので、一般的にはあまり役に立たない情報かもw

VirtualDub
このブログではアニメの感想記事を書く時に、キャプチャ画像を一緒に掲載しています。ブログを始めた頃は動画を再生しながら1コマずつ静止画をキャプチャしていたのですが、この方法ではベストショットをキャプチャするのに時間が掛かり効率的とは言えませんでした。そこで、効率的な方法とは何かと考えた時、行き当たったのが動画の全フレーム(全コマ)を一気に静止画出力(連番画像化)し、その中から使えそうなコマを選択する方法です。
そして、ありがたいことに、そのような機能を備えたフリーソフトはいくつかありました。ところが、試しにいくつかインストールして使ってみたところ、動画形式に制限があったり、出力形式がBMPオンリーだったりして、どれも帯に短しタスキに長しなものばかり・・・。様々な形式の動画を読み込めて、静止画出力にはJPEG/PNG形式を選べるソフトを求めていたので、これにはガッカリ。そんな感じで半ば諦めかていたのですが、もともとPCにインストールしてあったVirtualDubに「エクスポート」という機能があるのを発見。試しに使ってみたところ、要求仕様を全て満たしていたという、実に灯台もと暗しなオチでしたw
以下、VirtualDubの導入方法、動画の全フレーム抽出方法について解説してあります。お約束ですが、フリーソフトなので各自の責任においてご使用ください。^_^;
▊ 解凍
ダウンロードしたVirtualDubはZIP形式で圧縮されているので、まずはこれを解凍します。
任意のフォルダ(例:"C:¥Program Files")の中に「VirtualDub」という新規フォルダを作成し、その中に全部解凍すればいいでしょう。
あっけないですが、以上でインストールは終了です。
▊ 試しに起動してみましょう
解凍したファイルの中にあるVirtualDub.exeという実行ファイルがVirtualDubのプログラムです。これを起動すると、ライセンス関連のダイアログボックス(図1)が表示されるので、[OK]ボタンを押します。

図1.ライセンス確認ダイアログボックス
続いて作者からのメッセージが表示されます(図2)。

図2.メッセージ・ダイアログボックス
メッセージ・ダイアログボックスの右下にある[Start VirtualDub]ボタンを押すと、VirtualDubのメインウィンドウが現れます。(図3)

図3.VirtualDubメインウィンドウ
この時点では日本語化されていないので、メニューは全て英語表記になっています。
▊ ダウンロード
VirtualDubのメニュー等は日本語化されていません。英語でOKという方以外は、日本語化パッチの導入をオススメします。日本語化パッチは、下記のサイトで配布されています。ダウンロードに際しては、VirtualDub本体のバージョンと日本語化パッチのバージョンは必ず合わせてください。
▊ 解凍
ダウンロードした日本語化パッチはZIP形式で圧縮されているので、これをVirtualDubをインストールしたフォルダ(先ほどの例では"C:¥Program Files¥VirtualDub")に放り込みます。他のフォルダに入れると、日本語化できません。
▊ 日本語化
VirtualDubが起動していたら、いったん終了させてください。そして、解凍したファイルの中にある日本語化パッチ(例:Ver.1.9.5の場合は"VirtualDub195_jp01.exe")を起動します。「正常終了」というダイアログボックスが表示されればOK。
VirtualDubを再び起動して、メニューが日本語化されていることを確認してください。(図4)
図4.日本語化されたVirtualDub
▊ AviSynthのダウンロード
下記の公式サイトからダウンローでしてください。
▊ AviSynthのインストール
Avisynthのインストール方法については、AviSynth Wiki(日本語の解説ページ)の中にあるインストールをご覧ください。どこよりも詳しく解説されています。
▊ 動画のドラッグ&ドロップ
静止画を抽出したい動画を、起動中のVirtualDubにドラッグ&ドロップします。(図5)

図5.ドラッグ&ドロップした画面
注意事項
AVI形式の動画は様々な形式によってエンコードされているため、個々の形式で使われているコーデックが必須です。例えばDivXでエンコードされた動画の場合、DivXコーデックを事前にインストールしておく必要があります。
▊ 「連番画像の保存...」を選択
左上にあるファイルメニューから、「エクスポート」→「連番画像の保存...」を選択します。(図6)

図6.「連番画像の保存...」
▊ イメージ出力フィルタの設定
「イメージ出力フィルタの設定」というダイアログボックスが表示されます。(図7)

図7.イメージ出力フィルタの設定(デフォルト)
「イメージ出力フィルタの設定」ウィンドウで、画像ファイル名、出力先のフォルダ、画像形式等を設定します。(図8)

図8.イメージ出力フィルタの設定(変更後)
ファイル名の前につける文字列
その名の通り、ファイル名の先頭につける文字列です。付けても付けなくてもかまいません。(上図の例では「v」を設定)
ファイル名の後につける文字列、拡張子を含める
これもそのままの意味。必要に応じて設定してください。(上図の例では未設定)なお、拡張子は画面下部にある出力フォーマットに合わせて自動的に決まります。
ファイル名の開始番号
おそらく誤訳だと思うのですが、ここで設定できるのはファイル名の開始番号ではなく連番数字の桁数です。上図の例では「7」を設定してありますが、この場合の連番は0000000~9999999までとなります。収録時間が長い動画の場合は桁溢れするおそれがありますので、なるべく大きめの桁数を設定しましょう。
イメージを保存するディレクトリ
静止画の保存先フォルダを設定します。(上図の例では「H:¥CAP」)
出力フォーマット
静止画の画像形式を選択します。ビットマップ(BMP)、TARGA、JPEG、PNGの4種類の中から選べ、JPEGの場合は品質係数も設定できます。PCのリソース(フォルダの空き容量等)を考慮して設定してください。(上図の例ではJPEG/品質係数90を設定)
各種設定が終了したら、画面下部の[OK]ボタンを押してください。
▊ 出力中
静止画出力中はステータス・ウィンドウが表示され、進捗状況を確認できます。(図9)

図9.ステータス・ウィンドウ
なお、画面下部にある「入力映像を表示する」および「出力映像を表示する」にチェックが入っていると、それにCPUパワーを食われてしまいます。処理速度に影響が出ますので、チェックを外しておいた方がいいでしょう。
また、パソコンで他の作業をしないのであれば、「スレッドの優先度」を[Higher]にしておくと出力時間が多少短くなります。
▊ AVSファイルの作成
テキストエディタ(メモ帳、秀丸など)を起動し、次の1行を記述します。
上記の例は「c:¥movie.wmv」という動画を取り込むための命令(スクリプト)です。ダブルコーテーションで括られている箇所は対象となる動画に合わせて適宜変更してください。
この記述が済んだら、テキストファイルを適当なファイル名(拡張子は".avs")で保存します。何でもかまいませんが、ここでは説明のため「movie.avs」としておきます。
▊ AVSファイルのドラッグ&ドロップ
作成したAVSファイル(ここでは「movie.avs」)をVirtualDubにドラッグ&ドロップします。このあとの操作は、AVI形式の場合と同じです。
注意事項
パソコンの環境によっては、MPEG4の取り込みに際して、別途コーデック(ffdshowなど)が必要となる場合があります。
■ ダウンロードしたフリーソフトを手っ取り早く管理する方法
■ 画像のモアレ除去に有効なフリーソフト NFILTER
■ 動画の全フレームを一気に静止画に変換/フリーの動画編集ソフトVirtualDub
■ WSXファイルをMP3に変換 〔フリーのマルチメディアエンコーダーMediaCoder〕
■ 画像編集ソフトFireworksで水玉グラデーションを作る方法
■ Windows7でFireworks MX 2004が突然起動できなくなったけど解決した
■ Macromedia Fireworksでモザイクを掛けるフリーのプラグイン
■ 買ったばかりのマウスのホイールが『キュルキュル』音を立てるので自力で直した
■ AviSynth Wiki (AviSynth 日本語による解説ページ)

VirtualDub
このブログではアニメの感想記事を書く時に、キャプチャ画像を一緒に掲載しています。ブログを始めた頃は動画を再生しながら1コマずつ静止画をキャプチャしていたのですが、この方法ではベストショットをキャプチャするのに時間が掛かり効率的とは言えませんでした。そこで、効率的な方法とは何かと考えた時、行き当たったのが動画の全フレーム(全コマ)を一気に静止画出力(連番画像化)し、その中から使えそうなコマを選択する方法です。
そして、ありがたいことに、そのような機能を備えたフリーソフトはいくつかありました。ところが、試しにいくつかインストールして使ってみたところ、動画形式に制限があったり、出力形式がBMPオンリーだったりして、どれも帯に短しタスキに長しなものばかり・・・。様々な形式の動画を読み込めて、静止画出力にはJPEG/PNG形式を選べるソフトを求めていたので、これにはガッカリ。そんな感じで半ば諦めかていたのですが、もともとPCにインストールしてあったVirtualDubに「エクスポート」という機能があるのを発見。試しに使ってみたところ、要求仕様を全て満たしていたという、実に灯台もと暗しなオチでしたw
以下、VirtualDubの導入方法、動画の全フレーム抽出方法について解説してあります。お約束ですが、フリーソフトなので各自の責任においてご使用ください。^_^;
導入
VirtualDubはAvery Lee氏が開発したオープンソースの動画編集ソフトです。VirtualDub単体ではAVI形式の動画しか編集できませんが、プラグイン等を導入することで、WMV形式やMPEG4形式等の動画も取り込むことができます。動画から連番画像を抽出する機能は、数ある編集機能のごく一部で、それこそオマケ的なものですが、これがなかなかの出来なのですよ。ダウンロード
VirtualDubは下記の公式サイトからダウンロードできます。現在(2009年8月27日時点)の最新バージョンは1.9.5です。32bit版と64bit版があるので、お使いのPC環境に合った方をダウンロードしてください。
ダウンロード先 VirtualDub download (at SourceForge)(公式ダウンロード・サイト) |
インストール
▊ 解凍
ダウンロードしたVirtualDubはZIP形式で圧縮されているので、まずはこれを解凍します。
任意のフォルダ(例:"C:¥Program Files")の中に「VirtualDub」という新規フォルダを作成し、その中に全部解凍すればいいでしょう。
あっけないですが、以上でインストールは終了です。
▊ 試しに起動してみましょう
解凍したファイルの中にあるVirtualDub.exeという実行ファイルがVirtualDubのプログラムです。これを起動すると、ライセンス関連のダイアログボックス(図1)が表示されるので、[OK]ボタンを押します。

図1.ライセンス確認ダイアログボックス
続いて作者からのメッセージが表示されます(図2)。

図2.メッセージ・ダイアログボックス
メッセージ・ダイアログボックスの右下にある[Start VirtualDub]ボタンを押すと、VirtualDubのメインウィンドウが現れます。(図3)

図3.VirtualDubメインウィンドウ
この時点では日本語化されていないので、メニューは全て英語表記になっています。
日本語化しよう
▊ ダウンロード
VirtualDubのメニュー等は日本語化されていません。英語でOKという方以外は、日本語化パッチの導入をオススメします。日本語化パッチは、下記のサイトで配布されています。ダウンロードに際しては、VirtualDub本体のバージョンと日本語化パッチのバージョンは必ず合わせてください。
ダウンロード先 VirtualDub localization patch (日本語化パッチ・配布サイト) |
▊ 解凍
ダウンロードした日本語化パッチはZIP形式で圧縮されているので、これをVirtualDubをインストールしたフォルダ(先ほどの例では"C:¥Program Files¥VirtualDub")に放り込みます。他のフォルダに入れると、日本語化できません。
▊ 日本語化
VirtualDubが起動していたら、いったん終了させてください。そして、解凍したファイルの中にある日本語化パッチ(例:Ver.1.9.5の場合は"VirtualDub195_jp01.exe")を起動します。「正常終了」というダイアログボックスが表示されればOK。
VirtualDubを再び起動して、メニューが日本語化されていることを確認してください。(図4)

図4.日本語化されたVirtualDub
WMV形式、MPEG4形式等を読み込むには
前述したとおり、VirtualDub単体ではAVI形式の動画しか読み込めません。WMV形式やMPEG4(H.264)形式等の動画を取り込むには、AviSynthというソフトの助けを借りる必要があります。▊ AviSynthのダウンロード
下記の公式サイトからダウンローでしてください。
ダウンロード先 Browse Files for Avisynth rev. 2 (公式ダウンロード・サイト) |
▊ AviSynthのインストール
Avisynthのインストール方法については、AviSynth Wiki(日本語の解説ページ)の中にあるインストールをご覧ください。どこよりも詳しく解説されています。
動画から連番画像を抽出しよう
基本操作は簡単。VirtualDubを起動して、動画ファイルをドラッグ&ドロップ。あとは、ファイルメニューにある「エクスポート」の中から「連番画像の保存...」を選択し、画像形式、出力先フォルダを設定するだけです。AVI形式の場合
▊ 動画のドラッグ&ドロップ
静止画を抽出したい動画を、起動中のVirtualDubにドラッグ&ドロップします。(図5)

図5.ドラッグ&ドロップした画面
注意事項
AVI形式の動画は様々な形式によってエンコードされているため、個々の形式で使われているコーデックが必須です。例えばDivXでエンコードされた動画の場合、DivXコーデックを事前にインストールしておく必要があります。
▊ 「連番画像の保存...」を選択
左上にあるファイルメニューから、「エクスポート」→「連番画像の保存...」を選択します。(図6)

図6.「連番画像の保存...」
▊ イメージ出力フィルタの設定
「イメージ出力フィルタの設定」というダイアログボックスが表示されます。(図7)

図7.イメージ出力フィルタの設定(デフォルト)
「イメージ出力フィルタの設定」ウィンドウで、画像ファイル名、出力先のフォルダ、画像形式等を設定します。(図8)

図8.イメージ出力フィルタの設定(変更後)
ファイル名の前につける文字列
その名の通り、ファイル名の先頭につける文字列です。付けても付けなくてもかまいません。(上図の例では「v」を設定)
ファイル名の後につける文字列、拡張子を含める
これもそのままの意味。必要に応じて設定してください。(上図の例では未設定)なお、拡張子は画面下部にある出力フォーマットに合わせて自動的に決まります。
ファイル名の開始番号
おそらく誤訳だと思うのですが、ここで設定できるのはファイル名の開始番号ではなく連番数字の桁数です。上図の例では「7」を設定してありますが、この場合の連番は0000000~9999999までとなります。収録時間が長い動画の場合は桁溢れするおそれがありますので、なるべく大きめの桁数を設定しましょう。
イメージを保存するディレクトリ
静止画の保存先フォルダを設定します。(上図の例では「H:¥CAP」)
出力フォーマット
静止画の画像形式を選択します。ビットマップ(BMP)、TARGA、JPEG、PNGの4種類の中から選べ、JPEGの場合は品質係数も設定できます。PCのリソース(フォルダの空き容量等)を考慮して設定してください。(上図の例ではJPEG/品質係数90を設定)
各種設定が終了したら、画面下部の[OK]ボタンを押してください。
▊ 出力中
静止画出力中はステータス・ウィンドウが表示され、進捗状況を確認できます。(図9)

図9.ステータス・ウィンドウ
なお、画面下部にある「入力映像を表示する」および「出力映像を表示する」にチェックが入っていると、それにCPUパワーを食われてしまいます。処理速度に影響が出ますので、チェックを外しておいた方がいいでしょう。
また、パソコンで他の作業をしないのであれば、「スレッドの優先度」を[Higher]にしておくと出力時間が多少短くなります。
WMV形式、MPEG4形式等の場合
WMV形式やMPEG4形式等の動画の場合、動画をVirtualDubにドラッグ&ドロップしてもエラーになってしまいます。下記の手順で操作してください。▊ AVSファイルの作成
テキストエディタ(メモ帳、秀丸など)を起動し、次の1行を記述します。
DirectShowSource("c:¥movie.wmv") |
上記の例は「c:¥movie.wmv」という動画を取り込むための命令(スクリプト)です。ダブルコーテーションで括られている箇所は対象となる動画に合わせて適宜変更してください。
この記述が済んだら、テキストファイルを適当なファイル名(拡張子は".avs")で保存します。何でもかまいませんが、ここでは説明のため「movie.avs」としておきます。
▊ AVSファイルのドラッグ&ドロップ
作成したAVSファイル(ここでは「movie.avs」)をVirtualDubにドラッグ&ドロップします。このあとの操作は、AVI形式の場合と同じです。
注意事項
パソコンの環境によっては、MPEG4の取り込みに際して、別途コーデック(ffdshowなど)が必要となる場合があります。
静止画抽出の例
出力される総コマ数や時間は、動画のエンコードの仕方やパソコンのスペックにもよりますが、自分の環境(メインのデスクトップPC)では下記のとおり。高速CPUや潤沢なメモリーを搭載した最近のPCであれば、出力時間はもっと短くなるでしょう。特にMPEG4形式の場合は、高速CPUがものをいいます。
(例)アニメ(30分番組)の全コマを抽出する場合
パソコンの環境 | CPU | Pentium4 2.4GHz |
メモリ | 1.5GB | |
出力先HDD | 160GB/7,200rpm/USB2.0接続/NTFS | |
OS | Windows2000Pro(SP4) | |
動画の仕様 | フレームサイズ | 704×396ピクセル |
再生時間 | 25分39秒 | |
フレーム数 | 46,115枚 | |
圧縮コーデック | DivX 6.8.4 | |
出力形式 | 画像形式 | JPEG |
品質係数 | 90 | |
出力結果 | 総静止画枚数 | 46,115枚 |
総データ容量 | 約2.2GB | |
出力時間 | 約40分 |
当ブログのパソコン・IT関連の記事
■ Windows 7標準フォントを削除してしまったのでリカバリーDVDから抽出して再インストールした■ ダウンロードしたフリーソフトを手っ取り早く管理する方法
■ 画像のモアレ除去に有効なフリーソフト NFILTER
■ 動画の全フレームを一気に静止画に変換/フリーの動画編集ソフトVirtualDub
■ WSXファイルをMP3に変換 〔フリーのマルチメディアエンコーダーMediaCoder〕
■ 画像編集ソフトFireworksで水玉グラデーションを作る方法
■ Windows7でFireworks MX 2004が突然起動できなくなったけど解決した
■ Macromedia Fireworksでモザイクを掛けるフリーのプラグイン
■ 買ったばかりのマウスのホイールが『キュルキュル』音を立てるので自力で直した
関連サイト
■ virtualdub.org (VirtualDub公式サイト)■ AviSynth Wiki (AviSynth 日本語による解説ページ)
[PR]
|
スポンサーサイト