1

Мне нужно уметь анализировать видеофайл, содержащий несколько звуковых дорожек, и выводить результаты в текстовый файл. Я знаю, что есть несколько фильтров, которые могут дать мне результаты, которых я добиваюсь, но я почти не нахожу информации о синтаксисе. В конечном итоге, у меня есть видео с 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 игнорируются.

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

Благодарю.

0