получение данных с пониженным уровнем rms в ffmpeg

#python #ffmpeg

#python #ffmpeg

Вопрос:

Я использую ffmpeg для получения среднеквадратичного уровня звука для аудио, используя следующую команду

 .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. но проблема в том, что я получаю примерно 340 данных всего за 7-секундный звук, как это уменьшить? Я пытался изменить reset значение на меньшее, чем 1, но оно показывает 350000 данных. пожалуйста, помогите

Комментарии:

1. Как часто вам нужен звук?

2. @Gyan: Мне нужно 20 данных на секунду, теперь получается 48 данных в секунду

Ответ №1:

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

Комментарии:

1. Это должен быть проверенный ответ