使用FFProbe获取视频fps

时间:2015-01-06 06:00:46

标签: java ffmpeg ffprobe

我是ffprobe的新手我的目标是获取视频fps并存储到java程序中。我的代码存储xml文件,但我想直接存储像int fps = 30;

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

这是我的代码。

3 个答案:

答案 0 :(得分:11)

这将打印视频FPS:

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

答案 1 :(得分:1)

我发现另一种方法是计算fps ..

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();
    }
无论如何,感谢朋友们。

答案 2 :(得分:0)

您也可以简单地运行此程序以获得视频FPS,这将在Linux机器上运行。

ffprobe -v quiet -show_streams -select_streams v:0 INPUT |grep "r_frame_rate"
相关问题