Eu preciso analisar um arquivo de vídeo contendo várias faixas de áudio e enviar os resultados para um arquivo de texto. Eu sei que existem vários filtros que poderiam me dar os resultados que eu estou procurando, mas eu não estou encontrando quase nenhuma informação sobre a sintaxe. Por fim, tenho um vídeo com 3 faixas de áudio (2 canais por faixa). A faixa 1 (0: 1) contém áudio estéreo, os outros (0: 2, 0: 3) são silenciosos. Existe uma maneira de usar o filtro volumedetect, o filtro silencedetect ou o filtro astats para ler essas faixas de áudio e me fornecer essas informações?
Até agora eu tentei:
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"
O que eu recebo é um arquivo txt com este cabeçalho e nenhum metadado:
;FFMETADATA1 major_brand=qt minor_version=512 compatible_brands=qt encoder=Lavf57.72.101
A saída do console é:
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
problema é que as faixas de áudio 2 e 3 estão sendo ignoradas.
Como leio várias faixas de áudio?
Obrigado.