Im folgenden Code wird davon ausgegangen, dass Ihre .wav
Dateien 4800 Hz
und sind stereo
.
Es baut Segmente der Stille auf, basierend auf den obigen Werten.
Es produziert eine Single .wav
. das kann mit dem Video gemuxt werden.
nrChannels=2 sampleRate=48000 rawSilence() { local nrSeconds=$1 local sampleRate=$2 local nrChannels=$ ffmpeg -acodec pcm_s16le \ -ar $sampleRate \ -ac $nrChannels \ -f s16le \ -i <(dd if=/dev/zero bs=$((sampleRate*2*nrChannels)) count=$nrSeconds) \ -f s16le - } { rawSilence 10 $sampleRate $nrChannels cat "10.wav" |ffmpeg -f wav -i - -f s16le - rawSilence 10 $sampleRate $nrChannels cat "30.wav" |ffmpeg -f wav -i - -f s16le - rawSilence 10 $sampleRate $nrChannels cat "45.wav" |ffmpeg -f wav -i - -f s16le - rawSilence 47 $sampleRate $nrChannels } | ffmpeg -acodec pcm_s16le \ -ar $sampleRate \ -ac $nrChannels \ -f s16le \ -i - \ -f wav -y 100sec.wav
Um Video und Audio zusammen zu muxen, sollte diese oder eine Kodierungsvariante dies tun:
ffmpeg -i "100sec.mpg" \ -i "100sec.wav" \ -vcodec copy \ -y "100sec.muxed.mpg"