我在视频文件上运行tcprobe -i时返回以下信息:
[tcprobe] RIFF data, AVI video
[avilib] V: 30.000 fps, codec=MJPG, frames=1599, width=640, height=480
[avilib] A: 8000 Hz, format=0x01, bits=8, channels=1, bitrate=64 kbps,
[avilib] 54 chunks, 427248 bytes, CBR
[tcprobe] summary for PICT1120.AVI, (*) = not default, 0 = not detected
import frame size: -g 640x480 [720x576] (*)
frame rate: -f 30.000 [25.000] frc=0 (*)
audio track: -a 0 [0] -e 8000,8,1 [48000,16,2] -n 0x1 [0x2000] (*)
bitrate=64 kbps
length: 1599 frames, frame_time=33 msec, duration=0:00:53.299
我想使用正则表达式来提取帧率(第2行)请任何人都可以告诉我如何做到这一点(只是帧数,而不是任何周围文本)。
PS。请记住fps会有所不同,因为我将在各种不同的视频文件上使用此脚本。
由于
答案 0 :(得分:2)
您可以使用如下表达式:
([\d.]+) fps
FPS位于第一个捕获组中。
Perl示例:
perl -nE '/([\d.]+) fps/ && say $1'
答案 1 :(得分:0)
对于您可以使用的帧:
frames=(\d+)
如果你想要fps,这将有效:
(\d+.\d+)\sfps