将-show_entries用于音频MAX_level统计信息时,FFprobe更改FPS 我想每秒生成1帧以优化此过程,

问题描述

我正在使用 FFprobe 从音频中获取MAX_level统计信息。

问题

ffprobe 命令使用 my_audio_file.mp3 作为输入文件来为每个帧生成MAX_level。

ffprobe -f lavfi -i amovie=my_audio_file.mp3,astats=metadata=1:reset=1 -show_entries frame=pkt_pts_time:frame_tags=lavfi.astats.Overall.MAX_level -of csv=p=0 1> my_output_log.txt

当我执行它时,我生成了 my_output_log.txt 文件,其中包含帧时间和该帧的csv格式的MAX_level值。 ((1列-帧时间| 2列-该帧的MAX_level)

您会看到MAX_level(第二列)值每0,026122秒生成一次。因此,如果将所有帧计数为0秒,则得到 39 帧。输入文件持续时间= 3m 20s,那么我得到的输出文件具有+ -8000个MAX_level值,但是我只需要200个MAX_level值。

0.000000,0.000000
0.026122,0.000000
0.052245,0.000000
0.078367,0.000000
0.104490,0.000000
0.130612,0.000000
0.156735,0.000000
0.182857,0.000000
0.208980,0.000000
0.235102,1.000000
0.261224,5792.000000
0.287347,9111.000000
0.313469,9847.000000
0.339592,9208.000000
0.365714,8498.000000
0.391837,9649.000000
0.417959,12201.000000
0.444082,11763.000000
0.470204,9013.000000
0.496327,9048.000000
0.522449,8826.000000
0.548571,9932.000000
0.574694,9382.000000
0.600816,9013.000000
0.626939,8052.000000
0.653061,8317.000000
0.679184,5445.000000
0.705306,6925.000000
0.731429,7136.000000
0.757551,7029.000000
0.783673,7610.000000
0.809796,9199.000000
0.835918,8443.000000
0.862041,7847.000000
0.888163,6878.000000
0.914286,7385.000000
0.940408,9294.000000
0.966531,8105.000000
0.992653,8620.000000
1.018776,7286.000000
    <38 frames>
2.011429,4573.000000
2.037551,5155.000000
2.063673,4527.000000
       <etc>

我想每秒生成1帧以优化此过程,

因为我在生成该命令的android设备上执行了此命令,所以它会持续17秒。

输出应如下所示:

0.000000,0.000000
1.018776,7286.000000
2.011429,4573.000000
3.004082,9935.000000
4.022857,6132.000000
 <frame per second>
200.012457,1002.000000

问题

如何将FPS更改为1,以获得每秒的MAX_level值?

您可以修改或使用其他ffprobe命令以获得正确的结果。

提前谢谢

解决方法

使用asetnsamples将价值1秒的媒体合并为1帧。

function birthday(s,d,m) {
  let res = 0
  const sum = (arr) => arr.reduce((acc,el) => acc + el,0)

  for (let i = 0; i < s.length - m + 1; i++) {
    if (sum(s.slice(i,i + m)) === d) {
      res++
    }
  }
  
  return res
}

将setnsamples值设置为输入的采样率。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...