ユーザーがビデオとオーディオファイルをアップロードするサイトで作業しています。アップロードするときに、いくつかの一般的なメタデータフィールドをファイルから入力する必要があります。Hachoirを見つけましたが、問題があるため、メタデータを読み取るためのパーサーを作成するには、ファイルのようなオブジェクトやストリームオブジェクトではなく、ファイル名が必要です。
オブジェクトのようなファイルでHachoirを使用するにはどうすればよいですか?
ユーザーがビデオとオーディオファイルをアップロードするサイトで作業しています。アップロードするときに、いくつかの一般的なメタデータフィールドをファイルから入力する必要があります。Hachoirを見つけましたが、問題があるため、メタデータを読み取るためのパーサーを作成するには、ファイルのようなオブジェクトやストリームオブジェクトではなく、ファイル名が必要です。
オブジェクトのようなファイルでHachoirを使用するにはどうすればよいですか?
Hachoir v3.2.1の使用:
import hachoir.metadata
import hachoir.parser
import hachoir.stream
parser = hachoir.parser.guessParser(hachoir.stream.InputIOStream(file_handle, None, tags=[]))
if parser:
hachoir_metadata = hachoir.metadata.extractMetadata(parser)
if hachoir_metadata:
metadata: Dict[str, str] = hachoir_metadata.exportDictionary()['Metadata']
print(metadata)