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


44

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

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


firefoxはmp3ファイルを正常に再生する必要があります
-mchid

回答:


37

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

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

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


30

FFMPEG文字列操作の組み合わせを使用します。

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

cd mp3folder

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

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

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

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


優れた。dir2oggは、この答えは魅力のように働いた喘鳴が、上で作業をしませんでした
鬼武者

dir2oggも機能しませんでしたが、m4a-> oggを変換していました。< ahref= " linuxquestions.org/questions/linux-general-1/… "title= linuxquestions.org " > lq </a>ただし、上記のforループは(ffmpegをavconvに置き換えて)しました。m4a/ mp3を上記のプロセスでoggを使用すると、ファイルサイズは9倍になりますが、m4aをmp3に、次にmp3をoggに変換すると、ファイルサイズは4倍だけ大きくなります。<pre> <code> avconv -i "ManjusriMantra.m4a" " ManjusriMantra.mp3 "wait avconv -i" ManjusriMantra.mp3 "" ManjusriMantra.ogg "<code> <pre>
afc888ny

これは私のために働いた:ffmpeg -i sound.mp3 -c:a libvorbis -q:a 10 sound.ogg最高品質の設定、元よりも明らかに著しく悪い。デフォルト設定は私にはまったく機能しませんでした(Cygwinでは、私を訴えます))が、この質問には良い情報がありました:superuser.com/questions/273797/convert-mp3-to-ogg-vorbis
Kai Carver

19

MP3、M4AなどからOGGへの変換には注意してください。結果悪いように聞こえるかもしれません。

警告:MP3とOGGは、WAVやFLACなどとは異なり、損失の多い形式です。これは、人間の耳には知覚できないオーディオ情報の一部を捨てることにより、大部分が圧縮を達成することを意味します(心理音響学 [wikipedia]と呼ばれます

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


ソースビットレートよりも高いデスティネーションビットレートを選択して、効果を最小限に抑えます

あなたは、このMP3ツーOGG変換を行う場合は、使用してアーティファクト(低品質)の可能性を最小限に抑えることができ、より高いより先のビットレートソースあなたのMP3ファイルを128 kbpsである場合、でのOggを使用してみてください例えば、ビットレートを-q7(可変ビットレートレベル7)、これは通常約200 kbps前後です。

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


10

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

注:はavconvパッケージは、最近の支店/フォークですffmpegの同様の構文と機能を、。
david6 14年

注2: ffmpeg正式に廃止され、avconv代わりに使用する必要があることを明示的に言及しています。
ashes999

3

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

for file in *.mp3;

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

done

2

これは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

1

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

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


0

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


「それ」とは何かを詳しく説明していただけますか?参照するリンクがいつか消える場合、回答にコンテキストを追加し、使いやすさを向上させます=)
SaultDon

あなたが提案するようにやろうとしていましたが、それからガイラの答えを見ました。
ギャリーケアンズ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.