linux - 提取之间的文本

标签 linux ffmpeg grep

你能帮我一下吗?

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 $2}' | tr -d , 

两者都不起作用!

uname -svr => Linux 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021

此外,ffmpeg 每秒返回每一帧,不是静态 .txt 文件。

谢谢。

最佳答案

使用进度选项将统计信息通过管道传输到 stdout 并 grep 。

ffmpeg -i in.mp4 -stats_period 0.0001 -progress pipe:1 out.mp4 | grep -oP "(?<=fps=)\d+\.\d+"

关于linux - 提取之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69292259/

相关文章:

linux - 是否可以在 linux 中重用 TCP 端口号

linux - 是否有一个命令可以将二进制文件从 HTTP 服务器下载到 linux/solaris 并随后安装二进制文件?

flash - 如何使用 FFMPEG 最好地转换 Flash 兼容的 mp4 文件?

ffmpeg - 使用 ffmpeg 从 gstreamer 读取流

linux - 使用 grep 和 ls -a 命令

command-line - grep 从文件的底部到顶部

linux - Gstreamer 自定义插件从文件中读取数据(YUV)?

c++ - 在 Linux 上计时共享库加载时间

c++ - 在 vs2019 中构建 ffmpeg 失败但不知道为什么

regex - 任何年份的简单 grep