印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Windows CamStudio でキャプチャした動画を早回しで

CamStudio でキャプチャしたデスクトップの動画を早回しにしてみる。

■ ■ ■

CamStudio は,Windows PC のデスクトップをキャプチャして動画ファイルを作るソフトである (CamStudio - Free Screen Recording Software)。フラッシュ swf 形式の出力もできる (nlog(n): 4BALLS にハマる)。

CamStudio で長時間の録画ができなくて困っているというコメントがあったので (nlog(n): CamStudio 2.0 のバグ),試しにやってみることにした。

Windows Vista Business SP1, CamStudio 2.0 の環境で,部分キャプチャを試してみたところ1時間の録画は問題なくできることがわかった。画像サイズを 248x168 にしたところ,約1時間の録画で 121 MB の AVI ファイルが出力された。

せっかく作ったのにこのまま捨ててしまうのはもったいないが,ファイルが大きすぎるし,誰も見るはずがなく,本当のゴミなので,早回しにしてみることにした。速度を上げるのだが「速回し」ではないようだ。

方針は,AVI から BMP を作って,BMP を間引いてから AVI に戻すということにする。

AVI → BMP → AVI

変換に活躍するのは,AVI ファイルにフィルタをかけるソフト AviUtl である (AviUtlのお部屋)。「連番BMP出力プラグイン」も必要になるので,解凍して AviUtl と同じディレクトリに保存しておく。

使用したソフトとそのバージョンは,AviUtl version0.99g4, 連番BMP出力Plugin version0.06, IrfanView 4.23 (IrfanView, 日本語版) である。

AVI ファイルの情報

最初に CamStudio で出力された AVI ファイルの情報を見てみる。AviUtl を起動し,AVI ファイルを開くと,「編集できる最大フレーム数は320000フレームまでです。最大フレーム数はシステムの設定で変更できます。」というメッセージが表示されるので,「ファイル」→「環境設定」→「システムの設定」で,最大フレーム数を大きくする。

AviUtl ファイルの情報
AviUtl ファイルの情報


AviUtl を再起動すると設定が反映されるので,「その他」→「ファイルの情報」で情報を表示する。フレームレート 200.000fps,フレーム数 725637 であることが分かる。

フレーム数を減らす

ビットマップを出力するにしても,72万個もファイルができてしまってはたまらないので,フレームレートを落として読み込むことにする。AviUtl の「ファイル」→「開く」で「fps変換なし」となっている部分を,思い切って「1fps」として開く。すると,「フレーム数」はオリジナルの 1/200 となって,3628 フレームとなる。

AVI → BMP

「連番BMP出力プラグイン」を AviUtl と同じディレクトリに置いておくと,「ファイル」→「プラグイン出力」→「連番BMP出力」が選択できるようになる。出力先のディレクトリを選択し,ファイル名を決める。このファイル名の後ろに連番がつけられることになる。連番のフォーマットは「ビデオ圧縮」ボタンから変更することができる。今回は 3628 フレームなので,4桁で OK。デフォルトの「_」に続けて4桁の数字となる「_%04d」のままにする。

BMP ファイルの間引き

3628 個の BMP ファイルが出力されたが,これでもまだ多いので,さらに 1/10 に減らす。コマンドプロンプトで「clock」フォルダにある *0.bmp だけを「clock-work」フォルダにコピーする。

C:\> copy C:\clock\*0.bmp C:\clock-work\

BMP ファイルの連番化

ビットマップから AVI 作成にも AviUtl が使える。ただし,連番でなければならない。上のcopy コマンドで間引いてしまったので,10個おきの飛び飛びの番号になってしまっている。連番にするには,連番リネーム用のソフトでもいいが,ここでは画像ビューアの IrfanView を使うことにする。

IrfanView を起動して,「File」→「Batch Conversion/Rename...」を選択する。「Batch rename」にチェックし,「Name pattern」の桁数を4桁にする「image####」。その隣の「Options」で,コピーにするかリネームにするかが選択できる。BMP ファイルを「Add all」ボタンで全選択して,「Start Batch」ボタンで変換が始まる。

BMP → AVI

AviUtl を起動し,「ファイル」→「開く」で,上で作ったビットマップ形式のファイルの最初のファイル「image0001.bmp」を選択する。フレームレートには 30 fps を指定した。何も指定しなければ,29.970 fps となる。

「ファイル」→「AVI出力」で,AVI ファイルが出力される。

ブログで表示

AVI → FLV

AVI から Flash Video 形式 FLV への変換には,ffmpeg が使える (ffmpeg - Wikipedia)。

C:\> ffmpeg -i clock.avi -vcodec flv clock.flv

ブログでの表示

ブログで表示するには,JW FLV Media Player を使う (JW FLV Media Player)。

This text will be replaced

1/10 に間引いて,30 fps で表示しているので,もとの動画の 10*30=300 倍速になっている計算になる。もとの動画が約1時間なので,60*60=3600 秒だから,最終的には 3600/300=12 秒の動画となっている。

9:40-9:45 で時計の回転が遅くなるのだが,原因は不明。AVI ファイルの時点ですでに遅いのだ。

CamStudio に関して言えば,1時間分を録画している間に,CPU の使用率も,メモリの使用率もさほど変化はなかった。長時間の録画ができない理由は見つけられなかった。AVI ファイルの容量の 2 GB の壁だろうか。

Windows のデスクトップ動画キャプチャソフトとしては,CamStudio の他に TipCam というものがあるようだ (CamStudioを超えた!無料でズームもオートパンも可能なスクリーンキャプチャTipCamのご紹介 | tatamix.jp - ideoの日記)。

2009年5月13日追記:
BB FlashBack Express というのもあるそうです (無料のスクリーンキャスト録画ツール『BB FlashBack Express』が最強な件! - IDEA*IDEA 〜 百式管理人のライフハックブログ 〜)。

Posted by n at 2009-04-28 22:37 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?