動画ファイルの情報をperlから読み出すには Image::ExifTool

こどものイベントのたびにムービーを撮っている。撮りためたテープを見やすいように小さいサイズにエンコードしてたのだけど、最近のPCは性能が良いので大きいサイズでエンコードし直そうとして。

ちょっと待て、どの動画ファイルがどのサイズか分からねえ。一つずつファイルのプロパティで確認するのはツライ。

きっと PerlCPAN なんかにそういう便利な物を置いてる人がいるに違いないと検索したらすぐ出てきた。

Phil Harvey / Image-ExifTool - search.cpan.org

コレは便利。簡単なコードで、例えば以下のようにすればファイル内動画の縦サイズ横サイズが取得できる。

 

use Image::ExifTool;
my $exifinfo = Image::ExifTool->new->ImageInfo('filename.mp4');
print $$exifinfo{'ImageHeight'};
print $$exifinfo{'ImageWidth'};

 

もっといろんな値が取れるのでサイズ別やその他属性別にアレコレ自動で処理できそう。