简而言之:我跑了:
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”。但是当我使用 rythmbox 打开文件 test.mp3 时,它没有显示正确的标题和艺术家。
有谁知道为什么这不起作用或如何解决它?
即使您指定了 youtube-dl 实际上也会下载视频和音频,因此您的语法通过为两个流提供相同的文件名
--extract-audio
而混淆了 youtube-dl 和 FFmpeg 。也许最简单的解决方法(还有其他几种方法可以实现您的目标)是将您的 youtube-dl 语法更改为以下内容:
当然,在我自己的系统上,这成功创建了一个 id3v2 可以处理的文件:
请注意,默认情况下youtube-dl 会下载质量最好的音频和视频,因此对于这个特定的剪辑,webm 容器中有 Opus 音频和 VP9 视频。FFmpeg 然后删除视频并按顺序转换音频,看看这个
--keep-video
选项,看看它的神奇之处:)