Следующий код предполагает, что ваши файлы .wav
имеют 4800 Hz
и stereo
.
Он строит сегменты тишины, основываясь на вышеуказанных значениях.
Он производит один. .wav
. который может быть смешан с видео.
nrChannels=2
sampleRate=48000
rawSilence() {
local nrSeconds=$1
local sampleRate=$2
local nrChannels=${3:-2}
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
Чтобы объединить видео и аудио вместе, этот или некоторый вариант кодирования должен сделать это:
ffmpeg -i "100sec.mpg" \
-i "100sec.wav" \
-vcodec copy \
-y "100sec.muxed.mpg"