翻译:羊牧东岭
原文地址:https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/
用例
将音视频内容拆分为多个文件是很常见的做法。本专题展示了如何使用单个画布 (Canvas) 对此类内容进行建模。使用单个画布的好处是跨文件连续播放,浏览器可以显示这些文件的总的持续时间,从而为用户提供一种聚合性的观看收听体验。
实施说明
本例的实现基于音视频内容的目录,但会使用两个视频文件,分别作为示例歌剧的每一幕,并注释在同一画布上:Atto Primo 指向 #t=0,而 Atto Secondo 指向 #t=3971.24 (紧接在 Atto Primo 结束之后),从而确保二者能连续播放。将歌剧的两幕作为注释包含在同一个注释页面上,从概念上讲更有意义,因为它们都指向同一画布。
这部歌剧涵盖了画布的整个长度,并为两幕而划分为两个范围 (Range)。Atto Primo 为前奏曲和第一曲提供了一个范围 (Range),然后为该幕的其余部分提供了另一个范围 (Range)。为简单起见,未将 Atto Secondo 部分予以细分。
为展示更多上下文环境,例子中添加了元数据和缩略图属性。这里的实现类似于书籍的章节,但嵌套可能更深。
例子
JSON-LD | 在Universal Viewer中查看
{"@context": "http://iiif.io/api/presentation/3/context.json","id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/manifest.json","type": "Manifest","label": {"it": ["L'Elisir D'Amore"],"en": ["The Elixir of Love"]},"metadata": [{"label": {"en": ["Date Issued"]},"value": {"en": ["2019"]}},{"label": {"en": ["Publisher"]},"value": {"en": ["Indiana University Jacobs School of Music"]}}],"items": [{"id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1","type": "Canvas","width": 1920,"height": 1080,"duration": 7278.422,"items": [{"id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1","type": "AnnotationPage","items": [{"id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/1","type": "Annotation","motivation": "painting","target": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,3971.24","body": {"id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_1.mp4","type": "Video","format": "video/mp4","height": 1080,"width": 1920,"duration": 3971.24}},{"id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1/annotation_page/1/annotation/2","type": "Annotation","motivation": "painting","target": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24","body": {"id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/vae0637_accessH264_low_act_2.mp4","type": "Video","format": "video/mp4","height": 1080,"width": 1920,"duration": 3307.22}}]}],"thumbnail": [{"id": "https://fixtures.iiif.io/video/indiana/donizetti-elixir/act1-thumbnail.png","type": "Image"}]}],"structures": [{"type": "Range","id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/1","label": {"it": ["Gaetano Donizetti, L'Elisir D'Amore"]},"items": [{"type": "Range","id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/2","label": {"it": ["Atto Primo"]},"items": [{"type": "Range","id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/3","label": {"it": ["Preludio e Coro d'introduzione – Bel conforto al mietitore"]},"items": [{"type": "Canvas","id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=0,302.05"}]},{"type": "Range","id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/4","label": {"en": ["Remainder of Atto Primo"]},"items": [{"type": "Canvas","id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=302.05,3971.24"}]}]},{"type": "Range","id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/range/5","label": {"it": ["Atto Secondo"]},"items": [{"type": "Canvas","id": "https://iiif.io/api/cookbook/recipe/0064-opera-one-canvas/canvas/1#t=3971.24,7278.422"}]}]}]}
相关专题
- 在文本多语言-配方解释像标签这部歌剧在文本中使用多种语言。
- [缩略图][0012]
- A/V 内容的目录- 使用嵌套范围表示歌剧目录的另一个示例。
- 多个画布上多个 A/V 文件的目录- 本示例中的相同歌剧,但音频格式拆分为多个画布。
