web-dev-qa-db-ja.com

バルク/バッチコマンドライン経由でmp3ファイルをoggに変換しますか?

コマンドライン経由でmp3をoggに変換することは可能ですか?

一括でMP3ファイルをOGGに変換して、Firefoxで問題なく再生できるようにしたいと思います。

44
chrisjlee

Oggに一致するパッケージを検索すると、 dir2ogg が見つかりました。ただ

Sudo apt-get install dir2ogg
dir2ogg -r /path/to/mp3s/

そして、/path/to/mp3s/の下にあるすべてのmp3ファイルを再帰的に検索してoggに変換します(マニュアルを正しく読んだと仮定します)。

37
geirha

FFMPEGString Manipulation の組み合わせを使用します。

Mp3があるフォルダーに移動します。

cd mp3folder

1つの例は、単純な「for」ループを使用することです。

for file in *.mp3
  do ffmpeg -i "${file}" "${file/%mp3/ogg}"
done

二重引用符は、ファイル名のスペースが「改行」として扱われるのを防ぎます。

ffmpegには、コーデック、ビットレート、サンプルサイズ、ステレオ/モノラルなどの変換に含めるいくつかのオプションがあります。上記は、デフォルト設定での最も一般的な変換です。

30
SaultDon

結果がmay音質が悪いため、MP3、M4AなどからOGGへの変換に注意してください。

警告:MP3とOGGはどちらもlossy形式であり、WAVやFLAC。これは、人間の耳(と呼ばれる psychoacoustics [wikipedia] =)

ある損失の多い形式から別の形式にエンコード(トランスコード)すると、それらの心理音響学的に冗長なビットのほとんどがすでになくなっているため、トランスコードの品質が低下し、結果が「聞こえる」場合さえあります。したがって、どうしても必要な場合を除き、このような変換を行うことはお勧めしません。


source bit-rateよりもhigher destination bit-rateを選択して、効果を最小限に抑えます。

このMP3からOGGへの変換を行う場合、sourceビットレートよりもhigher宛先ビットレートを使用することにより、アーティファクト(低品質)の可能性を最小限に抑えることができます。 MP3は128 kbpsです。-q7(可変ビットレートレベル7)でOggを使用してみてください。通常は約200 kbpsです。

-qオプションをdir2oggに渡すことができます(@geirhaが言及したようにリポジトリで利用可能です)。

19
ish

avconv 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
10
ademar111190

Oggによるmp3の解析/置換は正しくありません。正しい形式は次のとおりです。

for file in *.mp3;

   do ffmpeg -i "${file}" -acodec libvorbis "${file%mp3}ogg";

done
3
John Jacq

これはmplayerを使用したものです。これはavconvよりも高速だと思います。ただし、firefoxはmp3ファイルをネイティブに再生する必要があります。

#!/bin/bash
for f in *.mp3; do
 newname=`echo $f | tr ' ' '_' `
 mv "$f" $newname
 f=$newname
 mplayer $f -novideo -ao pcm:file=tmp.wav
 lame -V 0 -q 0 tmp.wav ${f/.mp3/.ogg}
 rm -f tmp.wav
done
2
mchid

soundconverter もあります。 GUIとCLIの両方をサポートし、両方のモードで一括変換を実行できます。

1
zakkak

オーディオのみを行う場合は、以下のコードを使用してください[そうでない場合、FFは.oggを再生しません]

for file in *.mp3;
   do ffmpeg -i "${file}" -acodec libvorbis "${file/%mp3/ogg}"; 
done
1
Arup Bhanja

これはあなたの問題を解決するかもしれないように見えます http://www.perturb.org/display/entry/687/

0
Garry Cairns