get video fps using FFProbe

2019-05-11 11:40发布

问题:

I am new in ffprobe my aim is get video fps and store into java program. my code store xml files but i want store directly like int fps=30;

ffprobe -v quiet -print_format xml -show_format -show_streams "/video/small/small.avi" > "/video/small/test.xml"

this is my code.

回答1:

This will print the video FPS:

ffprobe -v error -select_streams v -of default=noprint_wrappers=1:nokey=1 -show_entries stream=r_frame_rate file.mp4


回答2:

I found calculate fps in another method that is..

String query = "ffmpeg -i foo.avi 2>&1 | sed -n 's/.*, \\(.*\\) fp.*/\\1/p' > fps.txt";
    String[] command = {"gnome-terminal", "-x", "/bin/sh", "-c", query};
    Process process = Runtime.getRuntime().exec(command);
    process.waitFor();
    Thread.sleep(2000);
    try {
        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("fps.txt")));
        output = br.readLine();
    } catch (IOException ioe) {
        ioe.printStackTrace();
    }

Anyway thanks friends.