MOYOMOYO
이명진 · PERSONAL BLOG

MOYO

생각과 경험을 기록하는 공간입니다.

← 글 목록

음원 파일 메타 데이터 한글 깨짐 수정

이명진조회 4댓글 0

PLEX 미디어 서버를 이용하여, 음원 라이브러리를 운영중인데 가끔 MP3 인식 할 때 한글이 깨지는 경우가 있다.

이 경우, 메타 데이터의 한글 캐릭터 셋이 EUC-KR 일 수 있는데 이것을 UTF-8 로 수정해서 해결할 수 있다.

우분투 서버에서는 파이썬 라이브러리를 이용하여 일괄 처리를 하면 된다.

라이브러리 설치

sudo apt-get update
sudo apt-get install python3-pip
pip3 install mutagen

파이썬과 mutagen 을 설치했으면, 준비 완료다.

파이썬 스크립트 작성

import os
from mutagen.easyid3 import EasyID3
from mutagen.id3 import ID3, Encoding, ID3NoHeaderError

def fix_encoding(file_path):
    try:
        audio = EasyID3(file_path)
    except ID3NoHeaderError:
        audio = ID3(file_path)
    
    for key in audio.keys():
        if isinstance(audio[key], list):
            try:
                original_value = audio[key][0]
                decoded_value = original_value.encode('euc-kr').decode('utf-8')
                audio[key] = decoded_value
            except (UnicodeEncodeError, UnicodeDecodeError):
                pass
    
    audio.save(v2_version=3)

def process_directory(directory):
    for root, _, files in os.walk(directory):
        for file in files:
            if file.lower().endswith('.mp3'):
                file_path = os.path.join(root, file)
                print(f"Processing file: {file_path}")
                fix_encoding(file_path)

# 지정할 디렉토리 경로
directory_path = "/path/to/your/music/folder"
process_directory(directory_path)

directory_path 에는 적절하게 음원을 검색할 경로를 지정해준다.

위의 스크립트는 지정된 디렉토리와 그 하위 디렉토리에서 모든 .mp3 파일을 찾고 각 파일의 메타데이터를 점검하여 한글이 깨진 경우 이를 수정한 후 수정된 파일을 저장하는 역할을 한다.

사용방법

위의 스크립트를 파일로 저장하자. 예를 들어 fix_metadata.py로 저장했다면 터미널에서 다음 명령을 실행하여 스크립트를 실행하면 된다.

python3 fix_metadata.py

#MP3 #음원파일 #메타데이터 #python #파이썬

댓글 0

등록된 댓글이 없습니다.