提取文本之间
Extract text between
你能帮帮我吗?
frame=48612 fps= 50 q=28.0 size= 113664kB time=00:33:45.42 bitrate= 459.7kbits/s speed=2.09x
frame=48612 fps= 50 q=28.0 size= 113664kB time=00:33:45.45 bitrate= 459.7kbits/s speed=2.09x
frame=48613 fps= 51 q=28.0 size= 113664kB time=00:33:45.45 bitrate= 459.7kbits/s speed=2.09x
frame=48613 fps= 50 q=28.0 size= 113664kB time=00:33:45.47 bitrate= 459.7kbits/s speed=2.09x
frame=48613 fps= 49 q=28.0 size= 113664kB time=00:33:45.49 bitrate= 459.7kbits/s speed=2.09x
frame=48614 fps= 50 q=28.0 size= 113664kB time=00:33:45.49 bitrate= 459.7kbits/s speed=2.09x
frame=48614 fps= 50 q=28.0 size= 113664kB time=00:33:45.51 bitrate= 459.7kbits/s speed=2.09x
frame=48614 fps= 51 q=28.0 size= 113664kB time=00:33:45.53 bitrate= 459.7kbits/s speed=2.09x
frame=48615 fps= 50 q=28.0 size= 113664kB time=00:33:45.53 bitrate= 459.7kbits/s speed=2.09x
frame=48615 fps= 50 q=28.0 size= 113664kB time=00:33:45.55 bitrate= 459.7kbits/s speed=2.09x
frame=48615 fps= 50 q=28.0 size= 113664kB time=00:33:45.57 bitrate= 459.7kbits/s speed=2.09x
frame=48616 fps= 52 q=25.0 size= 113664kB time=00:33:45.57 bitrate= 459.7kbits/s speed=2.09x
您知道是否可以删除除 FPS={num} 以外的所有内容吗?我想输出这样的东西:
50
50
51
50
49
50
...
我尝试过的:
ffmpeg -i in.mp4 -stats_period 0.0001 out.mp4 | grep -o -P '(?<=fps= ).*(?= q=)'
ffmpeg -i in.mp4 -stats_period 0.0001 out.mp4 | grep fps | awk '{print }' | tr -d ,
两者都不行!
uname -svr => Linux 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021
此外,ffmpeg return 每秒每帧,不是静态 .txt 文件。
谢谢。
尝试以下操作:
ffmpeg -i in.mp4 -stats_period 0.0001 out.mp4 | awk -v OFS=" " '{print }'
使用进度选项将统计信息通过管道传输到标准输出并对其进行 grep。
ffmpeg -i in.mp4 -stats_period 0.0001 -progress pipe:1 out.mp4 | grep -oP "(?<=fps=)\d+\.\d+"
你能帮帮我吗?
frame=48612 fps= 50 q=28.0 size= 113664kB time=00:33:45.42 bitrate= 459.7kbits/s speed=2.09x
frame=48612 fps= 50 q=28.0 size= 113664kB time=00:33:45.45 bitrate= 459.7kbits/s speed=2.09x
frame=48613 fps= 51 q=28.0 size= 113664kB time=00:33:45.45 bitrate= 459.7kbits/s speed=2.09x
frame=48613 fps= 50 q=28.0 size= 113664kB time=00:33:45.47 bitrate= 459.7kbits/s speed=2.09x
frame=48613 fps= 49 q=28.0 size= 113664kB time=00:33:45.49 bitrate= 459.7kbits/s speed=2.09x
frame=48614 fps= 50 q=28.0 size= 113664kB time=00:33:45.49 bitrate= 459.7kbits/s speed=2.09x
frame=48614 fps= 50 q=28.0 size= 113664kB time=00:33:45.51 bitrate= 459.7kbits/s speed=2.09x
frame=48614 fps= 51 q=28.0 size= 113664kB time=00:33:45.53 bitrate= 459.7kbits/s speed=2.09x
frame=48615 fps= 50 q=28.0 size= 113664kB time=00:33:45.53 bitrate= 459.7kbits/s speed=2.09x
frame=48615 fps= 50 q=28.0 size= 113664kB time=00:33:45.55 bitrate= 459.7kbits/s speed=2.09x
frame=48615 fps= 50 q=28.0 size= 113664kB time=00:33:45.57 bitrate= 459.7kbits/s speed=2.09x
frame=48616 fps= 52 q=25.0 size= 113664kB time=00:33:45.57 bitrate= 459.7kbits/s speed=2.09x
您知道是否可以删除除 FPS={num} 以外的所有内容吗?我想输出这样的东西:
50
50
51
50
49
50
...
我尝试过的:
ffmpeg -i in.mp4 -stats_period 0.0001 out.mp4 | grep -o -P '(?<=fps= ).*(?= q=)'
ffmpeg -i in.mp4 -stats_period 0.0001 out.mp4 | grep fps | awk '{print }' | tr -d ,
两者都不行!
uname -svr => Linux 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021
此外,ffmpeg return 每秒每帧,不是静态 .txt 文件。
谢谢。
尝试以下操作:
ffmpeg -i in.mp4 -stats_period 0.0001 out.mp4 | awk -v OFS=" " '{print }'
使用进度选项将统计信息通过管道传输到标准输出并对其进行 grep。
ffmpeg -i in.mp4 -stats_period 0.0001 -progress pipe:1 out.mp4 | grep -oP "(?<=fps=)\d+\.\d+"