web-dev-qa-db-ja.com

`ffmpeg`を使用してMP3ファイルをトリミングするにはどうすればよいですか?

これは、しばらくの間私を悩ませてきたLinuxオーディオMP3パズルです。

MP3オーディオファイルの最初の数秒をトリミングする方法は? (ffmpeg -ssが00:01または1.000のどちらの形式でも機能しません)

これまでのところ、私がやりたいことを実行するために、GUIを使用して実行しています。これは、単一のファイルの場合はおそらく遅くなり、ファイルのバッチの場合は明らかに遅くなります。

10
Mark Hudson

Linuxでmp3を編集するには、 sox をお勧めします。シンプルなtrimエフェクトがあり、あなたが求めることを実行します(man sox for datails-search(press/)(「トリムスタート」)。例:

sox input.mp3 output.mp3 trim 1 5

あなたはそれについて言及しませんでしたが、あなたの目的がファイルの先頭にあるsilenceを削除することだけである場合は、silenceが見つかりますはるかに便利な効果(man sox、「上期」を検索)

5
rozcietrzewiacz

mp3splt を使用してみると、MP3ファイルとOggファイルを分割でき、ファイルを再エンコードしないため、品質の低下を防ぐことができます。

4
user8909

時間指定が時間で始まることを確認してください。

ffmpeg man page を引用するには:

位置は秒単位または「hh:mm:ss [.xxx]」形式のいずれかです。

つまり、2番目の構文を選択すると、.xxx部分のみがオプションになります。それ以外の場合、ffmpegは秒として誤って解析する可能性があります。

同じことが期間についても言えます:

期間は秒数、または "hh:mm:ss [.xxx]"

もう1つの落とし穴は、ffmpeg引数の順序です(たとえば、入力ファイルの-ss/-tオプションは、-iオプションの前に置く必要があります)。

$ wget http://traffic.libsyn.com/twiv/TWiV179.mp3
$ ffmpeg -ss 1:05:59.3 -t 00:02:03.9 -i TWiV179.mp3 -acodec copy \
     what_is_a_hmm_twiv179.mp3

仕様-ss 1:05:59.3 -t 2:03.9を使用すると、異なる結果が得られます(つまり、2秒の長いピース)。

(ffmpegバージョン0.10.7を使用してFedora 17でテストされています。)

1
maxschlepzig