An open API service indexing awesome lists of open source software.

https://github.com/abakum/drt

drTags is a tagger for DaVinci Resolve
https://github.com/abakum/drt

davinci-resolve ffmpeg metadata taglib wasm

Last synced: about 1 year ago
JSON representation

drTags is a tagger for DaVinci Resolve

Awesome Lists containing this project

README

          

# drTags ─ Tagger для DaVinci Resolve

```
drt file [...fileN] [tag1=val1 [...tagN=valN]]
```
- Где file...fileN это медиафайлы или файлы `.csv` от DaVinci Resolve c `Description` или `Keywords` в которых указаны тэги.
- Если в файле `20220626 Концерт\14.csv` есть таймлайн
`20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2` и клип с `pcm` в
`20220626 Концерт\20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2.mov`
то после запуска
```
drt 14.csv
```
появятся файлы:
```
20220626 Концерт\20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2.mp4
20220626 Концерт\20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2.flac
20220626 Концерт\20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2.mp3
```
или был клип с `flac` в `20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2.mp4`
то после запуска
```
drt 14.csv
```
появятся файлы:
```
20220626 Концерт\20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2.flac
20220626 Концерт\20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2.mp3
```
с тэгами:
```
TitleSort=20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1 2
Date=20220626
Album=20220626 Концерт
TrackNumber=14
Composer=Прокофьев
Title=Соната для фортепиано №2 ре минор
MovementName=1
MovementName=2
Grouping=Фортепиано
Grouping=Соната для фортепиано
InitialKey=Dm
```
- Для знаков при ключе используется английская нотация где cи мажор как B, си-бемоль минор как Bbm, до-диез мажор как C#
- Часть `Title` до `№` попадёт в `Grouping`
- В `Description` или `Keywords` таймлайна для классики можно указать:
- TitleSort=Это будет источником для тэгов вместо имени таймлайна
- Title=Соната для фортепиано №2
- Composer=Сергей Прокофьев
- Artist=Иван Петров
- AlbumArtist=Остальные исполнители кроме солиста например оркестр или концертмейстер
- Conductor=Руководители исполнителей
- Genre=Classical
- InvolvedPeople=Остальные люди например Перевертмейстер и группы причастные к выступлению например `Ростовская Государственная Консерватория`
- Lyricist=Авторы текста и переводчики
- Arranger=Авторы переложения или оранжировки
- Subtitle=Подзаголовок например `Патетическая соната`. Части таймлайна или `TitleSort` в \`обратных апострофах\` или парных «ёлочках» или в (круглых скобках) тоже попадут сюда
- Work=Авторские публикации как `Op.14` или каталоги как `BWV2` и прочие
- Grouping=Группировки по музыкальным формам как `Соната для фортепиано` или по инстументам как `Фортепиано`
- Если тэг один а значений несколько просто повторяй строчки. Так пиши в `Keywords` или `Description`:
```
Artist=Иван Петров
Artist=Пётр Сидоров
```
- Или через `/` в `Description`:
```
MovementName=1 Allegro ma non troppo/2 Scherzo Allegro marcato
```
- Или с новой строки в `Description`:
```
Movement=1 Allegro ma non troppo
2 Scherzo Allegro marcato
```
- Если строка не начинается с тэга то это значение к предыдущему тэгу
- Всё что в таймлайне или в тэге `TitleSort` идёт после слова `часть` запишу в `MovementName` например если укажешь `TitleSort=20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор часть 1 Allegro ma non troppo` то `MovementName=1 Allegro ma non troppo`
- Всё что в таймлайне или в тэге `TitleSort` идёт после слова `части` разделю по пробелам и запишу в `MovementName`. Чтоб в `MovementName` попало только 2 части объедини их `_` например
`TitleSort=20220626 Концерт 14 Прокофьев Соната для фортепиано №2 ре минор части 1_Allegro_ma_non_troppo 2_Scherzo_Allegro_marcato` запишу
```
MovementName=1 Allegro ma non troppo
MovementName=2 Scherzo Allegro marcato
```
- Также можно поступить и с композитором например указав `TitleSort=20220626 Концерт 14 Сергей_Прокофьев Соната для фортепиано №2 ре минор` запишу `Composer=Сергей Прокофьев`
- Если `Comments` таймлайна не пуст запишу в тэг `Comment`.
- Если в командной строке нет тэгов то их можно ввести в консоле.
- Если в консольном вводе первая строка не начинается с тэга то это значение к тэгу `Comment`
- Завершай консольный ввод пустой строкой. Чтоб ввести пустую строку в `Comment` введи `/`
- Чтоб убрать все значение тэга `X` введи `X=`. Чтоб убрать значение всех тэгов введи `=`
- Если в видеофайле например `a.mov` звук:
- в `pcm` и ввести `==` то запишу `a.mp4` со звуком в `alac`, `a.flac`, `a.mp3`
- в `alac` или `flac` и ввести `==` то запишу `a.flac` и `a.mp3`
- иначе запишу `a.mp3`
- Если в аудиофайле например `a.m4a` звук:
- в `pcm` в `alac` или `flac` и ввести `==` то запишу `a.flac` и `a.mp3`
- иначе запишу `a.mp3` если аудиофайл не `a.mp3`
- Если в видеофайле с `mpegts` например `a.ts` ввести `==` то запишу `a.ts.mov`

# Ссылочки

- [Остальные тэги](https://taglib.org/api/p_propertymapping.html)
- [Расширенно про id3](https://id3.org/id3v2.3.0)
- [Страничка drTags](https://github.com/abakum/drt)

# Как получить drTags

- [Установи go](https://go.dev/doc/install)
- Запусти сборку `drt`

```
go install github.com/abakum/drt/cmd/drt@main
```

# Как установить drTags

Запусти `drt` ответь `Y` на предложение `install drTags?`