How to create silent .ogg audio file

James Newton picture James Newton · Aug 14, 2015 · Viewed 9.1k times · Source

In answer to the question "How-to make a silent mp3 or wav-file" on ubuntuforums.org FakeOutdoorsman provided the following recipe:

Another method by using FFmpeg. 60 seconds of silent audio in WAV:

ffmpeg -ar 48000 -t 60 -f s16le -acodec pcm_s16le -ac 2 -i /dev/zero -acodec copy output.wav

60 seconds of silent audio in MP3:

ffmpeg -ar 48000 -t 60 -f s16le -acodec pcm_s16le -ac 2 -i /dev/zero -acodec libmp3lame -aq 4 output.mp3

How could I do something similar to create a silent .ogg audio file?

For a web app, I want to create a very short file for testing whether the browser will preload an audio file, or whether it will wait until the file is actually played before starting to stream it.

Answer

llogan picture llogan · Aug 15, 2015

Silent audio

That's an outdated method. You can now use the anullsrc filter instead, and it will work on any OS:

ffmpeg -f lavfi -i anullsrc -t 5 -c:a libvorbis output.ogg
  • Default sample rate is 44100, and default channel layout is stereo. If you want something different you can do something like: anullsrc=r=48000:cl=mono (or use cl=1 for mono).

  • For Vorbis in general, avoid the native encoder vorbis if possible; libvorbis will provide a better output (although it doesn't really matter with a silent output).


Other somewhat related examples

Test tone

An annoying tone or beeping tone can be made with sine filter. Generate a 220 Hz sine wave with a 880 Hz beep each second, for 5 seconds:

ffmpeg -f lavfi -i sine=f=220:b=4:d=5 -c:a libvorbis output.oga

Just black video

Using the color filter.

ffmpeg -f lavfi -i color=d=5 -c:v libtheora output.ogv
  • Default frame rate is 25 and default video size is 320x240. To change it: color=r=24:s=1280x720:d=5.

  • But who uses Theora anymore? A more modern alternative that likely fills its niche is VP8/VP9 + Vorbis in WebM: -c:v libvpx output.webm.

Test pattern + 440 Hz tone

Using testsrc and sine filters:

ffmpeg -f lavfi -i testsrc -f lavfi -i sine -t 10 -c:v libtheora -c:a libvorbis \
-q:v 5 -q:a 5 output.ogv

Also see