How to create silent .ogg audio file

可紊 提交于 2019-12-08 17:32:02

问题


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.


回答1:


Specify -acodec to be vorbis (instead of libmp3lame) and put .ogg at the end of the output file (in place of .mp3).




回答2:


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
  • Change frame rate and video size the same way as shown above for the color filter.

  • See FFmpeg Filter Documentation: Video Sources for a list of many other video source filters such as smptehdbars.

Also see

  • FFmpeg Wiki: A Brief Theora and Vorbis Encoding Guide
  • FFmpeg Codecs Documentation: libtheora
  • FFmpeg Codecs Documentation: libvorbis
  • ​Hydrogen Audio: Recommended Vorbis Encoder Settings
  • FFmpeg Wiki: VP8 Video in WebM Encoding Guide


来源:https://stackoverflow.com/questions/32017827/how-to-create-silent-ogg-audio-file

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!