首页 > 解决方案 > 在 ffmpeg 中获取 rms 级别的减少数据

问题描述

我正在使用 ffmpeg 使用以下命令获取音频的音频 RMS 级别

.\ffprobe -f lavfi -i amovie=testing.m4a,astats=metadata=0:reset=1 -show_entries frame=pkt_pts_time:frame_tags=lavfi.astats.1.RMS_level:stream_tags:format_tags -of csv=p=0 -show_format -count_frames -show_streams -show_data -print_format json > something.json

我能够收到json。但问题是仅 7 秒的音频就获得了大约 340 个数据,如何减少呢?我尝试将reset值更改为小于 1,但它显示 350000 个数据。请帮忙

标签: pythonffmpeg

解决方案


astats 将为每个音频帧生成输出,并且无法更改。但是,您可以更改音频帧大小,以便每秒显示 20 个帧。

.\ffprobe -f lavfi -i amovie=testing.m4a,aresample=50000,asetnsamples=2500,astats=metadata=0:reset=1 -show_entries frame=pkt_pts_time:frame_tags=lavfi.astats.1.RMS_level:stream_tags:format_tags -of csv=p=0 -show_format -count_frames -show_streams -show_data -print_format json > something.json


推荐阅读