Загрузка YouTube в mp3 и запись метаданных (исполнитель/название песни) в mp3-файл с помощью youtube-dl

Я извлекаю звук только из видео на YouTube, используя youtube-dl. Я хочу записать метаданные (например, имя исполнителя и название песни) в mp3-файл после загрузки. Моя попытка выполнить это начинается с этого кода:

@echo off
set dl=https://www.youtube.com/watch?v=2Y6Nne8RvaA
youtube-dl --metadata-from-title "%(artist)s - %(title)s" --extract-audio --audio-format mp3 -o "%%(title)s.%%(ext)s" --add-metadata %dl%
pause

Результат этого кода:

[youtube] 2Y6Nne8RvaA: Downloading webpage
[youtube] 2Y6Nne8RvaA: Downloading video info webpage
[youtube] 2Y6Nne8RvaA: Extracting video information
[download] Destination: Kungs vs Cookin' on 3 Burners - This Girl.webm
[download] 100% of 3.33MiB in 00:02
[fromtitle] Could not interpret title of video as "(title)s"
[ffmpeg] Adding metadata to 'Kungs vs Cookin' on 3 Burners - This Girl.webm'
[ffmpeg] Destination: Kungs vs Cookin' on 3 Burners - This Girl.mp3
Deleting original file Kungs vs Cookin' on 3 Burners - This Girl.webm (pass -k t
o keep)
Press any key to continue . . .

Как видите, код добавляет метаданные к имени файла .webm, но не к файлу .mp3. Бесполезно записывать это в файл .webm, потому что этот файл удаляется по завершении процесса. Я хочу, чтобы эти метаданные записывались в файл .mp3, чтобы при просмотре песен в папке они выглядели следующим образом:

введите описание изображения здесь

Этот формат удобен для меня, потому что я могу напрямую вводить эти файлы в iTunes, и метаданные останутся нетронутыми!

У меня Windows 7, 64-битная, Python 3.5.


person IRNotSmart    schedule 08.12.2016    source источник


Ответы (1)


На этой странице даже нет файла MP3:

$ youtube-dl --format mp3 2Y6Nne8RvaA
ERROR: requested format not available

и даже если вы попробуете обойти, как вы сделали, это не сработает:

$ youtube-dl --audio-format mp3 2Y6Nne8RvaA
$ ffprobe 'Kungs vs Cookin’ on 3 Burners - This Girl-2Y6Nne8RvaA.mkv'
Input #0, matroska,webm, from 'Kungs vs Cookin’ on 3 Burners - This Girl-2Y6Nne8RvaA.mkv':
  Duration: 00:03:17.48, start: -0.007000, bitrate: 2462 kb/s
    Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, progressive), 1920x1080
    Stream #0:1(eng): Audio: opus, 48000 Hz, stereo (default)

Вместо этого используйте m4a:

youtube-dl --format m4a 2Y6Nne8RvaA

Ты используешь:

--extract-audio

когда вы можете просто скачать аудио отдельно:

youtube-dl --format m4a 2Y6Nne8RvaA

Ты используешь:

https://www.youtube.com/watch?v=2Y6Nne8RvaA

когда вы можете просто использовать:

2Y6Nne8RvaA

Вы не используете:

--youtube-skip-dash-manifest

Я могу сказать из-за этой дополнительной строки:

[youtube] 2Y6Nne8RvaA: Downloading video info webpage

Даже если бы все работало так, как вы хотите, у вас, вероятно, все равно были бы проблемы из-за версии ID3:

Метаданные FFmpeg не отображаются в Windows?

person Steven Penny    schedule 09.12.2016
comment
Спасибо за вашу запись. Как вы поняли, я новичок в этом, и я учусь больше каждый день. Ваш комментарий был очень полезен для меня. - person IRNotSmart; 09.12.2016