如何使用脚本将 JPG 缩略图嵌入到 ogg/opus 音频文件中?

如何使用脚本将 JPG 缩略图嵌入到 ogg/opus 音频文件中?

我正在使用 youtube-dl 下载 ogg 音频文件及其各自的缩略图,但我不确定如何将缩略图嵌入到音频文件中。

答案1

Ogg 格式不支持显式嵌入图像。您可以做的是将图像转换为 base64 并将其添加到自定义标签/注释下。

你可以检查这个问答更多细节

答案2

这个问题已在问题。但是,它尚未合并,因此尚未通过正式版本提供。此外,您可能已经下载了作品文件和缩略图。

我使用这个脚本,它会遍历文件夹中以结尾的所有文件,并添加以缩略图opus结尾的相应文件。jpg您需要确保两个文件都存在并且具有相同的名称,没有实施安全检查。

我只是复制粘贴了代码的一部分三脉冲在上述问题中实施。所有功劳都归于三脉冲。它需要mutagenpython 包,可以通过pip.

#!/usr/bin/env python3

from glob import glob
from mutagen.oggopus import OggOpus
from mutagen.flac import Picture
from base64 import b64encode

ext_audio = 'opus'
ext_thumb = 'jpg'


for f in glob('*.{}'.format(ext_audio)):
    thumb = f.rstrip(ext_audio) + ext_thumb

    covart = Picture()
    covart.data = open(thumb, 'rb').read()
    covart.type = 3  # Cover (front)

    audio = OggOpus(f)
    audio['metadata_block_picture'] = b64encode(covart.write()).decode('ascii')

    audio.save()

相关内容