回答:
これにより2つのmp3ファイルが連結され、結果のメタデータは最初のファイルのメタデータになります。
ffmpeg -i "concat:file1.mp3|file2.mp3" -acodec copy output.mp3
これは、ffmpegの場合、「concat:」部分全体が単一の「入力ファイル」であり、そのメタデータが最初に連結されたファイルのものになるためです。代わりに2番目のファイルのメタデータを使用する場合は、ダミーの入力ファイルとして追加し、そのメタデータを出力のメタデータにマップする必要があります。
ffmpeg -i "concat:file1.mp3|file2.mp3" -i file2.mp3 -acodec copy test.mp3 -map_metadata 0:1
2つのメタデータからメタデータを構築する場合は、手動で行う必要があります。次のコマンドでファイルのメタデータをダンプできます
ffmpeg -i file1.mp3 -f ffmetadata file1.metadata
両方のメタデータをダンプし、新しいメタデータを作成したら、で出力ファイルに追加-metadata
でき-map_metadata
ます。また、負の入力ファイル番号からマッピングを設定することにより、メタデータのコピーを無効にできます。これにより、名前の値が設定され、他のメタデータは設定されません。
ffmpeg -i "concat:file1.mp3|file2.mp3" -acodec copy -metadata "title=Some Song" test.mp3 -map_metadata 0:-1
-acodec
オーディオコーデックが使用され、copy
Mp3Wrap-ファイル名やID3情報を失わず、再エンコードせずに、複数のMP3ファイルを単一の再生可能なMP3にラップするコマンドラインユーティリティ。また、MP3内のプレイリスト、情報ファイル、カバー画像などの非オーディオデータのアーカイブもサポートしています。これらのファイルは、後でアンパックできます(mp3spltなどを使用)。通常のMP3デコーダーは、オーディオストリーム全体を1つの長いトラックとして再生できます。
mp3val
-同期エラーを報告します。これは、Chrome 64以降の最初のチャンクの後に再生されないことを意味します(bugs.chromium.org/p/chromium/issues/detail?id=794782およびbugs.chromium.org/p/chromium/issues/detail?idを参照してください)= 806601#c10)
これにより、MP3でいっぱいのフォルダーが単一のMP3ファイルに連結されます。
1)連結するMP3ファイルのリストを保存します。たとえば、
$ cat mylist.txt
file '/tmp/01.mp3'
file '/tmp/02.mp3'
file '/tmp/03.mp3'
file '/tmp/04.mp3'
file '/tmp/05.mp3'
file '/tmp/06.mp3'
file '/tmp/07.mp3'
2)(以下のコマンドを実行し-safe 0
ているmylist.txt代わりに相対パスを使用する場合は不要)。
$ ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp3
スクリプトが必要な場合は、おそらくffmpegソリューションを使用することをお勧めします。ただし、そのようなことを行うためのアプリケーションが必要な場合は、Audacityを試してみてください。オープンソースでクロスプラットフォームです。mp3の結合には使用していませんが、mp3からセクションを切り取り、最後にフェードアウトするために使用しました。mp3に参加し、それを使用して相互にクロスフェードすることもできます。