Ste*_*hen 18 windows mp3 command-line ffmpeg lame
我正在尝试使用命令行创建(x)秒的静音/空mp3.我认为这是一项非常简单的任务!
看起来很蹩脚的是能够像这样做一些事情,但我无法找到任何导致实现这一目标的东西.
有没有人能够做到这样的事情?
nic*_*lab 35
您可以使用此命令.
ffmpeg -f lavfi -i anullsrc=r=44100:cl=mono -t <seconds> -q:a 9 -acodec libmp3lame out.mp3
Run Code Online (Sandbox Code Playgroud)
更改<seconds>为一个数字,表示您需要的静音秒数(例如,60将创建一分钟).
mik*_*iku 10
免责声明:这是一种面向unix的方法(虽然sox是跨平台的,但也应该只在windows上完成).
你需要sox - "[跨平台]瑞士军刀的声音处理程序".
这个包装器perl脚本可以帮助您产生任何沉默时间:http://www.boutell.com/scripts/silence.html
$ perl silence.pl 3 silence.wav
Run Code Online (Sandbox Code Playgroud)silence.pl 很短,所以我把它包括在这里,因为它是公共领域:
#!/usr/bin/perl
$seconds = $ARGV[0];
$file = $ARGV[1];
if ((!$seconds) || ($file eq "")) {
die "Usage: silence seconds newfilename.wav\n";
}
open(OUT, ">/tmp/$$.dat");
print OUT "; SampleRate 8000\n";
$samples = $seconds * 8000;
for ($i = 0; ($i < $samples); $i++) {
print OUT $i / 8000, "\t0\n";
}
close(OUT);
# Note: I threw away some arguments, which appear in the original
# script, and which did not worked (on OS X at least)
system("sox /tmp/$$.dat -c 2 -r 44100 -e signed-integer $file");
unlink("/tmp/$$.dat");
Run Code Online (Sandbox Code Playgroud)
然后就是lame这样:
$ lame silence.wav silence.mp3
Run Code Online (Sandbox Code Playgroud)
sox -n -r 44100 -c 2 silence.wav trim 0.0 3.0 - 这将创建一个 3 秒立体声静音文件。这里n代表空文件处理程序,r是采样率,c是通道数。
然后就蹩脚了:
$ lame silence.wav silence.mp3
| 归档时间: |
|
| 查看次数: |
11654 次 |
| 最近记录: |