Проблема с тегами mp3 с помощью youtube-dl и id3v2

Короче говоря: Я работал:

sudo apt install youtube-dl ffmpeg id3v2 -y
echo "youtube-dl version:"
youtube-dl --version
echo "id3v2 version:"
id3v2 --version
youtube-dl --extract-audio --audio-format mp3 "https://youtu.be/Sqk3B2041uk" --output test.mp3
id3v2 -t "cooltitle" -a "coolartist" test.mp3

Вывод был нормален:

*normal output of apt install*
youtube-dl version:
2019.01.17
id3v2 version:
id3v2 0.1.12
Uses id3lib-3.8.3

This program adds/modifies/removes/views id3v2 tags, 
and can convert from id3v1 tags
[youtube] Sqk3B2041uk: Downloading webpage
[youtube] Sqk3B2041uk: Downloading video info webpage
[download] test.mp3 has already been downloaded
[download] 100% of 2.07MiB
[ffmpeg] Post-process file test.mp3 exists, skipping

В теории этот сценарий должен загрузить mp3-файл и установить, это - заголовок к "cooltitle" и его художник к "coolartist". Но когда я открыл файл test.mp3 с помощью rythmbox, он не показывает корректный заголовок и художника.

Кто-либо знает, почему это не работает или как зафиксировать его?

1
задан 13 July 2019 в 22:20

1 ответ

youtube-dl на самом деле загружает и видео и аудио, даже когда Вы указываете --extract-audio таким образом, Ваш синтаксис смутил youtube-dl и FFmpeg путем предоставления того же имени файла для обоих потоков.

Возможно, самая легкая фиксация (и существует несколько других способов выполнить Вашу цель) должна изменить Ваш синтаксис youtube-dl на следующее:

youtube-dl --extract-audio --audio-format mp3 \
          "https://youtu.be/Sqk3B2041uk" --output "test.%(ext)s"

И конечно в моей собственной системе это успешно создало файл, который может затем обработать id3v2:

andrew@ilium~/tmp$ youtube-dl --extract-audio --audio-format mp3 \
>           "https://youtu.be/Sqk3B2041uk" --output "test.%(ext)s"
[youtube] Sqk3B2041uk: Downloading webpage
[youtube] Sqk3B2041uk: Downloading video info webpage
[download] Destination: test.webm
[download] 100% of 2.07MiB in 00:02
[ffmpeg] Destination: test.mp3
Deleting original file test.webm (pass -k to keep)
andrew@ilium~/tmp$ 

Обратите внимание, что youtube-dl по умолчанию загружает аудио высшего качества и доступное видео, следовательно для этого конкретного клипа существует аудио Опуса и видео VP9 в webm контейнере. FFmpeg затем удаляет видео и преобразовывает аудио, как заказано, взгляните на --keep-video опция видеть волшебство на работе :)

1
ответ дан 7 December 2019 в 15:00

Другие вопросы по тегам:

Похожие вопросы: