[c++] Taglib으로 Opus 파일 처리하기
Opus는 고성능의 오디오 코덱으로, 고음질 오디오를 구현하는 데 사용됩니다. Opus 파일에는 메타데이터를 추가하거나 읽어야 할 수 있습니다. C++에서 Opus 파일의 메타데이터를 처리하려면 Taglib 라이브러리를 사용할 수 있습니다. 이 라이브러리는 여러 오디오 파일 형식의 메타데이터를 쉽게 다룰 수 있도록 도와줍니다.
이 포스트에서는 Taglib을 사용하여 Opus 파일에서 메타데이터를 읽고 쓰는 방법에 대해 설명하겠습니다.
Taglib 설치하기
먼저 Taglib을 시스템에 설치해야 합니다. 다음은 Linux 기반 시스템(Ubuntu)에서의 설치 방법입니다.
sudo apt-get install libtag1-dev
다른 시스템에서는 해당 시스템의 패키지 관리자를 사용하여 Taglib을 설치하면 됩니다.
Opus 파일에서 메타데이터 읽기
다음은 Opus 파일의 메타데이터를 읽는 간단한 예제 코드입니다.
#include <taglib/fileref.h>
#include <taglib/opusfile.h>
#include <iostream>
int main() {
TagLib::FileRef f("sample.opus");
if (!f.isNull() && f.audioProperties()) {
TagLib::Opus::File file(f.file());
std::cout << "Title: " << file.tag()->title().toCString(true) << std::endl;
std::cout << "Artist: " << file.tag()->artist().toCString(true) << std::endl;
std::cout << "Album: " << file.tag()->album().toCString(true) << std::endl;
std::cout << "Bitrate: " << f.audioProperties()->bitrate() << " bps" << std::endl;
}
return 0;
}
위 코드는 Opus 파일에서 제목, 아티스트, 앨범 및 비트레이트와 같은 메타데이터를 읽어옵니다.
Opus 파일에 메타데이터 쓰기
Opus 파일에 메타데이터를 쓰려면 다음과 같이 해야 합니다.
#include <taglib/fileref.h>
#include <taglib/opusfile.h>
int main() {
TagLib::FileRef f("sample.opus");
if (!f.isNull()) {
TagLib::Opus::File file(f.file());
file.tag()->setTitle("New Title");
file.save();
}
return 0;
}
위 코드에서 “New Title”은 새로운 제목으로 대체될 값입니다.
결론
이제 Taglib을 사용하여 Opus 파일의 메타데이터를 읽고 쓰는 방법에 대해 알아보았습니다. 이를 통해 Opus 파일을 더 효과적으로 관리하고 활용할 수 있을 것입니다.
더 많은 정보는 Taglib 공식 문서를 참조하시기 바랍니다. Taglib 공식 문서