...pudding - diary

この日記は https://yapud.hatenablog.com/ に引っ越し中


2016-01-10

_ [Software] Image::ExifTool では動画の中の音声部分だけのビットレート情報が取り出せない

先日の日記 「動画ファイルの情報をperlから読み出すには Image::ExifTool - pudding - diary(2016-01-08)」 で、動画ファイルの中から様々な情報が取り出せるぞ、ワーイやったー、と思っていた。

音声部分のビットレートを知りたいな。無駄に高ビットレートでエンコードしてるのをもうちっと低ビットレートでエンコードし直したいな。よしよし Image::ExifTool で情報を取りだそう。

と思ったら。動画の中の音声部分だけのビットレート情報が取り出せねえのな。

CPAN で似たような処理をするものを探して一通り試してみたけど、どれも同じ。

仕方ない、外部プログラムを呼ぶか。 ffmpeg に付いてくる ffprobe で情報取得ができる。ffprobeは情報を標準エラー出力に吐くので、標準エラー出力を標準出力に引っ張ってきて、そいつを取りだそう。

my @stdout = `ffprobe.exe $filename 2>&1`;
foreach (@stdout){
if(/Audio.+ ([0-9]+) kb\/s/){
print $1;
}
}

コレで動画ファイル内の音声部分だけのビットレートを取り出すことができた。


2016年
1月
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Twitter : @moriya_jp