Overview
I investigated how to publish videos with Omeka S, so this is a memorandum.
Standard Features
Omeka S supports video out of the box.
Below is an example using the standard features.

I used the following mp4 file:
https://file-examples.com/storage/fe4e1227086659fa1a24064/2017/04/file_example_MP4_480_1_5MG.mp4
Specifically, the <video> tag was used as follows:
<div class="media-render file">
<video src="https://omeka-d.aws.ldas.jp/files/original/5060f3ba2537676746a7aa69c9884c64daac300b.mp4" controls="">
<a href="https://omeka-d.aws.ldas.jp/files/original/5060f3ba2537676746a7aa69c9884c64daac300b.mp4">5060f3ba2537676746a7aa69c9884c64daac300b.mp4</a>
</video>
</div>
Similarly, when uploading a .mov file, it played successfully, though this may be browser-dependent.

IIIF Server
By using the IIIF Server module, it becomes possible to deliver IIIF manifest files.
https://omeka.org/s/modules/IiifServer/
Install this along with Universal Viewer.
https://omeka.org/s/modules/UniversalViewer/
As a result, Universal Viewer is displayed as shown below, and the video can be viewed along with the metadata described in the manifest file.

Checking the Manifest File (v2)
When checking the manifest file (v2) generated by the IIIF Server module, it was displayed as follows:
{
"@context": [
"http://iiif.io/api/presentation/2/context.json",
"http://wellcomelibrary.org/ld/ixif/0/context.json"
],
"@id": "https://omeka-d.aws.ldas.jp/iiif/2/1/manifest",
"@type": "sc:Manifest",
"label": "mp4",
"metadata": [
{
"label": "Title",
"value": "mp4"
}
],
"viewingDirection": "left-to-right",
"license": "https://rightsstatements.org/vocab/CNE/1.0/",
"related": {
"@id": "https://omeka-d.aws.ldas.jp/s/test/item/1",
"format": "text/html"
},
"seeAlso": {
"@id": "https://omeka-d.aws.ldas.jp/api/items/1",
"format": "application/ld+json"
},
"sequences": [
{
"@id": "https://omeka-d.aws.ldas.jp/iiif/2/1/sequence/normal",
"@type": "sc:Sequence",
"label": "Unsupported extension. This manifest is being used as a wrapper for non-IIIF v2 content (e.g., audio, video) and is unfortunately incompatible with IIIF v2 viewers.",
"compatibilityHint": "displayIfContentUnsupported",
"canvases": [
{
"@id": "https://omeka-d.aws.ldas.jp/iiif/ixif-message/canvas/c1",
"@type": "sc:Canvas",
"label": "Placeholder image",
"thumbnail": "https://omeka-d.aws.ldas.jp",
"width": null,
"height": null,
"images": [
{
"@id": "https://omeka-d.aws.ldas.jp/iiif/ixif-message/imageanno/placeholder",
"@type": "oa:Annotation",
"motivation": "sc:painting",
"resource": {
"@id": "https://omeka-d.aws.ldas.jp/iiif/ixif-message-0/res/placeholder",
"@type": "dctypes:Image",
"width": null,
"height": null
},
"on": "https://omeka-d.aws.ldas.jp/iiif/ixif-message/canvas/c1"
}
]
}
]
}
],
"mediaSequences": [
{
"@id": "https://omeka-d.aws.ldas.jp/iiif/2/1/sequence/s0",
"@type": "ixif:MediaSequence",
"label": "XSequence 0",
"elements": [
{
"@id": "https://omeka-d.aws.ldas.jp/files/original/bc5bbd4550ae7b6eab3affbc832bb158b5e280ab.mp4/element/e0",
"@type": "dctypes:MovingImage",
"label": "mp4",
"metadata": [
{
"label": "Title",
"value": "mp4"
}
],
"thumbnail": "https://omeka-d.aws.ldas.jp/application/asset/thumbnails/video.png",
"rendering": [
{
"@id": "https://omeka-d.aws.ldas.jp/files/original/bc5bbd4550ae7b6eab3affbc832bb158b5e280ab.mp4",
"format": "video/mp4"
}
],
"service": {
"@id": "https://omeka-d.aws.ldas.jp/iiif/2/5",
"profile": "http://wellcomelibrary.org/ld/ixif/0/alpha.json"
},
"width": 0,
"height": 0
}
]
}
]
}
Since v2 does not support video, it appears that Universal Viewer loads mediaSequences on its own to display the content.
Checking the Manifest File (v3)
For v3, the output is as follows:
{
"@context": "http://iiif.io/api/presentation/3/context.json",
"id": "https://omeka-d.aws.ldas.jp/iiif/3/1/manifest",
"type": "Manifest",
"label": {
"none": [
"mp4"
]
},
"metadata": [
{
"label": {
"none": [
"Title"
]
},
"value": {
"none": [
"mp4"
]
}
}
],
"rights": "https://rightsstatements.org/vocab/CNE/1.0/",
"provider": [
{
"id": "https://omeka-d.aws.ldas.jp/",
"type": "Agent",
"label": {
"none": [
"Omeka"
]
}
}
],
"viewingDirection": "left-to-right",
"seeAlso": [
{
"id": "https://omeka-d.aws.ldas.jp/api/items/1",
"type": "Dataset",
"label": {
"none": [
"Api rest json-ld"
]
},
"format": "application/ld+json",
"profile": "https://omeka-d.aws.ldas.jp/api-context"
}
],
"homepage": [
{
"id": "https://omeka-d.aws.ldas.jp/s/test/item/1",
"type": "Text",
"label": {
"none": [
"Resource in site: test"
]
},
"format": "text/html",
"language": [
"ja"
]
}
],
"items": [
{
"@context": "http://iiif.io/api/presentation/3/context.json",
"id": "https://omeka-d.aws.ldas.jp/iiif/3/1/canvas/p1",
"type": "Canvas",
"label": {
"none": [
"1"
]
},
"rights": "https://rightsstatements.org/vocab/CNE/1.0/",
"height": 270,
"width": 480,
"duration": 30.526666666666667,
"items": [
{
"id": "https://omeka-d.aws.ldas.jp/iiif/3/1/annotation-page/5",
"type": "AnnotationPage",
"items": [
{
"id": "https://omeka-d.aws.ldas.jp/iiif/3/1/annotation/5",
"type": "Annotation",
"motivation": "painting",
"body": {
"id": "https://omeka-d.aws.ldas.jp/iiif/2/5.mp4",
"type": "Video",
"format": "video/mp4",
"service": [],
"height": 270,
"width": 480,
"duration": 30.526666666666667
},
"target": "https://omeka-d.aws.ldas.jp/iiif/3/1/canvas/p1",
"label": {
"none": [
"[Untitled]"
]
}
}
]
}
]
}
]
}
Since v3 supports video, you can load the same manifest file into viewers such as Mirador 3 for display, as shown below.

Summary
I hope this serves as a useful reference for delivering video content with Omeka and IIIF.