どうすれば。flacから.mpに変換できますか?
次のコマンドは、.mp3(320 kbps)で高品質を維持し、.flacファイルのメタデータはID3v2形式に変換されます。これは.mp3ファイルに含めることができます。
ffmpeg -i input.flac -ab 320k -map_metadata 0 -id3v2_version 3 output.mp3
上記の完璧な答え。このコマンドを使用して、サブツリー内のすべてのFLACファイルをiTunesに追加するために、findと一緒に使用します
find . -name "*.flac" -exec ffmpeg -i {} -ab 160k -map_metadata 0 -id3v2_version 3 {}.mp3 \;
結果のファイルをiTunesに自動的に追加するには、iTunesのインポートディレクトリを取得します。
find ~/Music/ -name "Automatically Add*"
結果.
/Users/sir/Music//iTunes/iTunes Media/Automatically Add to iTunes.localized
次に、実行します.
find . -name "*.mp3" -exec mv {} "/Users/sir/Music//iTunes/iTunes Media/Automatically Add to iTunes.localized/" \;
変換されたすべてのトラックをiTunesに自動的に追加します。
スペースを少し節約したい場合は、 hydrogenaud.io の推奨事項を試してください。
非常に高品質:HiFi、ホーム、または静かなリスニング、最適なファイルサイズ
-V0 (~245 kbps)
、-V1 (~225 kbps)
、-V2 (~190 kbps)
または-V3 (~175 kbps)
が推奨されます。通常、これらのVBR設定は透過的な結果を生成します。これらのプリセットには可聴な違いが存在する場合がありますが、まれです。
ソース: http://wiki.hydrogenaud.io/index.php?title=LAME
Ffmpegでこのオプションを使用する場合は、-q:a 0
エイリアスを使用する必要があります。
-qscale:a
(またはエイリアス-q:a
)で品質を制御します。値はエンコーダー固有であるため、libmp3lameの範囲は0〜9で、値が小さいほど品質が高くなります。通常、0〜3は透明な結果を生成し、4(デフォルト)は知覚的な透明度に近く、6は「許容できる」品質を生成します。オプション-qscale:a
は、スタンドアロンlameコマンドラインインターフェイスツールの-V
オプションにマップされます。
ソース: https://trac.ffmpeg.org/wiki/Encode/MP
ID3v1メタタグも必要な場合は、-write_id3v1 1
パラメーターを追加する必要があります。
私の最後のコマンドは次のとおりです。
ffmpeg.exe -y -i input.flac -codec:a libmp3lame -q:a 0 -map_metadata 0 -id3v2_version 3 -write_id3v1 1 output.mp3
infile.flac
ファイルをoutfile.mp3
に変換する次のコマンドをテストしていました。
ffmpeg -i infile.flac -q:a 0 outfile.mp3
Ubuntu 16.04の時点で、上記のコマンドはメタデータ(ほとんど?すべて?)をコピーしているようです。
-q:a 0
は、ffmpeg
に最高品質のVBRを使用するように指示します。
ただし、ffmpeg
は私のアルバムアートをjpeg
からpng
にトランスコードしていたため、カバーアートのサイズが大きくなりました。
Stream mapping:
Stream #0:1 -> #0:0 (mjpeg (native) -> png (native))
Stream #0:0 -> #0:1 (flac (native) -> mp3 (libmp3lame))
(上記の変換は、理にかなっていると思います ffmpeg
の仕組みを考えると 。)
掘り下げた後、-c:v copy
オプションが見つかりました。このオプションは、ビデオストリームをトランスコードするのではなくコピーすることを指定します。完全なコマンドは次のとおりです。
ffmpeg -i infile.flac -c:v copy -q:a 0 outfile.mp3
上記のコマンドの結果:
Stream mapping:
Stream #0:1 -> #0:0 (copy)
Stream #0:0 -> #0:1 (flac (native) -> mp3 (libmp3lame))
ネストされたフォルダー内のすべてのflacファイルをmp3で再帰的に変換するには、次のコマンドを使用しました。
find '~/Music/' -iname '*.flac' -exec bash -c 'D=$(dirname "{}"); B=$(basename "{}"); mkdir "$D/mp3/"; ffmpeg -i "{}" -ab 320k -map_metadata 0 -id3v2_version 3 -acodec libmp3lame "$D/mp3/${B%.*}.mp3"' \;
Flacファイルを含むフォルダー内に「mp3」という名前のフォルダーを作成し、mp3フォルダー内に、名前に古いファイル拡張子を保持せずに、320kbpsのビットレートで相対的なmp3ファイルを保存します。
私はこれが尋ねられなかったことを知っていますが、これが行われた理由の1つ(少なくともそれが私がやりたかったこと)を考えると、音楽をApple iTunesにインポートできるからですFLACをサポートします。そのような場合、FLACをApple独自のロスレス形式m4aに変換する方が理にかなっています。このコマンドを使用して、現在のフォルダー内のすべてのファイルを変換しながら、同様のファイルサイズを保持しました。
find . -name "*.flac" -exec ffmpeg -i {} -map_metadata 0 -acodec alac {}.m4a \;
この flac2mp3.sh スクリプトは、ffmpeg
を使用してFLACファイルのフォルダーツリーをMP3ファイルの別のフォルダーツリーに変換します。存在する場合、カバーアートが含まれています。 CORES
変数を設定して、一度に複数のファイルを変換するバックグラウンドジョブを作成できます。