翻译:羊牧东岭
原文地址: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 文件的目录- 本示例中的相同歌剧,但音频格式拆分为多个画布。