我是新来的,我的目标是获取视频fps并存储到java程序中。我的代码存储xml文件,但我想直接像int fps=30那样存储;
ffprobe -v quiet -print_format xml -show_format -show_streams "/video/small/small.avi" > "/video/small/test.xml"这是我的密码。
发布于 2016-02-15 08:50:01
这将打印视频FPS:
ffprobe -v error -select_streams v -of default=noprint_wrappers=1:nokey=1 -show_entries stream=r_frame_rate file.mp4发布于 2020-05-28 06:58:34
您也可以简单地运行它,为了获得视频FPS,这将在linux机器上工作。
ffprobe -v quiet -show_streams -select_streams v:0 INPUT |grep "r_frame_rate"发布于 2022-01-22 20:44:13
公认的答案建议使用stream=r_frame_rate。这是可以的,如果你只需要一个稍微圆润的结果。(30/1而不是29.7)
对于精确和未四舍五入的FPS,按持续时间除以总帧:
ffprobe -v error -select_streams v:0 -count_frames -show_entries stream=nb_read_frames -print_format csv="p=0" input.mp4 | read frames &&
ffprobe -i input.mp4 -show_entries format=duration -v quiet -of csv="p=0" | read duration &&
echo $(($frames/$duration))
>> 29.970094916135743文件持续时间:
ffprobe -i input.mp4 -show_entries format=duration -v quiet -of csv="p=0"
>> 15.367000文件的总帧计数:
ffprobe -v error -select_streams v:0 -count_frames -show_entries stream=nb_read_frames -print_format csv input.mp4
>> 461https://stackoverflow.com/questions/27792934
复制相似问题