Нужна помощь с тонкой настройкой yt-dlp

Список разделов Другое Программное обеспечение

Описание: Поговорим немного и о других программах и разработках...

Сообщение #1 George Smith » 27.11.2021, 17:39

Здравствуйте!
Скачивал музыку с youtube music с помощью youtube-dl. Для этого я создал на сервисе специальный плейлист, куда скидывал понравившиеся треки, а потом запускал youtube-dl и "скармливал" ему адрес плейлиста. Для работы программы использовал следующий конфиг:
Код: Выделить всё
-i
--ignore-config
--yes-playlist
--playlist-reverse
-o "Varia\%(artist)s\%(album)s\%(track)s.%(ext)s"
-w
--no-mtime
--write-thumbnail
--console-title
-f bestaudio
-x
--add-metadata
--download-archive already_downloaded.arc

Но так как youtube-dl "накрылся", то сейчас пользуюсь yt-dlp. Все работает точно также, но почитав справку к yt-dlp, я понял, что он может делать дополнительные нужные мне штуки.
В частности:
[*]По умолчанию, yt-dlp в поле DATE вставляет дату загрузки трека на сервис. Мне бы хотелось вставить дату релиза. Как я понял, yt-dlp умеет это делать, только я хоть убей не понимаю, как это реализовать.
[*]Обрезка обложки и конвертация ее в jpg. Скачанные обложки с youtube music имеют прямоугольную форму (квадратная обложка + по бокам цветовые вставки). Тоже не могу сообразить, как это делать.
[*]Ну и последнее: встраивание обложки в файл. Т.к. с youtube music я скачиваю самое лучшее качество, то получается, что иногда скачивается aac (m4a), а иногда - opus. Если в m4a встраивать можно через atomicparsley, то для opus уже нужен mutagen. И опять-таки, моих знаний не хватает, чтобы это реализовать.

Заранее спасибо!
George Smith
Автор темы
Репутация: 66
С нами: 8 лет 7 месяцев

Сообщение #2 George Smith » 25.07.2022, 08:11

Все-таки у меня получилось! Итоговый конфиг выглядит так:
Код: Выделить всё
-i
--ignore-config
--yes-playlist
-w
--no-mtime
#--write-thumbnail
--convert-thumbnails png
--console-title
-f (bestaudio[acodec^=opus]/bestaudio)
-x
--embed-metadata
--parse-metadata "%(release_year|)s:%(meta_date)s"
--ppa "ffmpeg: -c:v png -vf crop=\"'if(gt(ih,iw),iw,ih)':'if(gt(iw,ih),ih,iw)'\""
--embed-thumbnail
--download-archive already_downloaded.arc
-o "%(playlist_title)s\%(playlist_index)03d. %(artist)s - %(track)s.%(ext)s"
George Smith
Автор темы
Репутация: 66
С нами: 8 лет 7 месяцев


Вернуться в Программное обеспечение



cron