LINUX.ORG.RU

Выдать инфу из 'mpc -f %comment%' для ссылки на ютуб

 , , , ,


0

2

Здравствуйте, проблема с извлечением тега с mpd+mpc!

При просмотре через MPV(через консоль) видно в разделе «comment» есть ссылка на видео, если оно скачивалось с ютуб с помощью команды:

yt-dlp --add-metadata --parse-metadata "playlist_title:%(album)s" --embed-thumbnail --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --output "/home/user/Music/folder/%(playlist_uploader)s/%(playlist)s/%(title)s.%(ext)s" --yes-playlist 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'

В man mpc пишут - чтобы отображал тег - comment, нужно добавить строку metadata_to_use comment в mpd.conf.

Но после кучи перезагрузок и ресканов/апдейтов дата базы, ничего не меняется. Вывод mpc -f %comment%:

~ $ mpc -f %comment%

[paused]  #2521/4039   0:01/3:49 (0%)
volume: 50%   repeat: off   random: on    single: off   consume: off

Хочу потом одной командой скидывать музыку в телеграм и другие места. Искать файлы по отдельности неудобно из-за огромной дата базы. Спасибо за любую помощь.

Использую MPD с конфигом

# Required files
db_file            "~/.config/mpd/database/mpd.db"
log_file           "~/.config/mpd/log/mpd.log"

# Optional
music_directory    "~/Music"
playlist_directory "~/.config/mpd/playlists"
#pid_file           "~/.config/mpd/pid/mpd.pid"
state_file         "~/.config/mpd/state/mpdstate"
#sticker_file       "~/.config/mpd/sticker.sql"
audio_output {
        type            "pipewire"
        name            "PipeWire Sound Server"
}
#audio_output {  
#      type  "alsa"  
#      name  "mpd alsamixer-output"
#      mixer_type "software"
#}
#
audio_output {  
type               "fifo"  
name               "toggle_visualizer"
path               "/tmp/mpd.fifo"
format             "44100:16:2"
}
bind_to_address		"localhost:127.0.0.1" 
port  "8888"
auto_update "yes"
metadata_to_use	"artist,album,title,track,name,genre,date,composer,performer,disc,comment"



Последнее исправление: LibAccelerator (всего исправлений: 4)

Это выглядит как проблема с конфигурацией MPD. Попробуй добавить строку metadata_to_use «artist,album,title,track,name,genre,date,composer,performer,disc,comment» в MPD (находится в ~/.config/mpd/mpd.conf) и перезапустить MPD. Если не получилось, то проверь след-ее:

  • Комментарий не добавлен в файл метаданных MP3.
  • Файл метаданных MP3 поврежден.
  • Параметр metadata_to_use не установлен в правильное значение.
  • Версия MPD или MPC не совместима с вашей системой.
  • Проблема с конфигурацией MPD или MPC.
  • Проблема с правами доступа к файлам.
versetty777
()
Ответ на: комментарий от Grapow

Коммент с url видео находится в теге в аудиофайле. Как видно на скриншоте.

Также по ссылке в посте тоже скриншот, но уже из MPV. В них обоих видно, что url находится в категории тега в «comment».

Проблема в том, что даже после добавления нужной строчки в mpd.conf(metadata_to_use «artist,album,title,track,name,genre,date,composer,performer,disc,comment»), MPD не видит этот тег. Хотя если убрать всё из строчки и оставить только comment - MPD вообще тегов не будет видеть, даже comment.

LibAccelerator
() автор топика
Последнее исправление: LibAccelerator (всего исправлений: 1)
Ответ на: комментарий от versetty777

К посту я добавил свой mpd.conf, который имеет в себе ваше дополнение. Не работает даже после перезапуска и рескана всей библиотеки.

  1. Ссылка на скриншот с выводом тегов, комментарий имеет в себе url

  2. Он работает и читается другими программами

  3. Возможно, поэтому я откомментировал свою строчку с metadata_to_use и вставил вашу, заменив стрелочки на кавычки. Всё как прежде.

  4. Возможно, но они были скачаны с manjaro testing repository, а также все команды mpc работают с mpd, кроме mpc -f %comment%. Например, mpc -f %artist% работает корректно

  5. Возможно, но ничего в сети про свою проблему с mpd.conf я не нашёл. А конфиги mpc я не трогал

  6. Mpd имеет полный доступ ко всей базе музыкальных произведений в папке ~/Music. И читает всё, кроме тега comment

Также, я использую ncmpcpp player. И он может как-то мешать выводу тега comment через mpc. Но я это не проверял и не думаю, что они могут быть как-то связаны

LibAccelerator
() автор топика
Последнее исправление: LibAccelerator (всего исправлений: 4)
17 августа 2023 г.

MPD почему-то не хочет читать url в тегах. Наверное защита от идиота, чтоб не тыкал куда не надо. Но смог с помощью ffprobe сделать все что хотел.

ffprobe -loglevel error -show_entries format_tags=purl -of default=noprint_wrappers=1:nokey=1

Это команда, которая достанет любой purl тэг(public url как я понял) из файла. Для своих нужд переделал в:

ffprobe -loglevel error -show_entries format_tags=purl -of default=noprint_wrappers=1:nokey=1 ~/Music/(mpc -f %file% current) | xclip -selection clipboard

Которая достает тэг из играющего в данный момент трека и готов его вставлять через ctrl + v. ~/Music/(mpc -f %file% current) работает только в fish shell. Может кто подскажет как в bash переписать чтоб команду внутри path смогла свой выхлоп писать?

В любом случае, теперь делиться музыкой намного легче, https://www.youtube.com/watch?v=dQw4w9WgXcQ

LibAccelerator
() автор топика