Adicione 1 segundo de silêncio ao áudio através do FFmpeg

8

Eu tenho um arquivo de áudio AC3 5.1 para o qual eu gostaria de inserir x segundos de áudio silencioso no começo. Isso não tem nada a ver com o muxing de vídeo, portanto, seu deslocamento é inútil, já que parece funcionar apenas com um fluxo de áudio que acompanha um vídeo. Eu gostaria de conseguir isso com o ffmpeg. Alguma idéia?

    
por Makaveli84 06.04.2013 / 20:42

1 resposta

17

Você pode usar o filtro de fonte de áudio anullsrc em ffmpeg . Exemplo para fazer uma taxa de amostragem de 5.1 canais, 48.000 Hz, 1 segundo de áudio silencioso:

ffmpeg -f lavfi -i anullsrc=channel_layout=5.1:sample_rate=48000 -t 1 silence.ac3

Agora, você pode concatenar os arquivos usando o protocolo de concat :

ffmpeg -i concat:"silence.ac3|audio.ac3" -codec copy combined.ac3

Ou você pode fazer tudo em um único comando com o filtro de concatenar :

ffmpeg -f lavfi -i anullsrc=channel_layout=5.1:sample_rate=48000 -i audio.ac3 -filter_complex \
"[0:0] [1:0] concat=n=2:v=0:a=1" combined.ac3

Usar o filtro de concat. resultará na recodificação, enquanto o protocolo de concat não.

    
por 07.04.2013 / 03:13

Tags