仕事では、FLVファイルをサイトに掲載してください、という類の要求がしばしばある。
大抵の場合、FLVファイルだけポンと渡されるので、実際にFLVを掲載するために必要な「幅」「高」さといった情報はもらえないことが多い。そのくらいメールに付記して欲しいと思う反面、渡す側の人間にすればそんな細かい情報が要るとは見当がつかないだろうから、この現象は仕方がないということで自ら調べることになる。
Perlを利用する場合は、「FLV::Info」というモジュールで簡単に調べられる。なお、インストールはCPANシェルから特に問題なく行うことができた(CentOS5.3での話)。
メタ情報出力プログラム例
#!/usr/bin/perl
# flvinfo.pl
# 引数で指定されたFLVファイルのメタデータを出力する
# 前提:FLV::Infoがインストールしてあること(CPANにある)
use FLV::Info;
my $reader = FLV::Info->new();
$reader->parse($ARGV[0]);
my %info = $reader->get_info();
print "$info{video_count} video frames\n";
print $reader->report();
実行例
$ perl ./flvinfo.pl foo.flv 748 video frames File name foo.flv File size 1082585 bytes Duration about 24.925 seconds Video 748 frames codec Sorenson H.263 height 240 type interframe/keyframe width 320 Audio 954 packets format MP3 rate 44100 Hz size 16 bit type stereo Meta 1 event audiocodecid 2 audiosamplerate 44100 audiosamplesize 16 duration 24.958 filesize 1082585 framerate 29.97002997003 height 240 stereo 1 videocodecid 2 width 320
0 件のコメント:
コメントを投稿