FFMPEG читает несколько звуковых дорожек для громкости, тишины или статистики

438
DMtd

Мне нужно уметь анализировать видеофайл, содержащий несколько звуковых дорожек, и выводить результаты в текстовый файл. Я знаю, что есть несколько фильтров, которые могут дать мне результаты, которых я добиваюсь, но я почти не нахожу информации о синтаксисе. В конечном итоге, у меня есть видео с 3 звуковыми дорожками (2 канала на дорожку). Дорожка 1 (0: 1) содержит стереозвук, остальные (0: 2, 0: 3) молчат. Есть ли способ использовать фильтр Volumedetect, фильтр Silencedetect или фильтр Astats для чтения этих звуковых дорожек и предоставления мне этой информации?

Пока что я пробовал:

ffmpeg -i "mov" -af astats=metadata=1:reset=1,ametadata=print:key=lavfi.astats.Peak_level.Peak_count:file=log.txt -f null -y "log.txt"

Я получаю текстовый файл с этим заголовком и без метаданных:

;FFMETADATA1 major_brand=qt minor_version=512 compatible_brands=qt encoder=Lavf57.72.101 

Консольный вывод:

video:3867kB audio:56252kB subtitle:0kB other streams:0kB global headers:0kB mux ing overhead: unknown [Parsed_astats_0 @ 000000000206ec00] Channel: 1 [Parsed_astats_0 @ 000000000206ec00] DC offset: 0.002583 [Parsed_astats_0 @ 000000000206ec00] Min level: -188217600.000000 [Parsed_astats_0 @ 000000000206ec00] Max level: 159772160.000000 [Parsed_astats_0 @ 000000000206ec00] Min difference: 512.000000 [Parsed_astats_0 @ 000000000206ec00] Max difference: 7082496.000000 [Parsed_astats_0 @ 000000000206ec00] Mean difference: 1883352.211144 [Parsed_astats_0 @ 000000000206ec00] RMS difference: 2358521.937019 [Parsed_astats_0 @ 000000000206ec00] Peak level dB: -21.145393 [Parsed_astats_0 @ 000000000206ec00] RMS level dB: -28.110640 [Parsed_astats_0 @ 000000000206ec00] RMS peak dB: -28.110640 [Parsed_astats_0 @ 000000000206ec00] RMS trough dB: -28.110640 [Parsed_astats_0 @ 000000000206ec00] Crest factor: 2.229782 [Parsed_astats_0 @ 000000000206ec00] Flat factor: 0.000000 [Parsed_astats_0 @ 000000000206ec00] Peak count: 2 [Parsed_astats_0 @ 000000000206ec00] Bit depth: 24/24 [Parsed_astats_0 @ 000000000206ec00] Channel: 2 [Parsed_astats_0 @ 000000000206ec00] DC offset: 0.002886 [Parsed_astats_0 @ 000000000206ec00] Min level: -182797568.000000 [Parsed_astats_0 @ 000000000206ec00] Max level: 178699776.000000 [Parsed_astats_0 @ 000000000206ec00] Min difference: 3584.000000 [Parsed_astats_0 @ 000000000206ec00] Max difference: 7476224.000000 [Parsed_astats_0 @ 000000000206ec00] Mean difference: 1951990.490714 [Parsed_astats_0 @ 000000000206ec00] RMS difference: 2428434.732920 [Parsed_astats_0 @ 000000000206ec00] Peak level dB: -21.399189 [Parsed_astats_0 @ 000000000206ec00] RMS level dB: -28.031096 [Parsed_astats_0 @ 000000000206ec00] RMS peak dB: -28.031096 [Parsed_astats_0 @ 000000000206ec00] RMS trough dB: -28.031096 [Parsed_astats_0 @ 000000000206ec00] Crest factor: 2.145830 [Parsed_astats_0 @ 000000000206ec00] Flat factor: 0.000000 [Parsed_astats_0 @ 000000000206ec00] Peak count: 2 [Parsed_astats_0 @ 000000000206ec00] Bit depth: 24/24 [Parsed_astats_0 @ 000000000206ec00] Overall [Parsed_astats_0 @ 000000000206ec00] DC offset: 0.002886 [Parsed_astats_0 @ 000000000206ec00] Min level: -188217600.000000 [Parsed_astats_0 @ 000000000206ec00] Max level: 178699776.000000 [Parsed_astats_0 @ 000000000206ec00] Min difference: 512.000000 [Parsed_astats_0 @ 000000000206ec00] Max difference: 7476224.000000 [Parsed_astats_0 @ 000000000206ec00] Mean difference: 1917671.350929 [Parsed_astats_0 @ 000000000206ec00] RMS difference: 2393733.587876 [Parsed_astats_0 @ 000000000206ec00] Peak level dB: -21.145393 [Parsed_astats_0 @ 000000000206ec00] RMS level dB: -28.070686 [Parsed_astats_0 @ 000000000206ec00] RMS peak dB: -28.031096 [Parsed_astats_0 @ 000000000206ec00] RMS trough dB: -28.110640 [Parsed_astats_0 @ 000000000206ec00] Flat factor: 0.000000 [Parsed_astats_0 @ 000000000206ec00] Peak count: 2.000000 [Parsed_astats_0 @ 000000000206ec00] Bit depth: 24/24 [Parsed_astats_0 @ 000000000206ec00] Number of samples: 1024 

Проблема в том, что аудиодорожки 2 и 3 игнорируются.

Как мне прочитать несколько звуковых дорожек?

Благодарю.

1

0 ответов на вопрос