ffmpeg能否定期报告实时音频流(而不是文件)的统计信息?

ffmpeg能否定期报告实时音频流(而不是文件)的统计信息?,ffmpeg,Ffmpeg,我目前使用ffmpeg来捕获电脑扬声器正在播放的桌面屏幕和音频,类似于屏幕广播。ffmpeg是由一个捕获其控制台输出的应用程序启动的,因此我可以让该应用程序读取输出并查找信息 我想知道是否有一组开关我可以提供给ffmpeg,它将定期输出一些音频统计数据,这些数据将直接报告,或允许我推断音频流已静音 我看到一些音频统计开关/过滤器,但这些的帮助文档似乎暗示他们将在整个流的处理过程中收集统计数据,然后在最后报告。。我更喜欢每5秒报告一次“过去5秒的平均音频音量”。我甚至可以从编码器的音频比特率推断出

我目前使用ffmpeg来捕获电脑扬声器正在播放的桌面屏幕和音频,类似于屏幕广播。ffmpeg是由一个捕获其控制台输出的应用程序启动的,因此我可以让该应用程序读取输出并查找信息

我想知道是否有一组开关我可以提供给ffmpeg,它将定期输出一些音频统计数据,这些数据将直接报告,或允许我推断音频流已静音


我看到一些音频统计开关/过滤器,但这些的帮助文档似乎暗示他们将在整个流的处理过程中收集统计数据,然后在最后报告。。我更喜欢每5秒报告一次“过去5秒的平均音频音量”。我甚至可以从编码器的音频比特率推断出,如果它是VBR,并且速率持续下降,因为它不编码任何内容

结果是有一个静音检测音频过滤器:

它在流媒体音频上工作正常,使用方式如下:

//some switches have been removed for clarity
ffmpeg -i audio="Line 1 (Virtual Audio Cable)" -af silencedetect=n=-50dB:d=5
d=5与回顾的秒数有关。静默5秒后,标准输出/err中有如下内容:

[silencedetect@000000000 2FFE5A0]静音启动:12.345

在噪波返回后,控制台中会出现如下内容

[silencedetect@000000000 2FFE5A0]静默结束:23.456静默持续时间:11.111


这是应用程序读取输出的工作来解析它并对其进行处理。在我的情况下,由于录音无人参与,我将发出一个警报,提示屏幕广播已丢失音频

Windows Server 2012 R2