Как извлечь теги MP3 и сохранить их в MySQL: подробное руководство

Если вы заядлый слушатель музыки или у вас большая музыкальная коллекция, организация и классификация ваших треков становится критически важной. Теги MP3, также известные как метаданные, содержат ценную информацию о песне, такую ​​как исполнитель, альбом, жанр и название трека. В этой статье блога мы рассмотрим различные методы извлечения тегов MP3 и их хранения в базе данных MySQL. Мы рассмотрим различные языки программирования и попутно предоставим примеры кода.

Метод 1: Python с библиотекой Mutagen

Python — универсальный язык с надежными библиотеками для обработки мультимедийных файлов. Одной из таких библиотек является Mutagen, которая позволяет нам легко извлекать теги MP3. Сначала убедитесь, что у вас установлен Mutagen, запустив pip install mutagen. Затем рассмотрим следующий фрагмент кода:

from mutagen.mp3 import MP3
def extract_tags_mp3(file_path):
    audio = MP3(file_path)
    artist = audio['artist'][0] if 'artist' in audio else "Unknown Artist"
    title = audio['title'][0] if 'title' in audio else "Unknown Title"
    album = audio['album'][0] if 'album' in audio else "Unknown Album"
    # Extract other desired tags
    # Store the extracted tags in MySQL
    # Implement your MySQL connection and INSERT statement here

Метод 2: PHP с библиотекой getID3

Если вы предпочитаете PHP в качестве языка программирования, библиотека getID3 предоставляет отличные функциональные возможности для извлечения тегов MP3. Начните с установки библиотеки с помощью Composer (composer require james-heinrich/getid3). Вот пример получения тегов MP3 с помощью PHP:

require_once 'vendor/autoload.php';
use getID3;
$getID3 = new getID3;
$fileInformation = $getID3->analyze('path/to/mp3_file.mp3');
if (isset($fileInformation['tags']['id3v2'])) {
    $artist = $fileInformation['tags']['id3v2']['artist'][0];
    $title = $fileInformation['tags']['id3v2']['title'][0];
    $album = $fileInformation['tags']['id3v2']['album'][0];
    // Extract other desired tags
    // Store the extracted tags in MySQL
    // Implement your MySQL connection and INSERT statement here
}

Метод 3: командная строка с FFmpeg

ffmpeg -i path/to/mp3_file.mp3

Вывод будет включать в себя различную информацию, включая исполнителя, название, альбом и т. д. Вы можете передать вывод в текстовый файл или напрямую проанализировать его с помощью языка сценариев, например Python или PHP.

В этой статье мы рассмотрели несколько методов извлечения тегов MP3 и их хранения в базе данных MySQL. Независимо от того, предпочитаете ли вы Python, PHP или командную строку, эти подходы обеспечивают гибкость в зависимости от вашей среды разработки и требований. Организовав свою музыкальную коллекцию с помощью точных метаданных, вам будет проще искать треки и эффективно управлять ими.