【问题标题】:How to create silent .ogg audio file如何创建静音 .ogg 音频文件
【发布时间】:2015-11-08 04:02:06
【问题描述】:

在回答问题"How-to make a silent mp3 or wav-file" on ubuntuforums.orgFakeOutdoorsman 时提供了以下配方:

另一种使用 FFmpeg 的方法。 WAV 中 60 秒的无声音频:

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

MP3 中 60 秒的无声音频:

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

我该如何做类似的事情来创建无声 .ogg 音频文件?

对于一个网络应用程序,我想创建一个非常短的文件来测试浏览器是否会预加载音频文件,或者它是否会等到文件实际播放后再开始流式传输。

【问题讨论】:

    标签: audio ffmpeg ogg


    【解决方案1】:

    -acodec 指定为vorbis(而不是libmp3lame)并将.ogg 放在输出文件的末尾(代替.mp3)。

    【讨论】:

    • 谢谢!我需要使用libvorbis 而不是vorbis。 30ms 的输出为 3,694 字节。我可以获得一个 333 字节的 30 毫秒 MP3 文件。在wittnl's page on GitHub,我找到了一个小于 300 字节的静默 ogg 的 dataURL,包括 base64 编码...
    • 不错。我很高兴你知道如何填空。关于您观察到的大小差异,我打赌 FFmpeg 可能会将元数据块写入文件,而您发现的较小文件可能会忽略它。
    【解决方案2】:

    静音音频

    这是一种过时的方法。您现在可以改用anullsrc filter,它适用于任何操作系统:

    ffmpeg -f lavfi -i anullsrc -t 5 -c:a libvorbis output.ogg
    
    • 默认采样率为 44100,默认通道布局为立体声。如果您想要不同的东西,您可以执行以下操作:anullsrc=r=48000:cl=mono(或使用 cl=1 表示单声道)。

    • 对于一般的 Vorbis,尽可能避免使用原生编码器 vorbislibvorbis 将提供更好的输出(尽管它与静默输出无关)。


    其他有些相关的例子

    测试音

    sine filter 可以发出恼人的声音或哔哔声。生成 220 Hz 正弦波,每秒发出 880 Hz 蜂鸣声,持续 5 秒:

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

    纯黑视频

    使用color filter

    ffmpeg -f lavfi -i color=d=5 -c:v libtheora output.ogv
    
    • 默认帧速率为 25,默认视频大小为 320x240。要更改它:color=r=24:s=1280x720:d=5

    • 但是谁再使用 Theora 呢?一个更现代的替代方案可能填补其利基市场是 WebM 中的 VP8/VP9 + Vorbis:-c:v libvpx output.webm

    测试模式 + 440 Hz 音调

    使用testsrcsine 过滤器:

    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
    
    • 更改帧速率和视频大小的方式与上面为color 过滤器显示的方式相同。

    • 请参阅 FFmpeg Filter Documentation: Video Sources 以获取许多其他视频源过滤器的列表,例如 smptehdbars

    另见

    【讨论】:

    • 谢谢!您的命令给出以下输出:size= 4kB time=00:00:04.98 bitrate=7.3kbits/s video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:4kB muxing overhead: 2004.608276% 是否可以创建没有任何全局标头的 .ogg 文件,以获得最小可行输出文件?
    猜你喜欢
    • 2017-06-09
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 2020-06-19
    • 1970-01-01
    相关资源
    最近更新 更多