Замените название файла на заголовок в нескольких аудиофайлах.

Вопрос или проблема

Мне нужно решение с интерфейсом командной строки или графическим интерфейсом для замены имени файла каждого файла на заголовок этого файла.

У меня есть несколько радиоподкастов с именами файлов, которые не правильно отображают содержание. Это видно в медиаплеерах под заголовком, но у меня есть проблемы с отображением этого в файловых менеджерах, поэтому я хочу заменить имена файлов на заголовки.

Я ищу родное приложение для Linux, хотя я знаю, как это сделать в Wine с такими программами, как Foobar2000.

Редактирование после комментария: это mp3-файлы. Я могу видеть данные заголовка, отображаемые в панели информации файлового менеджера Dolphin.

Если вы ищете родное приложение, существует командная строка mp3rename, доступная в некоторых дистрибутивах, и графический интерфейс pyrenamer.

Для первого сначала настройте формат “title” (&t) с помощью

mp3rename -s '&t'

После этого вы можете переименовать файлы, просто запустив mp3rename с ними, указав список имен файлов. Например, если вы находитесь в каталоге с mp3-файлами, введите mp3rename *.mp3. Или вы можете рекурсивно искать файлы с именем *.mp3 из некоторого начального каталога ABC, например, с помощью

find ABC -name '*.mp3' -exec mp3rename {} \;

Вам может понадобиться работать с копией ваших файлов, чтобы избежать неприятных сюрпризов!

Для графического интерфейса pyrenamer в более поздних версиях есть вкладка Music, где вы “переименовываете музыку, используя ее метаданные”. Введите строку {title}.mp3 в это поле, выберите файлы для обработки и нажмите Preview, чтобы увидеть, как будут выглядеть имена.

введите описание изображения здесь

Как насчет Perl? Он родной для Linux. Моя тестовая конфигурация выглядит следующим образом… Скрипт mp3.pl находится в том же каталоге, что и каталог music, который содержит песни, с которыми мы будем работать. Я передаю это в качестве аргумента командной строки. Код перебирает этот каталог, извлекая все mp3-файлы. Затем он перебирает список треков и по одному переименовывает их в заголовок трека:

Сначала посмотрите, какие треки у нас есть:

$ ls music
track1.mp3  track2.mp3

Код:

use warnings;
use strict;

use File::Copy;
use File::Find::Rule;
use MP3::Tag;

if (! @ARGV){
    print "usage: perl mp3.pl <directory>\n";
    exit;
}

my $dir = $ARGV[0];

my @files = File::Find::Rule->file()
                            ->name('*.mp3')
                            ->in($dir);

for my $track (@files){
    my $mp3 = MP3::Tag->new($track);

    my $title = $mp3->title;
    $title .= '.mp3';

    move $track, "$dir/$title" or die $!;
}

Запустите его:

perl mp3.pl music

Каталог ‘music’ после изменений:

$ ls music/
Almost Famous.mp3  No Love (feat Lil Wayne).mp3

.

Ответ или решение

Для замены имен файлов на заголовки в нескольких аудиофайлах формата MP3 в Linux доступно несколько решений, как командной строки, так и графических. В этой статье мы детально рассмотрим оба подхода, чтобы вы могли выбрать наиболее подходящий для своих нужд.

Решение через командную строку: mp3rename

Для пользователей, предпочитающих CLI (интерфейс командной строки), одним из лучших вариантов является утилита mp3rename. Это простое в использовании решение позволяет быстро переименовывать файлы, извлекая информацию из метаданных MP3. Чтобы установить mp3rename, вы можете воспользоваться пакетным менеджером вашей дистрибуции:

sudo apt install mp3rename  # Для Ubuntu
sudo dnf install mp3rename  # Для Fedora

Как использовать mp3rename

  1. Установите формат имени файла:
    Чтобы установить формат имени, включающий заголовок, выполните следующую команду:

    mp3rename -s '&t'

    Здесь &t символизирует заголовок, который будет использован в качестве нового имени файла.

  2. Переименуйте файлы:
    Перейдите в директорию с вашими MP3-файлами и выполните команду:

    mp3rename *.mp3

    Если ваши файлы находятся в поддиректории, вы можете использовать find для рекурсивного поиска и переименования:

    find ABC -name '*.mp3' -exec mp3rename {} \;

    Пожалуйста, создавайте резервные копии ваших файлов перед выполнением массовых операций, чтобы избежать неожиданных проблем.

Графический интерфейс: pyrenamer

Если вы предпочитаете GUI (графический интерфейс пользователя), pyrenamer станет отличным выбором. Это приложение позволяет вам переименовывать файлы, используя метаданные, и предоставляет более интуитивное взаимодействие.

Установка pyrenamer

Установите pyrenamer через пакетный менеджер:

sudo apt install pyrenamer  # Для Ubuntu
sudo dnf install pyrenamer  # Для Fedora

Как использовать pyrenamer

  1. Запуск Pyrenamer:
    Откройте pyrenamer из меню приложений.

  2. Выбор файлов:
    Перейдите на вкладку "Музыка". Выберите все MP3-файлы, которые вы хотите переименовать.

  3. Задайте новый формат имени:
    В поле для форматирования названия укажите строку {title}.mp3 и нажмите кнопку "Предпросмотр". Это позволит просмотреть, как будут выглядеть новые имена файлов до их применения.

  4. Применение изменений:
    Если вы довольны предварительным просмотром, нажмите кнопку для подтверждения изменений.

Альтернативный подход: Скрипт на Perl

Если вы знакомы с Perl, вы можете создать скрипт, который будет делать то же самое. Например, вот простой скрипт, который переименовывает MP3-файлы, основываясь на заголовках:

use warnings;
use strict;
use File::Copy;
use File::Find::Rule;
use MP3::Tag;

if (!@ARGV) {
    print "usage: perl mp3.pl <directory>\n";
    exit;
}

my $dir = $ARGV[0];
my @files = File::Find::Rule->file()->name('*.mp3')->in($dir);

for my $track (@files) {
    my $mp3 = MP3::Tag->new($track);
    my $title = $mp3->title . '.mp3';
    move $track, "$dir/$title" or die $!;
}

Сохраните этот код в файле mp3.pl и выполните его с указанием директории MP3-файлов:

perl mp3.pl music

Заключение

Теперь у вас есть несколько подходов для замены имен файлов на заголовки в ваших аудиофайлах MP3 на Linux. Используйте mp3rename для быстрой работы через терминал, pyrenamer для визуального интерфейса или же создайте свой собственный скрипт на Perl. Выбор остается за вами! Убедитесь, что сделали резервные копии файлов перед изменениями, чтобы избежать потери данных.

Оцените материал
Добавить комментарий

Капча загружается...