ffprobe/ffmpg静音检测命令

ffprobe/ffmpg silence detection command

我正在研究流静默检测。 它正在 ffmpeg 中执行以下命令:

ffmpeg -i http://mystream.com/stream -af silencedetect=n=-50dB:d=0.5 -f null - 2> log.txt

我想获得日志文件的 json 输出。 'ffprobe' 中有一个 json 选项,但 silencedetect=n=-50dB:d=0.5 不起作用。

求助!

干杯!

ffprobe 用于探测容器级别或流级别的元数据。 silencedetect 是一个过滤器,用于分析解码音频流的内容;它的输出不受作者选择的控制。

由于 silencedetect 还将其结果记录到元数据标签,您可以做的是仅将该数据输出到文件。

ffmpeg -i http://mystream.com/stream -af silencedetect=n=-50dB:d=0.5,ametadata=print:file=log.txt -f null -

输出

frame:281  pts:323712  pts_time:6.744  
lavfi.silence_start=6.244
frame:285  pts:328320  pts_time:6.84   
lavfi.silence_end=6.84
lavfi.silence_duration=0.596
frame:413  pts:475776  pts_time:9.912  
lavfi.silence_start=9.412
frame:1224 pts:1410048 pts_time:29.376 
lavfi.silence_end=29.376
lavfi.silence_duration=19.964