0

私は現在、mpeg-2ファイルを処理する必要がある学校のプロジェクトに取り組んでいます。現在、変異原を使用してmpegファイルのメタデータを抽出しています。ただし、タイトル、アーティスト、アルバムなどのメタデータを取得しようとすると、次のエラーが表示されます。[Pythonコードを高く評価しました]

以下の私の出力の場合:

mutagen.id3.ID3NoHeaderError:'media/test.mpeg'がID3タグで始まらない

ID3タグを保持するためのいわゆるコンテナがなかったことを示していますが、なぜそうなのか説明してくれる人はいますか?

mp3ファイルを使用している場合は完全に機能しますが、mpegを使用している場合は機能しません。

以下は私のコード(ハー​​ドコード)の一部です:

from mutagen.id3 import ID3

file = "media/test.mpeg"
audio = ID3(file)

print "Artist: %s" % audio['TPE1'].text[0]
print "Track: %s" % audio["TIT2"].text[0]
print "Release Year: %s" % audio["TDRC"].text[0]

2番目の問題は、mpegファイルの期間を取得しようとすると、間違った期間で返されることです。

ファイル期間=21秒

コードを実行すると、次の期間が表示されます:1124.5705721秒

以下は私のコード(ハー​​ドコード)の一部です:

import mutagen

from mutagen.mp3 import MP3
from mutagen.mp3 import MPEGInfo

file = "media/test.mpeg"
audio = MP3(file)

print audio.info.length
4

1 に答える 1

1

Mutagen は、入力ファイルが MP3 オーディオであることを識別する 1 つの方法として、.mpeg サフィックスを使用します。http://code.google.com/p/mutagen/source/browse/mutagen/mp3.pyの終わり近くにあるクラス MP3(ID3FileType) を参照してください。

Mutagen を拡張して、ビデオ ファイルの種類を検出し、そこからメタデータを読み取ることができます (例: http://code.google.com/p/mutagen/issues/attachmentText?id=90&aid=900002000&name=itunes-video.patchを参照) 。その目的のために明示的に設計されていません。

于 2013-11-20T12:20:32.170 に答える