回答:
mp3があるフォルダーに移動します。
cd mp3folder
1つの例は、単純な「for」ループを使用することです。
for file in *.mp3
do ffmpeg -i "${file}" "${file/%mp3/ogg}"
done
二重引用符は、ファイル名のスペースが「改行」として扱われるのを防ぎます。
ffmpegには、コーデック、ビットレート、サンプルサイズ、ステレオ/モノなどの変換に含めるいくつかのオプションがあります。上記は、デフォルト設定での最も一般的な変換です。
ffmpeg -i sound.mp3 -c:a libvorbis -q:a 10 sound.ogg
最高品質の設定、元よりも明らかに著しく悪い。デフォルト設定は私にはまったく機能しませんでした(Cygwinでは、私を訴えます))が、この質問には良い情報がありました:superuser.com/questions/273797/convert-mp3-to-ogg-vorbis
警告:MP3とOGGは、WAVやFLACなどとは異なり、損失の多い形式です。これは、人間の耳には知覚できないオーディオ情報の一部を捨てることにより、大部分が圧縮を達成することを意味します(心理音響学 [wikipedia]と呼ばれます)
ある損失の多い形式から別の形式にエンコード(トランスコード)すると、それらの心理音響的に冗長なビットのほとんどはすでになくなっているため、トランスコードの品質が低下し、結果が「聞こえる」場合もあります。したがって、どうしても必要な場合を除き、このような変換を行うことはお勧めしません。
あなたは、このMP3ツーOGG変換を行う場合は、使用してアーティファクト(低品質)の可能性を最小限に抑えることができ、より高いより先のビットレートソースあなたのMP3ファイルを128 kbpsである場合、でのOggを使用してみてください例えば、ビットレートを-q7
(可変ビットレートレベル7)、これは通常約200 kbps前後です。
-q
オプションをdir2oggに渡すことができます(@geirhaが言及したようにリポジトリで利用可能です)。
avconv a gplプログラムを使用できます。例示のためにシェルを実行しました(.mp3ファイルのあるフォルダーで実行します)。
#!/bin/bash
if hash avconv > /dev/null; then
for file in *.mp3
do avconv -i "${file}" "`echo ${file%.mp3}.ogg`";
done
else
echo "avconv not found"
fi
またはavconvインストールの検証なしのより単純なバージョン:
#!/bin/bash
for file in *.mp3
do avconv -i "${file}" "`echo ${file%.mp3}.ogg`";
done
ffmpeg
正式に廃止され、avconv
代わりに使用する必要があることを明示的に言及しています。
これはあなたの問題を解決するかもしれないようですhttp://www.perturb.org/display/entry/687/