😺
iiif-prezi3を使って、動画に関するIIIF v3マニフェストを作成する
概要
iiif-prezi3を使って、動画に関するIIIF v3マニフェストを作成する機会がありましたので、備忘録です。
参考
IIIFマニフェストファイルの例、およびiiif-prezi3を使った実装例は、IIIF Cookbookで公開されています。
以下、動画に関するIIIF v3マニフェストを作成する例です。
iiif-prezi3を使った実装例は以下で公開されています。
from iiif_prezi3 import Manifest, AnnotationPage, Annotation, ResourceItem, config
config.configs['helpers.auto_fields.AutoLang'].auto_lang = "en"
manifest = Manifest(id="https://iiif.io/api/cookbook/recipe/0003-mvm-video/manifest.json", label="Video Example 3")
canvas = manifest.make_canvas(id="https://iiif.io/api/cookbook/recipe/0003-mvm-video/canvas")
anno_body = ResourceItem(id="https://fixtures.iiif.io/video/indiana/lunchroom_manners/high/lunchroom_manners_1024kb.mp4",
type="Video",
format="video/mp4")
anno_page = AnnotationPage(id="https://iiif.io/api/cookbook/recipe/0003-mvm-video/canvas/page")
anno = Annotation(id="https://iiif.io/api/cookbook/recipe/0003-mvm-video/canvas/page/annotation",
motivation="painting",
body=anno_body,
target=canvas.id)
hwd = {"height": 360, "width": 480, "duration": 572.034}
anno_body.set_hwd(**hwd)
hwd["width"] = 640
canvas.set_hwd(**hwd)
anno_page.add_item(anno)
canvas.add_item(anno_page)
print(manifest.json(indent=2))
まとめ
他にも多くのサンプルや実装例が公開されています。参考になりましたら幸いです。
Discussion