Eu encontrei a resposta para o meu post.
volume
deve ser escrito antes de aformat
, assim
-filter_complex "[1] volume=0.1dB,aformat=sample_fmts=s16p:sample_rates=44100:channel_layouts=stereo [a1];
Eu quero editar o áudio e alterar seu volume usando o FFmpeg.
Aqui está o meu comando:
-af adelay=1000|1000
atrasar áudio em um segundo
-af volume=2dB
alterar seu volume
Ambos funcionam bem, mas só posso escolher um deles para aplicar no comando, posso fazer os dois?
update:
Aqui está o comando completo que estou usando. Ele mistura e corta dois áudios no vídeo.
C:\Users\ffmpeg.exe -y -framerate 30 -start_number 0 -i C:\Users\Scene1_%03d.png -ss 0.0 -t 5.2 -i C:\Users\sound01.wav -ss 3.466666666666667 -t 5.2 -i C:\Users\sound02.wav -filter_complex "[1] aformat=sample_fmts=s16p:sample_rates=44100:channel_layouts=stereo [a1]; [a1]adelay=1700.0|1700.0,apad,volume=0.1dB[b1]; [2] aformat=sample_fmts=s16p:sample_rates=44100:channel_layouts=stereo [a2]; [a2]adelay=5000.0|5000.0,volume=0.1dB[b2]; [b1][b2]amerge=2[a]" -map 0:v -map [a] -b:v 2800k -c:v libopenh264 -c:a mp3 -ac 2 C:\Users\test.mp4
Gostaria de adicionar volume=0.1dB
em filter_complex, mas estou recebendo este erro:
[Parsed_amerge_7 @ 0000025f0dc1d3c0] No channel layout for input 1 Last message repeated 1 times [AVFilterGraph @ 0000025f0db2ef00] The following filters could not choose their formats: Parsed_amerge_7 Consider inserting the (a)format filter near their input or output. Error reinitializing filters! Failed to inject frame into filter network: I/O error Error while processing the decoded data for stream #2:0 Conversion failed! :0
Claro que você pode fazer as duas coisas ... separá-las por vírgula:
-af "adelay=1000|1000,volume=2dB"
Consulte o guia de filtragem para obter mais informações.