Youtube-DL:将音频文件转换为 MP3 时如何删除视频信息/描述?

Youtube-DL:将音频文件转换为 MP3 时如何删除视频信息/描述?

这可能有点挑剔,但当我使用 Youtube-DL 将视频中的音频转换为 MP3 时,我让它也标记标题并嵌入视频中的缩略图。不知何故,它会添加视频描述和一些其他元视频信息,而我不想要这些信息。这是我使用的命令:

youtube-dl -o "%(title)s.%(ext)s" -x --audio-format mp3 --audio-quality 320K --embed-thumbnail --add-metadata --metadata-from-title "%(artist)s - %(title)s" <youtube url>

当我检查 ID3 标签信息时,它按预期添加了视频标题。如果我将扩展名重命名为 AVI,播放音频文件并打开其属性,我可以看到不需要的信息,例如视频描述、版本编码器和品牌。该选项--add-metadata将元数据写入视频文件,从中获取视频描述,但当我忽略它时,视频根本没有被标记。

我通读了 Youtube-DL 和 FFMPEG 的文档,但找不到适当的方法来删除视频描述/信息并保留 MP3 标记。

有谁知道如何做到这一点?

答案1

我不相信您目前可以控制该--add-metadata选项。

但是,您可以使用该--exec选项随后使用对输出文件的引用执行命令{},并要求ffmpeg删除不需要的元数据,如下所示:

--exec "ffmpeg -y -i {} -map 0 -c copy -metadata comment=\"\" -metadata description=\"\" -metadata purl=\"\" temp.mp3"

执行“转换”过程(覆盖同一个文件)会破坏输出文件的流数据,但添加辅助文件temp.mp3然后覆盖它会使它正常工作。

我已经测试了以下命令组合:

youtube-dl -o "%(title)s.%(ext)s" -x --audio-format mp3 --audio-quality 320K --embed-thumbnail --add-metadata --metadata-from-title "%(artist)s - %(title)s" <youtube url> --exec "ffmpeg -y -i {} -map 0 -c copy -metadata comment=\"\" -metadata description=\"\" -metadata purl=\"\" temp.mp3;cp -r temp.mp3 {};rm -rf temp.mp3"

我希望这有帮助!

附言:我知道这个问题有点老了,但发布一个可行的解决方案可能会对您和其他人有所帮助。

相关内容