JAVAで動画ファイルの以下の情報(表示サイズetc)を取得したい

 表示サイズ、ビットレート、フレームレート
これを取得可能なJAVAライブラリ 若しくは 上記情報取得可能なファイル構造の詳細を
教えて欲しい

 対象動画ファイル:WMV(バージョン7)、H.264/MPEG-4 AVC、AVI

何れか1つでも!

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/03/22 10:05:07
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Cherenkov No.1

回答回数1504ベストアンサー獲得回数493

ポイント500pt

ffmpegを使うとか。
ffmpegをインストールしてコマンドラインから使える状態にしておき、

ffmpeg -i "C:\01.wmv"

これを実行すると以下の情報が取れます。

Seems stream 0 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.92 (359/12)
Input #0, asf, from 'C:\01.wmv':
Duration: 00:04:57.31, start: 3.100000, bitrate: 8683 kb/s
Stream #0.0: Video: wmv2, yuv420p, 842x464, 29.92 tbr, 1k tbn, 1k tbc
Stream #0.1: Audio: wmav2, 44100 Hz, 2 channels, s16, 128 kb/s
At least one output file must be specified

要はこれをjavaから実行します。

javac FfmpegTest.java
java FfmpegTest

FfmpegTest.java

import java.io.InputStream;
import java.io.IOException;
 
public class FfmpegTest {
    public static void main(String[] args) {
        try {
            ProcessBuilder builder = new ProcessBuilder("ffmpeg", "-i", "C:\\01.wmv");
            Process process = builder.start();
 
            InputStream stream = process.getErrorStream();
            while (true) {
                int c = stream.read();
                if (c == -1) {
                    stream.close();
                    break;
                }
                System.out.print((char)c);
            }
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}


参考
id:gin106

確かに・・・手段を選ばなければコレもありっちゃ~あり
なるほど

2012/03/16 13:43:41

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません