|
Vivianus
Стаж: 14 лет 10 месяцев Сообщений: 5741
|
Vivianus ·
19-Фев-24 16:36
(9 месяцев назад)
Xant1k
AlbumArtist может подойдет, либо Performer
|
|
-Kotix-
Стаж: 15 лет 8 месяцев Сообщений: 2490
|
-Kotix- ·
17-Авг-24 15:10
(спустя 5 месяцев 26 дней)
А может ли программа считывать другие файлы? Допустим я хочу сделать текст для оформления дискографии и в каждой папке лежит Folder.auCDtect.txt и foo_dr.txt. Можно ли считать их содержимое и вставить куда мне нужно?
$loop(%_folderpath%)
'[spoiler=%_directory%]'
'[img=right]ссылка[/img]'
' Источник: '
' Продолжительность:' %_total_time%
' Треклист:'
$loop(%_filename_ext%)' '$num(%_counter%,2).'' %title% ' ''('%_length%')'''
$loopend()
'[spoiler=Лог проверки качества]
содержимое Folder.auCDtect.text
[spoiler=Динамический отчет (DR)]
содержимое foo_dr.txt
'
''
$loopend()
|
|
tamurimantas
Стаж: 17 лет 5 месяцев Сообщений: 575
|
tamurimantas ·
17-Авг-24 22:12
(спустя 7 часов, ред. 17-Авг-24 22:12)
-Kotix- писал(а):
86598235А может ли программа считывать другие файлы? Допустим я хочу сделать текст для оформления дискографии и в каждой папке лежит Folder.auCDtect.txt и foo_dr.txt. Можно ли считать их содержимое и вставить куда мне нужно?
Есть пара способов сделать это в рамках mp3tag и трудносчитаемое число способов - без ее участия.
Последние, полагаю, мы оставим в стороне, поскольку все они требуют некоторого знания сторонних инструментов.
В mp3tag однокнопочного решения, похоже, нет. Что понятно, поскольку требуется операция с файловой системой/с текстом, в которой mp3tag является по сути лишним.
Поэтому можно использовать непрямые пути достижения цели:
- написать скрипт импорта из локального файла, по аналогии с таковыми для сайтов (наверное вам это не понравится), поскольку нужно чуть-чуть программировать)
- сделать трех-шаговый скрипт Action состоящий из шагов
a. импорт текстового файла в тег (любой придуманный по вкусу)
б. экспорт (ваш экспорт + экспорт тега с этим текстом)
в. удаление этого придуманного тега
Проблема в этом методе лишь та, что вам требуется оперировать не с оригиналами аудиофайлов , а с их копиями, дабы не поменялись их контрольные суммы (важно для торрентов), а после генерации нужного файла экспорта эти копии можно удалить.
Текстовых файлов, которые нужно поместить в экспорт может быть больше одного. Тогда шаг (а) кратно дублируется, но с другим именем тега. Имена текстовых файлов должны быть стандартизированы - либо одинаковые, либо иметь прямую связь с названием альбома (для возможности вставить переменную вместо статичного имени).
Однажды созданный скрипт Action при соблюдении условий будет работать и на других альбомах / дискографиях.
|
|
Vivianus
Стаж: 14 лет 10 месяцев Сообщений: 5741
|
Vivianus ·
18-Авг-24 14:43
(спустя 16 часов, ред. 24-Авг-24 08:00)
-Kotix-
Нужно установить AutoHotKey
Папка должна иметь такой вид:
[ABLD002] Epyxx - Crash & Burn (2021)
Скрипт AHK для логов https://disk.yandex.ru/d/m0ewyNfCH8KzFA
Файл экспорта mp3tag должен лежать в корневой папке с раздачей, при экспорте в поле Export file name надо вписать %_parent_directory%.txt
Потом название папки надо вставить в скрипт сюда между кавычек:
project_folder := "Label - Interplay Flow"
Также можно вставлять обложки скриптом:
Экспорт в mp3tag такой:
скрытый текст
Код:
$filename(New export file.txt,utf-8)
$loop(%_directory%)'['spoiler="%_directory%"']'
'['img=right']''['/img']'
'['url=%AlbumID%']''['img']'https://i.postimg.cc/6qS4Wt55/Deezer.png'['/img']''['/url']'
'['b']'Номер по каталогу'['/b']': '['b']'%catalognumber%'['/b']'
'['b']'Дата релиза'['/b']': '['b']'%year%'['/b']'
'['b']'Продолжительность'['/b']': '['b']'%_total_time%'['/b']'
'['b']'Треклист'['/b']':
$loop(%track%)'['color=grey']'%track%.'['/color']' %Artist% - %Title% '['color=grey']'(%_length%)'['/color']'
$loopend()'['spoiler="Лог проверки качества"']'
'['pre']'
'['/pre']'
'['/spoiler']'
'['spoiler="Динамический диапазон"']'
'['pre']'
'['/pre']'
'['/spoiler']'
'['/spoiler']'
$loopend()
%AlbumID% - это тег с ссылкой на альбом
Можно добавить свои строчки типа лейбла и тд
Скрипт AHK для импорта обложек с postimg.cc:
updated 2024-08-24
Код:
FileRead, Haystack1, covers.txt
FileRead, Haystack2, 123.txt Loop parse, Haystack1, `n, `r
{
id := RegExReplace(A_LoopField, ".*?([A-Z\d](?!.*/))|.*", "$1")
Haystack2 := RegExReplace(Haystack2, "\[spoiler=""\[" . id . "]\V*\R\[img=right]\K.*?(?=\[/img])", A_LoopField)
} file := FileOpen("123.txt", "w `n")
if !IsObject(file)
log("Can't open " Haystack2 " for writing.")
file.Write(Haystack2)
file.Close()
Ссылка обложки типа такой:
https://i.postimg.cc/4xsTLVX/ABLD002.png
https://i.postimg.cc/4xsTLVX/ABLD002-B.png
|
|
-Kotix-
Стаж: 15 лет 8 месяцев Сообщений: 2490
|
-Kotix- ·
18-Авг-24 20:52
(спустя 6 часов)
Большое спасибо, это решение очень помогло
|
|
Vivianus
Стаж: 14 лет 10 месяцев Сообщений: 5741
|
Vivianus ·
05-Ноя-24 16:47
(спустя 2 месяца 17 дней, ред. 05-Ноя-24 16:47)
У меня mp3tag не сохраняет теги OPUS в контейнере .opus (ogg) с amazon https://music.amazon.com/albums/B07HWPBV5D
В Media Info написано:
Writing library: Lavf58.76.100
Для себя нашел способ в MKVTools помещать opus в контейнер .mka, но для раздач он не подойдет
|
|
userseed
Стаж: 9 лет 2 месяца Сообщений: 4163
|
userseed ·
05-Ноя-24 17:44
(спустя 56 мин., ред. 05-Ноя-24 17:44)
Vivianus, всё сохранил, v3.27a.
Но формат формат/контейнер странный какой-то, у меня комп намертво завис, ребут понадобился Августоваская W10.
|
|
Vivianus
Стаж: 14 лет 10 месяцев Сообщений: 5741
|
Vivianus ·
05-Ноя-24 18:07
(спустя 22 мин., ред. 05-Ноя-24 18:07)
userseed
У меня никак не сохраняет та же версия mp3tag, x64 https://dropmefiles.com/5Vc3k
При нажатии сохранить теги обнуляются
настройки mp3tag такие:
|
|
userseed
Стаж: 9 лет 2 месяца Сообщений: 4163
|
userseed ·
05-Ноя-24 18:30
(спустя 23 мин., ред. 05-Ноя-24 18:30)
Vivianus, не, давай, сам. В топку это говно, опять сломал Проводник мне. Решений куча, но проще забить на этот формат.
А вообще, сохраняет, куда-то Причем работает интересно, лучше вбить нужные теги и сохранить за раз. Потому как если после изменишь один тег, то сбросятся все остальные. У меня Фубар отображает теги.
Да, поиграйся с этими настройками, у меня по дефолту всё.
|
|
Vivianus
Стаж: 14 лет 10 месяцев Сообщений: 5741
|
Vivianus ·
05-Ноя-24 21:22
(спустя 2 часа 51 мин., ред. 05-Ноя-24 21:22)
эти настройки не влияют, portable версия mp3tag тоже не редактирует, какойто бред, если ввести число в тег tracktotal то сбрасывается, но в фубаре это число в теге появляется. дальше если в фубаре добавить обложку она сохраняется, но если потом сохранить чтото в mp3tag то обложка удаляется (при всем этом меняется вес файла). Но если добавить обложку в mp3tag то там же все сбрасывается и обложка не видна, но видна в фубаре. opus идиотский контейнер. aimp и foobar2000 родные и свои теги читают, но если сохранить чтото в mp3tag то теги удаляются.
|
|
FoxSD
Стаж: 16 лет 7 месяцев Сообщений: 7543
|
FoxSD ·
06-Ноя-24 17:15
(спустя 19 часов)
Vivianus
mp3tag у вашего файла не то что теги но и длительнорсть звучания не видит. Вероятно с этого и надо начать - найти рабочий для mp3tag файл opus
|
|
Vivianus
Стаж: 14 лет 10 месяцев Сообщений: 5741
|
Vivianus ·
06-Ноя-24 18:35
(спустя 1 час 19 мин.)
FoxSD
Tag&Rename и TagScanner видят opus и теги
mp3tag Pro и mp3TagEditor opus не видят. В окно TagScanner можно "побросать" треки, буду использовать его.
|
|
tamurimantas
Стаж: 17 лет 5 месяцев Сообщений: 575
|
tamurimantas ·
06-Ноя-24 21:12
(спустя 2 часа 36 мин., ред. 06-Ноя-24 21:12)
Ваш файл .opus - кривоватый
скрытый текст
opusinfo.exe "01. Tecnomind - Musa (Original Mix).opus"
Код:
New logical stream (#1, serial: 7065ad3f): type opus
Encoded with Lavf58.76.100
User comments section follows...
CATALOGID=1
WARNING: Samples with negative granpos in stream 1
WARNING: Sample count ahead of granule (529920>529608) in stream 1
WARNING: Sample count ahead of granule (577920>577608) in stream 1
WARNING: Sample count ahead of granule (625920>625608) in stream 1
WARNING: Sample count ahead of granule (673920>673608) in stream 1
WARNING: Sample count ahead of granule (721920>721608) in stream 1
WARNING: Sample count ahead of granule (769920>769608) in stream 1
WARNING: Sample count ahead of granule (817920>817608) in stream 1
WARNING: Sample count ahead of granule (865920>865608) in stream 1
WARNING: Sample count ahead of granule (913920>913608) in stream 1
WARNING: Sample count ahead of granule (961920>961608) in stream 1
WARNING: Sample count ahead of granule (1009920>1009608) in stream 1
WARNING: Sample count ahead of granule (1057920>1057608) in stream 1
WARNING: Sample count ahead of granule (1105920>1105608) in stream 1
WARNING: Sample count ahead of granule (1153920>1153608) in stream 1
WARNING: Sample count ahead of granule (1201920>1201608) in stream 1
WARNING: Sample count ahead of granule (1249920>1249608) in stream 1
WARNING: Sample count ahead of granule (1297920>1297608) in stream 1
WARNING: Sample count ahead of granule (1345920>1345608) in stream 1
WARNING: Sample count ahead of granule (1393920>1393608) in stream 1
WARNING: Sample count ahead of granule (1441920>1441608) in stream 1
WARNING: Sample count ahead of granule (1489920>1489608) in stream 1
WARNING: Sample count ahead of granule (1537920>1537608) in stream 1
WARNING: Sample count ahead of granule (1585920>1585608) in stream 1
WARNING: Sample count ahead of granule (1633920>1633608) in stream 1
WARNING: Sample count ahead of granule (1681920>1681608) in stream 1
WARNING: Sample count ahead of granule (1729920>1729608) in stream 1
WARNING: Sample count ahead of granule (1777920>1777608) in stream 1
WARNING: Sample count ahead of granule (1825920>1825608) in stream 1
WARNING: Sample count ahead of granule (1873920>1873608) in stream 1
WARNING: Sample count ahead of granule (1921920>1921608) in stream 1
WARNING: Sample count ahead of granule (1969920>1969608) in stream 1
WARNING: Sample count ahead of granule (2017920>2017608) in stream 1
WARNING: Sample count ahead of granule (2065920>2065608) in stream 1
WARNING: Sample count ahead of granule (2113920>2113608) in stream 1
WARNING: Sample count ahead of granule (2161920>2161608) in stream 1
WARNING: Sample count ahead of granule (2209920>2209608) in stream 1
WARNING: Sample count ahead of granule (2257920>2257608) in stream 1
WARNING: Sample count ahead of granule (2305920>2305608) in stream 1
WARNING: Sample count ahead of granule (2353920>2353608) in stream 1
WARNING: Sample count ahead of granule (2401920>2401608) in stream 1
WARNING: Sample count ahead of granule (2449920>2449608) in stream 1
WARNING: Sample count ahead of granule (2497920>2497608) in stream 1
WARNING: Sample count ahead of granule (2545920>2545608) in stream 1
WARNING: Sample count ahead of granule (2593920>2593608) in stream 1
WARNING: Sample count ahead of granule (2641920>2641608) in stream 1
WARNING: Sample count ahead of granule (2689920>2689608) in stream 1
WARNING: Sample count ahead of granule (2737920>2737608) in stream 1
WARNING: Sample count ahead of granule (2785920>2785608) in stream 1
WARNING: Sample count ahead of granule (2833920>2833608) in stream 1
WARNING: Sample count ahead of granule (2881920>2881608) in stream 1
WARNING: Sample count ahead of granule (2929920>2929608) in stream 1
WARNING: Sample count ahead of granule (2977920>2977608) in stream 1
WARNING: Sample count ahead of granule (3025920>3025608) in stream 1
WARNING: Sample count ahead of granule (3073920>3073608) in stream 1
WARNING: Sample count ahead of granule (3121920>3121608) in stream 1
WARNING: Sample count ahead of granule (3169920>3169608) in stream 1
WARNING: Sample count ahead of granule (3217920>3217608) in stream 1
WARNING: Sample count ahead of granule (3265920>3265608) in stream 1
WARNING: Sample count ahead of granule (3313920>3313608) in stream 1
WARNING: Sample count ahead of granule (3361920>3361608) in stream 1
WARNING: Sample count ahead of granule (3409920>3409608) in stream 1
WARNING: Sample count ahead of granule (3457920>3457608) in stream 1
WARNING: Sample count ahead of granule (3505920>3505608) in stream 1
WARNING: Sample count ahead of granule (3553920>3553608) in stream 1
WARNING: Sample count ahead of granule (3601920>3601608) in stream 1
WARNING: Sample count ahead of granule (3649920>3649608) in stream 1
WARNING: Sample count ahead of granule (3697920>3697608) in stream 1
WARNING: Sample count ahead of granule (3745920>3745608) in stream 1
WARNING: Sample count ahead of granule (3793920>3793608) in stream 1
WARNING: Sample count ahead of granule (3841920>3841608) in stream 1
WARNING: Sample count ahead of granule (3889920>3889608) in stream 1
WARNING: Sample count ahead of granule (3937920>3937608) in stream 1
WARNING: Sample count ahead of granule (3985920>3985608) in stream 1
WARNING: Sample count ahead of granule (4033920>4033608) in stream 1
WARNING: Sample count ahead of granule (4081920>4081608) in stream 1
WARNING: Sample count ahead of granule (4129920>4129608) in stream 1
WARNING: Sample count ahead of granule (4177920>4177608) in stream 1
WARNING: Sample count ahead of granule (4225920>4225608) in stream 1
WARNING: Sample count ahead of granule (4273920>4273608) in stream 1
WARNING: Sample count ahead of granule (4321920>4321608) in stream 1
WARNING: Sample count ahead of granule (4369920>4369608) in stream 1
WARNING: Sample count ahead of granule (4417920>4417608) in stream 1
WARNING: Sample count ahead of granule (4465920>4465608) in stream 1
WARNING: Sample count ahead of granule (4513920>4513608) in stream 1
WARNING: Sample count ahead of granule (4561920>4561608) in stream 1
WARNING: Sample count ahead of granule (4609920>4609608) in stream 1
WARNING: Sample count ahead of granule (4657920>4657608) in stream 1
WARNING: Sample count ahead of granule (4705920>4705608) in stream 1
WARNING: Sample count ahead of granule (4753920>4753608) in stream 1
WARNING: Sample count ahead of granule (4801920>4801608) in stream 1
WARNING: Sample count ahead of granule (4849920>4849608) in stream 1
WARNING: Sample count ahead of granule (4897920>4897608) in stream 1
WARNING: Sample count ahead of granule (4945920>4945608) in stream 1
WARNING: Sample count ahead of granule (4993920>4993608) in stream 1
WARNING: Sample count ahead of granule (5041920>5041608) in stream 1
WARNING: Sample count ahead of granule (5089920>5089608) in stream 1
WARNING: Sample count ahead of granule (5137920>5137608) in stream 1
WARNING: Sample count ahead of granule (5185920>5185608) in stream 1
WARNING: Sample count ahead of granule (5233920>5233608) in stream 1
WARNING: Sample count ahead of granule (5281920>5281608) in stream 1
WARNING: Sample count ahead of granule (5329920>5329608) in stream 1
WARNING: Sample count ahead of granule (5377920>5377608) in stream 1
WARNING: Sample count ahead of granule (5425920>5425608) in stream 1
WARNING: Sample count ahead of granule (5473920>5473608) in stream 1
WARNING: Sample count ahead of granule (5521920>5521608) in stream 1
WARNING: Sample count ahead of granule (5569920>5569608) in stream 1
WARNING: Sample count ahead of granule (5617920>5617608) in stream 1
WARNING: Sample count ahead of granule (5665920>5665608) in stream 1
WARNING: Sample count ahead of granule (5713920>5713608) in stream 1
WARNING: Sample count ahead of granule (5761920>5761608) in stream 1
WARNING: Sample count ahead of granule (5809920>5809608) in stream 1
WARNING: Sample count ahead of granule (5857920>5857608) in stream 1
WARNING: Sample count ahead of granule (5905920>5905608) in stream 1
WARNING: Sample count ahead of granule (5953920>5953608) in stream 1
WARNING: Sample count ahead of granule (6001920>6001608) in stream 1
WARNING: Sample count ahead of granule (6049920>6049608) in stream 1
WARNING: Sample count ahead of granule (6097920>6097608) in stream 1
WARNING: Sample count ahead of granule (6145920>6145608) in stream 1
WARNING: Sample count ahead of granule (6193920>6193608) in stream 1
WARNING: Sample count ahead of granule (6241920>6241608) in stream 1
WARNING: Sample count ahead of granule (6289920>6289608) in stream 1
WARNING: Sample count ahead of granule (6337920>6337608) in stream 1
WARNING: Sample count ahead of granule (6385920>6385608) in stream 1
WARNING: Sample count ahead of granule (6433920>6433608) in stream 1
WARNING: Sample count ahead of granule (6481920>6481608) in stream 1
WARNING: Sample count ahead of granule (6529920>6529608) in stream 1
WARNING: Sample count ahead of granule (6577920>6577608) in stream 1
WARNING: Sample count ahead of granule (6625920>6625608) in stream 1
WARNING: Sample count ahead of granule (6673920>6673608) in stream 1
WARNING: Sample count ahead of granule (6721920>6721608) in stream 1
WARNING: Sample count ahead of granule (6769920>6769608) in stream 1
WARNING: Sample count ahead of granule (6817920>6817608) in stream 1
WARNING: Sample count ahead of granule (6865920>6865608) in stream 1
WARNING: Sample count ahead of granule (6913920>6913608) in stream 1
WARNING: Sample count ahead of granule (6961920>6961608) in stream 1
WARNING: Sample count ahead of granule (7009920>7009608) in stream 1
WARNING: Sample count ahead of granule (7057920>7057608) in stream 1
WARNING: Sample count ahead of granule (7105920>7105608) in stream 1
WARNING: Sample count ahead of granule (7153920>7153608) in stream 1
WARNING: Sample count ahead of granule (7201920>7201608) in stream 1
WARNING: Sample count ahead of granule (7249920>7249608) in stream 1
WARNING: Sample count ahead of granule (7297920>7297608) in stream 1
WARNING: Sample count ahead of granule (7345920>7345608) in stream 1
WARNING: Sample count ahead of granule (7393920>7393608) in stream 1
WARNING: Sample count ahead of granule (7441920>7441608) in stream 1
WARNING: Sample count ahead of granule (7489920>7489608) in stream 1
WARNING: Sample count ahead of granule (7537920>7537608) in stream 1
WARNING: Sample count ahead of granule (7585920>7585608) in stream 1
WARNING: Sample count ahead of granule (7633920>7633608) in stream 1
WARNING: Sample count ahead of granule (7681920>7681608) in stream 1
WARNING: Sample count ahead of granule (7729920>7729608) in stream 1
WARNING: Sample count ahead of granule (7777920>7777608) in stream 1
WARNING: Sample count ahead of granule (7825920>7825608) in stream 1
WARNING: Sample count ahead of granule (7873920>7873608) in stream 1
WARNING: Sample count ahead of granule (7921920>7921608) in stream 1
WARNING: Sample count ahead of granule (7969920>7969608) in stream 1
WARNING: Sample count ahead of granule (8017920>8017608) in stream 1
WARNING: Sample count ahead of granule (8065920>8065608) in stream 1
WARNING: Sample count ahead of granule (8113920>8113608) in stream 1
WARNING: Sample count ahead of granule (8161920>8161608) in stream 1
WARNING: Sample count ahead of granule (8209920>8209608) in stream 1
WARNING: Sample count ahead of granule (8257920>8257608) in stream 1
WARNING: Sample count ahead of granule (8305920>8305608) in stream 1
WARNING: Sample count ahead of granule (8353920>8353608) in stream 1
WARNING: Sample count ahead of granule (8401920>8401608) in stream 1
WARNING: Sample count ahead of granule (8449920>8449608) in stream 1
WARNING: Sample count ahead of granule (8497920>8497608) in stream 1
WARNING: Sample count ahead of granule (8545920>8545608) in stream 1
WARNING: Sample count ahead of granule (8593920>8593608) in stream 1
WARNING: Sample count ahead of granule (8641920>8641608) in stream 1
WARNING: Sample count ahead of granule (8689920>8689608) in stream 1
WARNING: Sample count ahead of granule (8737920>8737608) in stream 1
WARNING: Sample count ahead of granule (8785920>8785608) in stream 1
WARNING: Sample count ahead of granule (8833920>8833608) in stream 1
WARNING: Sample count ahead of granule (8881920>8881608) in stream 1
WARNING: Sample count ahead of granule (8929920>8929608) in stream 1
WARNING: Sample count ahead of granule (8977920>8977608) in stream 1
WARNING: Sample count ahead of granule (9025920>9025608) in stream 1
WARNING: Sample count ahead of granule (9073920>9073608) in stream 1
WARNING: Sample count ahead of granule (9121920>9121608) in stream 1
WARNING: Sample count ahead of granule (9169920>9169608) in stream 1
WARNING: Sample count ahead of granule (9217920>9217608) in stream 1
WARNING: Sample count ahead of granule (9265920>9265608) in stream 1
WARNING: Sample count ahead of granule (9313920>9313608) in stream 1
WARNING: Sample count ahead of granule (9361920>9361608) in stream 1
WARNING: Sample count ahead of granule (9409920>9409608) in stream 1
WARNING: Sample count ahead of granule (9457920>9457608) in stream 1
WARNING: Sample count ahead of granule (9505920>9505608) in stream 1
WARNING: Sample count ahead of granule (9553920>9553608) in stream 1
WARNING: Sample count ahead of granule (9601920>9601608) in stream 1
WARNING: Sample count ahead of granule (9649920>9649608) in stream 1
WARNING: Sample count ahead of granule (9697920>9697608) in stream 1
WARNING: Sample count ahead of granule (9745920>9745608) in stream 1
WARNING: Sample count ahead of granule (9793920>9793608) in stream 1
WARNING: Sample count ahead of granule (9841920>9841608) in stream 1
WARNING: Sample count ahead of granule (9889920>9889608) in stream 1
WARNING: Sample count ahead of granule (9937920>9937608) in stream 1
WARNING: Sample count ahead of granule (9985920>9985608) in stream 1
WARNING: Sample count ahead of granule (10033920>10033608) in stream 1
WARNING: Sample count ahead of granule (10081920>10081608) in stream 1
WARNING: Sample count ahead of granule (10129920>10129608) in stream 1
WARNING: Sample count ahead of granule (10177920>10177608) in stream 1
WARNING: Sample count ahead of granule (10225920>10225608) in stream 1
WARNING: Sample count ahead of granule (10273920>10273608) in stream 1
WARNING: Sample count ahead of granule (10321920>10321608) in stream 1
WARNING: Sample count ahead of granule (10369920>10369608) in stream 1
WARNING: Sample count ahead of granule (10417920>10417608) in stream 1
WARNING: Sample count ahead of granule (10465920>10465608) in stream 1
WARNING: Sample count ahead of granule (10513920>10513608) in stream 1
WARNING: Sample count ahead of granule (10561920>10561608) in stream 1
WARNING: Sample count ahead of granule (10609920>10609608) in stream 1
WARNING: Sample count ahead of granule (10657920>10657608) in stream 1
WARNING: Sample count ahead of granule (10705920>10705608) in stream 1
WARNING: Sample count ahead of granule (10753920>10753608) in stream 1
WARNING: Sample count ahead of granule (10801920>10801608) in stream 1
WARNING: Sample count ahead of granule (10849920>10849608) in stream 1
WARNING: Sample count ahead of granule (10897920>10897608) in stream 1
WARNING: Sample count ahead of granule (10945920>10945608) in stream 1
WARNING: Sample count ahead of granule (10993920>10993608) in stream 1
WARNING: Sample count ahead of granule (11041920>11041608) in stream 1
WARNING: Sample count ahead of granule (11089920>11089608) in stream 1
WARNING: Sample count ahead of granule (11137920>11137608) in stream 1
WARNING: Sample count ahead of granule (11185920>11185608) in stream 1
WARNING: Sample count ahead of granule (11233920>11233608) in stream 1
WARNING: Sample count ahead of granule (11281920>11281608) in stream 1
WARNING: Sample count ahead of granule (11329920>11329608) in stream 1
WARNING: Sample count ahead of granule (11377920>11377608) in stream 1
WARNING: Sample count ahead of granule (11425920>11425608) in stream 1
WARNING: Sample count ahead of granule (11473920>11473608) in stream 1
WARNING: Sample count ahead of granule (11521920>11521608) in stream 1
WARNING: Sample count ahead of granule (11569920>11569608) in stream 1
WARNING: Sample count ahead of granule (11617920>11617608) in stream 1
WARNING: Sample count ahead of granule (11665920>11665608) in stream 1
WARNING: Sample count ahead of granule (11713920>11713608) in stream 1
WARNING: Sample count ahead of granule (11761920>11761608) in stream 1
WARNING: Sample count ahead of granule (11809920>11809608) in stream 1
WARNING: Sample count ahead of granule (11857920>11857608) in stream 1
WARNING: Sample count ahead of granule (11905920>11905608) in stream 1
WARNING: Sample count ahead of granule (11953920>11953608) in stream 1
WARNING: Sample count ahead of granule (12001920>12001608) in stream 1
WARNING: Sample count ahead of granule (12049920>12049608) in stream 1
WARNING: Sample count ahead of granule (12097920>12097608) in stream 1
WARNING: Sample count ahead of granule (12145920>12145608) in stream 1
WARNING: Sample count ahead of granule (12193920>12193608) in stream 1
WARNING: Sample count ahead of granule (12241920>12241608) in stream 1
WARNING: Sample count ahead of granule (12289920>12289608) in stream 1
WARNING: Sample count ahead of granule (12337920>12337608) in stream 1
WARNING: Sample count ahead of granule (12385920>12385608) in stream 1
WARNING: Sample count ahead of granule (12433920>12433608) in stream 1
WARNING: Sample count ahead of granule (12481920>12481608) in stream 1
WARNING: Sample count ahead of granule (12529920>12529608) in stream 1
WARNING: Sample count ahead of granule (12577920>12577608) in stream 1
WARNING: Sample count ahead of granule (12625920>12625608) in stream 1
WARNING: Sample count ahead of granule (12673920>12673608) in stream 1
WARNING: Sample count ahead of granule (12721920>12721608) in stream 1
WARNING: Sample count ahead of granule (12769920>12769608) in stream 1
WARNING: Sample count ahead of granule (12817920>12817608) in stream 1
WARNING: Sample count ahead of granule (12865920>12865608) in stream 1
WARNING: Sample count ahead of granule (12913920>12913608) in stream 1
WARNING: Sample count ahead of granule (12961920>12961608) in stream 1
WARNING: Sample count ahead of granule (13009920>13009608) in stream 1
WARNING: Sample count ahead of granule (13057920>13057608) in stream 1
WARNING: Sample count ahead of granule (13105920>13105608) in stream 1
WARNING: Sample count ahead of granule (13153920>13153608) in stream 1
WARNING: Sample count ahead of granule (13201920>13201608) in stream 1
WARNING: Sample count ahead of granule (13249920>13249608) in stream 1
WARNING: Sample count ahead of granule (13297920>13297608) in stream 1
WARNING: Sample count ahead of granule (13345920>13345608) in stream 1
WARNING: Sample count ahead of granule (13393920>13393608) in stream 1
WARNING: Sample count ahead of granule (13441920>13441608) in stream 1
WARNING: Sample count ahead of granule (13489920>13489608) in stream 1
WARNING: Sample count ahead of granule (13537920>13537608) in stream 1
WARNING: Sample count ahead of granule (13585920>13585608) in stream 1
WARNING: Sample count ahead of granule (13633920>13633608) in stream 1
WARNING: Sample count ahead of granule (13681920>13681608) in stream 1
WARNING: Sample count ahead of granule (13729920>13729608) in stream 1
WARNING: Sample count ahead of granule (13777920>13777608) in stream 1
WARNING: Sample count ahead of granule (13825920>13825608) in stream 1
WARNING: Sample count ahead of granule (13873920>13873608) in stream 1
WARNING: Sample count ahead of granule (13921920>13921608) in stream 1
WARNING: Sample count ahead of granule (13969920>13969608) in stream 1
WARNING: Sample count ahead of granule (14017920>14017608) in stream 1
WARNING: Sample count ahead of granule (14065920>14065608) in stream 1
WARNING: Sample count ahead of granule (14113920>14113608) in stream 1
WARNING: Sample count ahead of granule (14161920>14161608) in stream 1
WARNING: Sample count ahead of granule (14209920>14209608) in stream 1
WARNING: Sample count ahead of granule (14257920>14257608) in stream 1
WARNING: Sample count ahead of granule (14305920>14305608) in stream 1
WARNING: Sample count ahead of granule (14353920>14353608) in stream 1
WARNING: Sample count ahead of granule (14401920>14401608) in stream 1
WARNING: Sample count ahead of granule (14449920>14449608) in stream 1
WARNING: Sample count ahead of granule (14497920>14497608) in stream 1
WARNING: Sample count ahead of granule (14545920>14545608) in stream 1
WARNING: Sample count ahead of granule (14593920>14593608) in stream 1
WARNING: Sample count ahead of granule (14641920>14641608) in stream 1
WARNING: Sample count ahead of granule (14689920>14689608) in stream 1
WARNING: Sample count ahead of granule (14737920>14737608) in stream 1
WARNING: Sample count ahead of granule (14785920>14785608) in stream 1
WARNING: Sample count ahead of granule (14833920>14833608) in stream 1
WARNING: Sample count ahead of granule (14881920>14881608) in stream 1
WARNING: Sample count ahead of granule (14929920>14929608) in stream 1
WARNING: Sample count ahead of granule (14977920>14977608) in stream 1
WARNING: Sample count ahead of granule (15025920>15025608) in stream 1
WARNING: Sample count ahead of granule (15073920>15073608) in stream 1
WARNING: Sample count ahead of granule (15121920>15121608) in stream 1
WARNING: Sample count ahead of granule (15169920>15169608) in stream 1
WARNING: Sample count ahead of granule (15217920>15217608) in stream 1
WARNING: Sample count ahead of granule (15265920>15265608) in stream 1
WARNING: Sample count ahead of granule (15313920>15313608) in stream 1
WARNING: Sample count ahead of granule (15361920>15361608) in stream 1
WARNING: Sample count ahead of granule (15409920>15409608) in stream 1
WARNING: Sample count ahead of granule (15457920>15457608) in stream 1
WARNING: Sample count ahead of granule (15505920>15505608) in stream 1
WARNING: Sample count ahead of granule (15553920>15553608) in stream 1
WARNING: Sample count ahead of granule (15601920>15601608) in stream 1
WARNING: Sample count ahead of granule (15649920>15649608) in stream 1
WARNING: Sample count ahead of granule (15697920>15697608) in stream 1
WARNING: Sample count ahead of granule (15745920>15745608) in stream 1
WARNING: Sample count ahead of granule (15793920>15793608) in stream 1
WARNING: Sample count ahead of granule (15841920>15841608) in stream 1
WARNING: Sample count ahead of granule (15889920>15889608) in stream 1
WARNING: Sample count ahead of granule (15937920>15937608) in stream 1
WARNING: Sample count ahead of granule (15985920>15985608) in stream 1
WARNING: Sample count ahead of granule (16033920>16033608) in stream 1
WARNING: Sample count ahead of granule (16081920>16081608) in stream 1
WARNING: Sample count ahead of granule (16129920>16129608) in stream 1
WARNING: Sample count ahead of granule (16177920>16177608) in stream 1
WARNING: Sample count ahead of granule (16225920>16225608) in stream 1
WARNING: Sample count ahead of granule (16273920>16273608) in stream 1
WARNING: Sample count ahead of granule (16321920>16321608) in stream 1
WARNING: Sample count ahead of granule (16369920>16369608) in stream 1
WARNING: Sample count ahead of granule (16417920>16417608) in stream 1
WARNING: Sample count ahead of granule (16465920>16465608) in stream 1
WARNING: Sample count ahead of granule (16513920>16513608) in stream 1
WARNING: Sample count ahead of granule (16561920>16561608) in stream 1
WARNING: Sample count ahead of granule (16609920>16609608) in stream 1
WARNING: Sample count ahead of granule (16657920>16657608) in stream 1
WARNING: Sample count ahead of granule (16705920>16705608) in stream 1
WARNING: Sample count ahead of granule (16753920>16753608) in stream 1
WARNING: Sample count ahead of granule (16801920>16801608) in stream 1
WARNING: Sample count ahead of granule (16849920>16849608) in stream 1
WARNING: Sample count ahead of granule (16897920>16897608) in stream 1
WARNING: Sample count ahead of granule (16945920>16945608) in stream 1
WARNING: Sample count ahead of granule (16993920>16993608) in stream 1
WARNING: Sample count ahead of granule (17041920>17041608) in stream 1
WARNING: Sample count ahead of granule (17089920>17089608) in stream 1
WARNING: Sample count ahead of granule (17137920>17137608) in stream 1
WARNING: Sample count ahead of granule (17185920>17185608) in stream 1
WARNING: Sample count ahead of granule (17233920>17233608) in stream 1
WARNING: Sample count ahead of granule (17281920>17281608) in stream 1
WARNING: Sample count ahead of granule (17329920>17329608) in stream 1
WARNING: Sample count ahead of granule (17377920>17377608) in stream 1
WARNING: Sample count ahead of granule (17425920>17425608) in stream 1
WARNING: Sample count ahead of granule (17473920>17473608) in stream 1
WARNING: Sample count ahead of granule (17521920>17521608) in stream 1
WARNING: Sample count ahead of granule (17569920>17569608) in stream 1
WARNING: Sample count ahead of granule (17617920>17617608) in stream 1
WARNING: Sample count ahead of granule (17665920>17665608) in stream 1
WARNING: Sample count ahead of granule (17713920>17713608) in stream 1
WARNING: Sample count ahead of granule (17761920>17761608) in stream 1
WARNING: Sample count ahead of granule (17809920>17809608) in stream 1
WARNING: Sample count ahead of granule (17857920>17857608) in stream 1
WARNING: Sample count ahead of granule (17905920>17905608) in stream 1
WARNING: Sample count ahead of granule (17953920>17953608) in stream 1
WARNING: Sample count ahead of granule (18001920>18001608) in stream 1
WARNING: Sample count ahead of granule (18049920>18049608) in stream 1
WARNING: Sample count ahead of granule (18097920>18097608) in stream 1
WARNING: Sample count ahead of granule (18145920>18145608) in stream 1
WARNING: Sample count ahead of granule (18193920>18193608) in stream 1
WARNING: Sample count ahead of granule (18241920>18241608) in stream 1
WARNING: Sample count ahead of granule (18289920>18289608) in stream 1
WARNING: Sample count ahead of granule (18337920>18337608) in stream 1
WARNING: Sample count ahead of granule (18385920>18385608) in stream 1
WARNING: Sample count ahead of granule (18433920>18433608) in stream 1
WARNING: Sample count ahead of granule (18481920>18481608) in stream 1
WARNING: Sample count ahead of granule (18529920>18529608) in stream 1
WARNING: Sample count ahead of granule (18577920>18577608) in stream 1
WARNING: Sample count ahead of granule (18625920>18625608) in stream 1
WARNING: Sample count ahead of granule (18673920>18673608) in stream 1
WARNING: Sample count ahead of granule (18721920>18721608) in stream 1
WARNING: Sample count ahead of granule (18769920>18769608) in stream 1
WARNING: Sample count ahead of granule (18817920>18817608) in stream 1
WARNING: Sample count ahead of granule (18865920>18865608) in stream 1
WARNING: Sample count ahead of granule (18913920>18913608) in stream 1
WARNING: Sample count ahead of granule (18961920>18961608) in stream 1
WARNING: Sample count ahead of granule (19009920>19009608) in stream 1
WARNING: Sample count ahead of granule (19057920>19057608) in stream 1
WARNING: Sample count ahead of granule (19105920>19105608) in stream 1
WARNING: Sample count ahead of granule (19153920>19153608) in stream 1
WARNING: Sample count ahead of granule (19201920>19201608) in stream 1
WARNING: Sample count ahead of granule (19249920>19249608) in stream 1
WARNING: Sample count ahead of granule (19297920>19297608) in stream 1
WARNING: Sample count ahead of granule (19345920>19345608) in stream 1
WARNING: Sample count ahead of granule (19393920>19393608) in stream 1
WARNING: Sample count ahead of granule (19441920>19441608) in stream 1
WARNING: Sample count ahead of granule (19489920>19489608) in stream 1
WARNING: Sample count ahead of granule (19537920>19537608) in stream 1
WARNING: Sample count ahead of granule (19585920>19585608) in stream 1
WARNING: Sample count ahead of granule (19633920>19633608) in stream 1
WARNING: Sample count ahead of granule (19681920>19681608) in stream 1
WARNING: Sample count ahead of granule (19729920>19729608) in stream 1
WARNING: Sample count ahead of granule (19777920>19777608) in stream 1
WARNING: Sample count ahead of granule (19825920>19825608) in stream 1
WARNING: Sample count ahead of granule (19873920>19873608) in stream 1
WARNING: Sample count ahead of granule (19921920>19921608) in stream 1
WARNING: Sample count ahead of granule (19969920>19969608) in stream 1
WARNING: Sample count ahead of granule (20017920>20017608) in stream 1
WARNING: Sample count ahead of granule (20065920>20065608) in stream 1
WARNING: Sample count ahead of granule (20113920>20113608) in stream 1
WARNING: Sample count ahead of granule (20161920>20161608) in stream 1
WARNING: Sample count ahead of granule (20209920>20209608) in stream 1
WARNING: Sample count ahead of granule (20257920>20257608) in stream 1
WARNING: Sample count ahead of granule (20305920>20305608) in stream 1
WARNING: Sample count ahead of granule (20353920>20353608) in stream 1
WARNING: Sample count ahead of granule (20401920>20401608) in stream 1
WARNING: Sample count ahead of granule (20449920>20449608) in stream 1
WARNING: Sample count ahead of granule (20497920>20497608) in stream 1
WARNING: Sample count ahead of granule (20545920>20545608) in stream 1
WARNING: Sample count ahead of granule (20593920>20593608) in stream 1
WARNING: Sample count ahead of granule (20641920>20641608) in stream 1
WARNING: Sample count ahead of granule (20689920>20689608) in stream 1
WARNING: Sample count ahead of granule (20737920>20737608) in stream 1
WARNING: Sample count ahead of granule (20785920>20785608) in stream 1
WARNING: Sample count ahead of granule (20833920>20833608) in stream 1
WARNING: Sample count ahead of granule (20881920>20881608) in stream 1
WARNING: Sample count ahead of granule (20929920>20929608) in stream 1
WARNING: Sample count ahead of granule (20977920>20977608) in stream 1
WARNING: Sample count ahead of granule (21025920>21025608) in stream 1
WARNING: Sample count ahead of granule (21073920>21073608) in stream 1
WARNING: Sample count ahead of granule (21121920>21121608) in stream 1
WARNING: Sample count ahead of granule (21169920>21169608) in stream 1
WARNING: Sample count ahead of granule (21217920>21217608) in stream 1
WARNING: Sample count ahead of granule (21265920>21265608) in stream 1
WARNING: Sample count ahead of granule (21313920>21313608) in stream 1
WARNING: Sample count ahead of granule (21361920>21361608) in stream 1
WARNING: Sample count ahead of granule (21409920>21409608) in stream 1
WARNING: Sample count ahead of granule (21457920>21457608) in stream 1
WARNING: Sample count ahead of granule (21505920>21505608) in stream 1
WARNING: Sample count ahead of granule (21553920>21553608) in stream 1
WARNING: Sample count ahead of granule (21601920>21601608) in stream 1
WARNING: Sample count ahead of granule (21649920>21649608) in stream 1
WARNING: Sample count ahead of granule (21697920>21697608) in stream 1
WARNING: Sample count ahead of granule (21745920>21745608) in stream 1
WARNING: Sample count ahead of granule (21793920>21793608) in stream 1
WARNING: Sample count ahead of granule (21841920>21841608) in stream 1
WARNING: Sample count ahead of granule (21889920>21889608) in stream 1
WARNING: Sample count ahead of granule (21937920>21937608) in stream 1
WARNING: Sample count ahead of granule (21985920>21985608) in stream 1
WARNING: Sample count ahead of granule (22033920>22033608) in stream 1
WARNING: Sample count ahead of granule (22081920>22081608) in stream 1
WARNING: Sample count ahead of granule (22129920>22129608) in stream 1
WARNING: Sample count ahead of granule (22177920>22177608) in stream 1
WARNING: Sample count ahead of granule (22225920>22225608) in stream 1
WARNING: Sample count ahead of granule (22273920>22273608) in stream 1
WARNING: Sample count ahead of granule (22321920>22321608) in stream 1
WARNING: Sample count ahead of granule (22369920>22369608) in stream 1
WARNING: Sample count ahead of granule (22417920>22417608) in stream 1
WARNING: Sample count ahead of granule (22465920>22465608) in stream 1
WARNING: Sample count ahead of granule (22513920>22513608) in stream 1
WARNING: Sample count ahead of granule (22561920>22561608) in stream 1
WARNING: Sample count ahead of granule (22609920>22609608) in stream 1
WARNING: Sample count ahead of granule (22657920>22657608) in stream 1
WARNING: Sample count ahead of granule (22705920>22705608) in stream 1
WARNING: Sample count ahead of granule (22753920>22753608) in stream 1
WARNING: Sample count ahead of granule (22801920>22801608) in stream 1
Opus stream 1:
Pre-skip: 312
Playback gain: 0 dB
Channels: 2
Original sample rate: 48000 Hz
Packet duration: 20.0ms (max), 20.0ms (avg), 20.0ms (min)
Page duration: 1020.0ms (max), 999.1ms (avg), 520.0ms (min)
Total data length: 19132539 bytes (overhead: 0.576%)
Playback length: 7m:55.546s
Average bitrate: 321.9 kbit/s, w/o overhead: 320 kbit/s (hard-CBR)
Logical stream 1 ended
Однако, если воспользоваться методом, о котором писал ранее, а именно ffmpeg -i "01. Tecnomind - Musa (Original Mix).opus" -codec copy "01. Tecnomind - Musa (Original Mix)_fix.opus"
то становится возможным редактировать его метаданные в программе mp3tag, обсуждаемой в данной теме (хотя, полностью кривизна этого файла этим способом не лечится - файл имеет неполное соответствие стандарту формата opus).
Для кодирования в формат opus наиболее разумным является использование референсных энкодеров (или имеющих референсные компоненты кодирования), а не любые, как бы поддерживающие этот формат.
P.S. Автор mp3tag старается пунктуально следовать спецификациям форматов. Иногда это раздражает, как например, в случае тегов id2v3 (ansi кодировки, отличные от iso8859-1, поддерживаются только в режиме read-only), но чаще эта привычка полезна, поскольку позволяет детектировать файлы с потенциальными проблемами.
|
|
Vivianus
Стаж: 14 лет 10 месяцев Сообщений: 5741
|
Vivianus ·
07-Ноя-24 03:32
(спустя 6 часов)
tamurimantas писал(а):
86949371ffmpeg -i "01. Tecnomind - Musa (Original Mix).opus" -codec copy "01. Tecnomind - Musa (Original Mix)_fix.opus"
Не работает, попробовал разные ffmpeg.exe
|
|
tamurimantas
Стаж: 17 лет 5 месяцев Сообщений: 575
|
tamurimantas ·
07-Ноя-24 04:02
(спустя 30 мин., ред. 07-Ноя-24 04:02)
Vivianus писал(а):
86950443Не работает, попробовал разные ffmpeg.exe
Работает.
Что-то не так делаете. Ищите проблему у себя.
И да, ссылки на опробованные вами версии ffmpeg (ссылки на сами ffmpeg.exe) можете предоставить?
|
|
Vivianus
Стаж: 14 лет 10 месяцев Сообщений: 5741
|
Vivianus ·
07-Ноя-24 04:21
(спустя 18 мин., ред. 07-Ноя-24 04:21)
ffmpeg-git-essentials.7z
https://www.gyan.dev/ffmpeg/builds/
ffmpeg-master-latest-win64-gpl-shared.zip
ffmpeg-master-latest-win64-gpl.zip
https://github.com/BtbN/FFmpeg-Builds/releases
При этом процессе имеющиеся теги удаляются?
|
|
tamurimantas
Стаж: 17 лет 5 месяцев Сообщений: 575
|
tamurimantas ·
07-Ноя-24 04:47
(спустя 25 мин.)
Работает.
Не могу проверить. поскольку на вин7 не запускается.
Vivianus писал(а):
86950489При этом процессе имеющиеся теги удаляются?
Нет.
____________
https://github.com/yt-dlp/FFmpeg-Builds/releases/tag/latest
|
|
Vivianus
Стаж: 14 лет 10 месяцев Сообщений: 5741
|
Vivianus ·
07-Ноя-24 05:09
(спустя 21 мин.)
tamurimantas писал(а):
86950467Что-то не так делаете
Я создлал bat файл, положил в эту же папку с opus его и ffmpeg
|
|
tamurimantas
Стаж: 17 лет 5 месяцев Сообщений: 575
|
tamurimantas ·
07-Ноя-24 05:14
(спустя 5 мин.)
Vivianus
Пробуйте сначала из комстроки, без батников.
|
|
ShouldIJazzItUp
Стаж: 2 года 4 месяца Сообщений: 48
|
ShouldIJazzItUp ·
11-Ноя-24 09:14
(спустя 4 дня)
Vivianus
Файл, который вы пытаетесь полечить внимания не заслуживает, его место в мусорке. Вот что показывает нативный инструмент opus по этому файлу:
скрытый текст
Opus stream 1: Pre-skip: 312 Playback gain: 0 dB Channels: 2 Original sample rate: 48000 Hz Packet duration: 20.0ms (max), 20.0ms (avg), 20.0ms (min) Page duration: 1020.0ms (max), 999.1ms (avg), 520.0ms (min) Total data length: 19130498 bytes (overhead: 0.565%) Playback length: 7m:55.547s Average bitrate: 321.8 kbit/s, w/o overhead: 320 kbit/s (hard-CBR) Logical stream 1 ended
Это надо очень сильно головой удариться, чтобы кодировать OPUS в 320kbit/s да ещё и hard-CBR. У вашего конкретного файла кроме этого ещё и метаданные нечитабельны. Вот начальный выхлоп:
скрытый текст
$ opusinfo 01.\ Tecnomind\ -\ Musa\ \(Original\ Mix\).opus Processing file "01. Tecnomind - Musa (Original Mix).opus"... New logical stream (#1, serial: 7065ad3f): type opus Encoded with Lavf58.76.100 User comments section follows... DATE=2006 TRACKNUMBER=1
И всё.., дальше следуют предупреждения не совсем ясной этимологии. Этот файл даже ffmpeg-а не заслуживает. Opus обычно кодируют на низких битрейтах, он тем и хорош, что сохраняет качество воспроизведения неотличимое от исходника уже на дефолтном битрейте (96kbps). Но использование hard-CBR для этого формата это клиника, предельный уровень шизы.
|
|
Vivianus
Стаж: 14 лет 10 месяцев Сообщений: 5741
|
Vivianus ·
11-Ноя-24 09:18
(спустя 4 мин., ред. 11-Ноя-24 09:18)
ShouldIJazzItUp
Это Amason Music так конвертирует и ломает контейнер, но плееры Aimp и foobar2000 теги читают. Я сам не хочу кодировать ничего, просто хотел поменять контейнер? потом нашел 2 программы, где теги видны и редактируются.
|
|
|