スクリプトを使用してJPGサムネイルをogg / opusオーディオファイルに含める方法は?

スクリプトを使用してJPGサムネイルをogg / opusオーディオファイルに含める方法は?

私はyoutube-dlを使ってoggオーディオファイルとそのサムネイルをダウンロードしていますが、オーディオファイルにサムネイルを挿入する方法がわかりません。

答え1

Ogg形式は画像の明示的な挿入をサポートしません。あなたができることは、画像をbase64に変換し、それをカスタムタグ/コメントの下に追加することです。

確認できますこのQ&A詳しくは

答え2

この問題はすでにこれ質問。ただし、まだマージされていないため、公式リリースではまだ利用できません。また、アートワークファイルとサムネイルをダウンロードした可能性があります。

私は、サムネイルで終わるフォルダ内のすべてのファイルを繰り返し、opusサムネイルで終わるファイルを追加するこのスクリプトを使用します。jpg両方のファイルが存在し、名前が同じであることを確認する必要があり、セキュリティチェックは実装されていません。

コードの一部をコピーして貼り付けました。3回のパルス上記の質問に実装されました。すべてのクレジットはTriple Pulseに転送されます。mutagen経由でアクセスできるPythonパッケージが必要です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()

関連情報