GNU/Linux >> Linux の 問題 >  >> Linux

複数の MP3 ファイルを結合する (ロスレス)

これは、ffmpeg の concat demuxer を使用してプログラムで実行できます。

最初に、inputs.txt という名前のファイルを作成し、

のような行を記述します。
file '/path/to/input1.mp3'
file '/path/to/input2.mp3'
file '/path/to/input3.mp3'

...等。次に、次の ffmpeg コマンドを実行します:

ffmpeg -f concat -i inputs.txt -c copy output.mp3

for 用の bash を使用して、inputs.txt を簡単に生成できます。 ループ (これはおそらく Windows のバッチ for ループでも実行できます)、ファイルをアルファベット順にマージする場合を想定しています。これはすべてに一致します *.mp3 は作業ディレクトリにありますが、簡単に変更できます:

for f in ./*.mp3; do echo "file '$f'" >> inputs.txt; done
##  Alternatively
printf "file '%s'\n" ./*.mp3 >> inputs.txt

プロセス置換による中間リスト ファイルの作成を回避して、すべてを 1 行で実行することもできます。

ffmpeg -f concat -i <(printf "file '%s'\n" ./*.mp3) -c copy output.mp3

ffmpeg または同様のツールを使用して、すべての MP3 を一貫した形式に変換します。たとえば、

ffmpeg -i originalA.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateA.mp3 ffmpeg -i originalB.mp3 -f mp3 -ab 128kb -ar 44100 -ac 2 intermediateB.mp3

次に、実行時にファイルを連結します:

cat intermediateA.mp3 intermediateB.mp3 > output.mp3

最後に、MP3Val ツールを使用してそれらを実行し、完全な再エンコードを強制せずにストリーム エラーを修正します。

mp3val output.mp3 -f -nb
(ソース)


Linux
  1. Linuxでmvなしでファイルを移動する

  2. 行に基づいて単一のファイルを複数のファイルに分割する方法

  3. 複数のファイルのダウンロードが完了するのを待ちますか?

  1. Unix でテキスト ファイル内の複数のフィールドを結合する

  2. 1 つのテキスト ファイルを複数の *.txt ファイルに分割する方法は?

  3. 多くの mp3 ファイルを結合/マージする方法は?

  1. Linuxで複数のファイルを圧縮する方法

  2. Dd:複数の入力ファイル?

  3. 複数のリモート ファイルを追跡する