2009-06-03 17 views
4

誰かがmp3オーディオファイルをoggオーディオファイルに変換する方法を知っているのだろうかと思っていました。私はあなたがオンラインで購入できるプログラムがあることを知っていますが、私はむしろちょうど私が望むだけ多くのファイルを変換できる私自身の小さなアプリケーションを持っています。C++オーディオ変換(mp3 - > ogg)質問

+1

これは、今後のsuperuser.comの大きな質問です。 –

+4

私はそうは思わない、ポスターは、アプリケーションを作成したいと思う。私の考えでは、プログラミングである –

+0

ほとんどのコンバータは、ファイルのバッチを変換するスクリプトで使用できます。アプリケーションを書く必要はありません。 – lothar

答えて

4

リアルでシンプルです。 Windows Media Format SDKは使用しません。単にそれが仕事のために過労であるという事実のために。

あなたは(電気ショック療法を中心に生のオーディオデータをパイプ、コーデックを設定し、ファイルを開く。)MP3デコーダとOGGエンコーダとその周りのグルーコードを少し必要

私がすることを示唆しているMP3デコーダについてあなたはliblameライブラリを見たり、このデコードライブラリhttp://www.codeproject.com/KB/audio-video/madlldlib.aspxを開始点として使用します。

OGGの場合、多くの選択肢はありません。あなたはliboggとlibvorbisが必要です。そのように簡単です。 libに付属のサンプルコードは、エンコーディングの方法を示しています。

幸運。

0

確かにこれはC++でWindows Media Format SDKで行うことができます。

自分でWMFSDK9しか使用していません。 UncompAVIToWMVというサンプルが含まれています。リリースノートから:

それは いくつかのAVIファイルから のオーディオおよびビデオストリームのためのサンプルをマージし、 同様の流れにこれらをマージしたり、ソースストリームプロファイルに基づいて新しいストリーム を作成いずれかの方法を示しています。 また、 任意のストリームを作成し、マルチパス エンコードを行い、SMPTEタイムコードを追加する方法も示します。

1

mp3をデコードし、次にoggにエンコードする必要があります。

一つの可能​​性は、OGGに符号化するためのmp3復号及びlibogg/libvorbisためliblameを使用することです。または、それらのコマンドラインバージョンを使用してください。

しかし、私は1つのロッシーなフォーマットから別のものに変換することはいい考えです。

1

Foobar2000(http://www.foobar2000.org/)はフリーであり、ファイル形式間の変換が非常に簡単です。 MP3からOGGへの変換に数回のクリックしかかからない。

ロッシーフォーマットからロッシーフォーマットに移行すると、ロスレスフォーマット(FLAC、CDオーディオ、Appleロスレスコーデック)からロッシーフォーマット(MP3、OGG、 M4A)。無損失のソースにアクセスできる場合は、代わりに変換するためにそれを使用してください。

+0

Oggは、オーディオコーデックではなく、ロッシー、ロスレス、またはパープルではありません。これはコンテナ形式です。 VorbisはOggに関連付けられたオーディオコーデックですが、OggファイルにはFLACやその他のオーディオも含まれています。 – TRiG

2

悪い考えです。 VorbisのFAQから引用するには

Ogg Vorbisに変換するオーディオフォーマットは です。しかし、別の 非可逆形式に、MP3のように、 1つの非可逆形式から変換し、Vorbisのように、一般的に悪い考え です。 MP3と Vorbisエンコーダの両方で、 の圧縮率を達成するには、 の音声波形のうち、 はおそらく聞こえません。しかし、MP3 とVorbisコーデックは非常に異なっており、 だから、それぞれ の部分を捨て去るでしょうが、 は確かに重なっていますが。 MP3をVorbisに変換するには、 MP3ファイルをWAVのような非圧縮の 形式にデコードし、Ogg Vorbisエンコーダを使用して を再圧縮する必要があります。 デコードされたMP3は、MP3 エンコーダが破棄することを選択した元のオーディオの部分 が欠落しています。 Ogg Vorbisエンコーダは、 のデータを圧縮するとき、他の オーディオコンポーネントを破棄します。最高で、結果は Oggファイルで、 オリジナルのMP3と同じに聞こえますが、ほとんど と思われます。結果ファイルは オリジナルのMP3よりも悪くなります。 では、 が元のMP3よりも音が良いファイルはありません。

多くの音楽プレーヤーは MP3およびOggファイルの両方を再生することができますので、あなたは一つのフォーマットまたは他に すべてのファイルを切り替えることが必要ない理由 はありません。 Ogg Vorbisが好きな人は、 オリジナル、ロスレスオーディオ ソース(CDのようなもの)からエンコードするときに使用することをお勧めします。 オリジナルのエンコーディングでは、 より小さく、または のOggファイルを MP3よりも高画質(またはその両方)にすることができます。から

(あなたは絶対にオッグにMP3から を変換する必要があります必要がある場合は、いくつかの 変換スクリプトが Freshmeatに利用可能である。)

http://www.vorbis.com/faq/#transcode

そして、精度のために、同じFAQ:

のOggのOggは、名前のOですf Xiph.orgの コンテナ形式(オーディオ、ビデオ、および メタデータ)。

Vorbisの Vorbisが のOggに含まれるように設計されています特定のオーディオ圧縮方式 の名前です。他の形式は、 などのOggに埋め込むことができます。 はFLACとSpeexです。

私はOggにMP3を埋め込むことは理論的には可能だと思いますが、なぜ誰が望むのかは分かりません。 FLACは可逆オーディオコーデックです。 Speexは音声をエンコードするために最適化された非常に損失の多いオーディオコーデックです。 Vorbisは一般的な損失のあるオーディオコーデックです。したがって、「Ogg audio」は少し誤解されています。 Ogg Vorbisは私があなたが意味することを想像するのに適した用語です。

MP3からOgg Vorbisに変換したい場合は、上記のFreshmeatリンクを試してみてください。(b)他の回答を見るか、(c)FFmpegを見てください。 FFmpegは、ビデオとオーディオのコーデックとフォーマットの多くを変換するための汎用ライブラリです。それは賢いものをたくさんすることができます。私は、デフォルトのVorbisエンコーダが低品質であると聞いてきましたが、内蔵のVorbisエンコーダの代わりにlibvorbisを使用するように設定することができます。

FFmpegは、あなたと同じように、LAMEとlibvorbisを使用することに注意してください。それはあなたのために何も新しいことをしません。それだけで、他のさまざまな変換も行うことができます。