MP3 에서 IDTag의 정보를 알수 있는 방법은?

sonjae318의 이미지

mp3파일에 보면 파일 첫 부분에 IDTag의 정보가 들어있는데 그것을 알수 있는 방법이 필요합니다.

winamp나 p2p 프로그램등 mp3 플레이어에서 기본적으로 지원하는 192kbps ,재생시간 , 작곡자명, 제목등 여러가지 정보를 알수 있는데

이런것들을 알수 있는 알고리즘이나 정보의 도움을 바랍니다.

IDtag도 v1 과 v2가 다른 방식으로 되어있다는 것과 IDTag를 알려면 decode와 encode해서 사용해야한 다는 기초적인 것만 알고 있습니다.

이런 자세한 정보가 있는 사이트 또는 문서, 책 같은 것들을 추천해 주시면 감사드리겠습니다.

제가 지금 p2p 프로그램을 하고 있는데 저 부분이 필요해 그렇습니다.

그럼 부탁 드릴께요~

답변해주신 내용들

손님

올려짐: 2004년12월7일 13:40 주제:

--------------------------------------------------------------------------------

http://www.mpx.cz/mp3manager/tags.htm

http://www.id3.org

위로


검은해
hacker

가입: 2003년 1월 17일
올린 글: 1002

올려짐: 2004년12월7일 13:52 주제:

--------------------------------------------------------------------------------

id3v1은 파일 뒤쪽에 붙습니다. 128byte크기고요. id3v2는 파일 앞이나 뒤에 붙습니다. 크기는 따로 정해져있지는 않습니다.

MP3 소리의 디코딩과는 별도로 읽으실 수 있어요.

비트레이트나 재생시간등은 MPEG 프레임을 분석해서 알아내셔야 할 것입니다.
_________________
http://man.kldp.org/wiki/

추가질문.

MPEG 프레임을 분석해야한다고 하셧는데 도통 모르겠네요^^

도움될만한 정보도 주시면 감사드리겠습니다.

ID3 Tag
ID3 Tag standard = 128 bytes of text divided into 6 fields which can be added on end of MP3 file. This standard was created by NamkraD in 1996.

ID3 Tag begins on position -128 bytes from end of file. If there is an ID3 Tag identifier - "TAG" on position 0, then the ID3 Tag is already appended. Next fields carry data:

Byte Field name

3 - 32 Track name
33 - 62 Artist name
63 - 92 Album name
93 - 96 Year
97 - 126 Comment
127 Genre



위에 byte수를 읽어와서 쓰면 된다는 말이죠? 영어라 힘들군요 ㅡㅡ;

maximus의 이미지

기존에 말씀해 주신 분이 가르쳐 준 사이트가 원하시는 내용을 얻기 위한 정보들이 있는곳들입니다.

추가 사이트로 MP3 header는

http://www.mp3-tech.org/programmer/frame_header.html

에서 좀더 확인하시구요.

먼져 해당 Tag 에 대하여 공부를 하시는게 우선이 아닌가 싶습니다. (이걸 모르신다는거죠 ? ) 처음 딱 보면 뭐가 뭔지 모르겠지만.. (다들 마찬가지입니다.)

계속 뚫어 져라 바라보고 이해 할려고 애쓰다 보면 그리 어렵지 않다는 것을 알게 됩니다.. mp3 화일도 binary editor 로 보고 byte 단위로 짤라서 비교 해보고 헤더 부분은 bit 단위로 짤라서 보고...

얘기 드렸지만 우선 공부하고 하나씩 하나씩 해보고 나서 값이 이상하다라든지 버젼별로 뭔가 틀린가라든지 .. 뭐 그렇게요.....

영어라고 지례겁먹진 마시고 간단한 영어들이니 부담갖지 말고 보시면 충분히 이해를 할수 있는 부분입니다.

행여나 제글에 기분 상하시진 마시구요....

MP3 부분은 한번 잡고 보시면 나중에 두고 두고 써먹으니 열심히 하세요.. !!!

=================================
:: how about a cup of tea ? ::
=================================

zelon의 이미지

MPEG 프레임을 분석하는 건 아닙니다. ^^ 앞에 분이 말씀하신 것처럼 디코딩과는 상관없고, 단지 파일의 앞부분에 있는 바이트를 규칙에 따라서 읽어내려가는 겁니다. 적으신 것처럼 id3.org 에 가시면 왠만한 것들이 다 있습니다.

id3tag v2 는 파일의 앞부분에 있는 데 이건 스트리밍을 위해서 제일 처음 전달해주기 위한 것이라더군요.

그리고 id3.org 에 간단한 라이브러리도 있었던 걸로 기억합니다.

참고로 아이리버등 가사를 입히는 것들은 이런 id3 tag 2 를 이용합니다. id3tag 를 지운 다음에 가사를 입히면 갑자기 id3tag 가 생기는 것을 보면 알 수 있죠. 전에 아이리버 가사 분석하면서 만든 간단한 한글 문서가 있는데 참고하세요 ^^

http://www.wimy.com/wiki/wiki.php/Dataroom

위 링크의 제일 아랫 부분에 pdf 로 있습니다. 문서의 2장 정도가 id3tag 이고 나머지는 아이리버 가사 분석입니다. 만들다가 아이리버 가사 버젼이 올라가면서 구조가 바뀌어서 포기를 해버렸다는 OTL

-----------------------------------------------------------------------
GPL 오픈소스 윈도우용 이미지 뷰어 ZViewer - http://zviewer.wimy.com
블로그 : http://blog.wimy.com

HDNua의 이미지

MP3 태그를 수정하는 라이브러리를 작성하려고 하는데, 좋은 정보 같아 보입니다. 답글 달아서 기억해놔야겠습니다.

저는 이렇게 생각했습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.