2009-06-03 3 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가 필요합니다. 그것으로 간단합니다. libs와 함께 제공되는 예제 코드는 인코딩 수행 방법을 보여줍니다.

행운을 빈다.

0

확실히 C++에서 Windows Media Format SDK으로이 작업을 수행 할 수 있습니다.

나는 WMFSDK9 만 사용했습니다. UncompAVIToWMV라는 샘플이 포함되어있어 시작할 수 있습니다. 추가 정보에서 :

그것은 여러 AVI 파일에서 오디오 및 비디오 스트림에 대한 샘플을 병합하고 유사한 스트림으로 이러한 병합하거나 소스 스트림 프로필을 기반으로 새로운 스트림 를 작성하거나하는 방법을 보여줍니다. 임의의 스트림을 만들고, 다중화를 수행하고 SMPTE 타임 코드를 추가하는 방법도 보여줍니다.

1

mp3를 디코딩 한 다음 ogg로 인코딩해야합니다.

하나의 가능성은 mp3 디코딩에 liblame을 사용하고 ogg로 인코딩하기 위해 libogg/libvorbis를 사용하는 것입니다. 아니면 단지 그것들의 명령 행 버전을 사용하십시오.

하지만 하나의 손실 형식을 다른 형식으로 변환하는 것은 좋은 생각입니다.

1

Foobar2000 (http://www.foobar2000.org/)은 무료이며 파일 형식간에 쉽게 변환 할 수 있습니다. MP3를 OGG로 변환하는 데 단 몇 번의 클릭만으로 끝납니다.

손실 형식에서 손실 형식으로 이동하면 무손실 형식 (FLAC, CD 오디오, Apple Lossless Codec)에서 손실 형식 (MP3, OGG 등)으로 이동하는 것보다 오디오 품질이 떨어집니다. M4A). 무손실 소스에 대한 액세스 권한이 있다면 오디오를 사용하여 대신 변환하십시오.

+0

Ogg는 손실, 무손실 또는 자주색 오디오 코덱이 아닙니다. 그것은 컨테이너 형식입니다. Vorbis는 Ogg와 관련된 오디오 코덱으로 Ogg 파일에는 FLAC 또는 다른 오디오도 포함될 수 있습니다. – TRiG

2

나쁜 생각입니다. Vorbis FAQ에서 인용하십시오

모든 오디오 형식을 Ogg Vorbis로 변환 할 수 있습니다. 그러나 에서 하나의 손실 형식 (예 : MP3)을 손실 형식으로 변환하는 것은 Vorbis와 마찬가지로 일반적으로 입니다. MP3와 Vorbis 인코더 모두 의 오디오 파형을 부분으로 버려서 높은 의 압축률을 얻을 수 있습니다.그러나 MP3 과 Vorbis 코덱은 매우 다르므로 입니다. 따라서 은 분명히 일부 중복되지만 개의 오디오 부분을 버리게됩니다. MP3를 보비스로 변환하는 것은 MP3 파일을 WAV와 같은 압축되지 않은 형식으로 다시 디코딩하고 Ogg 보비스 인코더를 사용하여 을 다시 압축합니다. 디코딩 된 MP3 부분에는 MP3 인코더가 삭제하기로 선택한 원래 오디오 부분 인 이 누락됩니다. Ogg 보비스 인코더는 데이터를 압축하면 다른 오디오 구성 요소를 삭제합니다. 기껏해야 결과가 Ogg 파일이고 원래 MP3는 이지만 대부분 일 가능성이 높습니다. 은 원래 MP3보다 나빠질 것입니다. 에서 어떤 경우에도 이 원래 MP3보다 소리가 나는 파일을 얻을 수 없습니다. 많은 음악 플레이어가 MP3 및 오그 파일을 모두 재생할 수 있습니다

때문에, 당신은 하나의 형식이나 다른 모든 파일을 전환해야 할 이유 없다. Ogg Vorbis가 마음에 드신다면 원래의 무손실 오디오 인 코드 (CD와 같은)을 인코딩 할 때 사용하시는 것이 좋습니다. 원본을 인코딩 할 때 크기가 작거나 인 Ogg 파일을 MP3보다 더 좋게 만들 수 있습니다.

(당신이 절대적으로 오그로 MP3에서 변환해야해야하는 경우, 여러 변환 스크립트 Freshmeat 볼 수있다.)

http://www.vorbis.com/faq/#transcode 그리고, 정확성을 위해서,로부터 동일한 FAQ :

Ogg Ogg는 f Xiph.org의 컨테이너 형식 (오디오, 비디오 및 메타 데이터)

보비스 보비스는 오그에 포함하도록 설계 특정 오디오 압축 방식 의 이름입니다. 다른 형식으로는 등 Ogg에 포함될 수 있습니다. 은 FLAC 및 Speex입니다.

나는 왜 Ogg에 MP3를 포함시킬 수 있는지 상상할 수 있지만, 왜 그렇게 원하는지 모르겠습니다. FLAC은 무손실 오디오 코덱입니다. Speex는 음성을 인코딩하기 위해 최적화 된 매우 손실이 많은 오디오 코덱입니다. Vorbis는 일반적인 오디오 코덱입니다. 따라서 "오그 오디오"는 다소 잘못된 이름입니다. 오그 보비스 (Ogg Vorbis)는 내가 상상 한 것의 적절한 용어입니다.

MP3에서 Ogg Vorbis로 변환하고 싶다면 위의 Freshmeat 링크를 사용해보세요. (b) 다른 답변을 보거나 (c) FFmpeg보세요. FFmpeg는 많은 비디오 및 오디오 코덱 및 형식을 변환하기위한 범용 라이브러리입니다. 그것은 영리한 것들을 많이 할 수 있습니다.기본 Vorbis 인코더의 품질이 좋지 않다고 들었지만 내장 Vorbis 인코더 대신 libvorbis를 사용하도록 구성 할 수 있습니다. 그 마지막 문장은 오래되어서는 안됩니다. 잘 모르겠습니다.)

FFmpeg는 이미 사용 하듯이 LAME과 libvorbis를 사용합니다. 그렇게 새로운 것을하지 않을 것입니다. 그것은 단지 당신에게 모든 종류의 다른 변환을 할 수있는 옵션을 제공합니다.

관련 문제