> For the complete documentation index, see [llms.txt](https://docs.nuvolos.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nuvolos.com/how-to-guides/workflows-for-instructors/configuring-student-applications/video-library.md).

# Video library

## Publish videos to the Video Library

<mark style="color:$primary;">**Outcome**</mark>\
You upload course videos to the Video Library and embed them in a `README.md` so students can watch them in the browser.

<mark style="color:$primary;">**Before you start**</mark>

* The Video Library is enabled at the organisation level and at the space level. For enablement, see [Administration › Space management](/administration/space-management.md).
* You hold the Space Administrator role on the course space (only Space Administrators can access the Video Library).
* You have the video file(s) ready to upload.

The Video Library is a Nuvolos-managed storage option specifically for video content. Once a video is uploaded, you can embed it in any `README.md` in the space - students with access to that space see the embedded video and play it in the browser. For the conceptual model, capabilities, and quota details, see [Reference › File Storage](/reference/file-system-and-storage.md).

### **Upload a video**

{% stepper %}
{% step %}
Navigate to the Master Instance of your course.
{% endstep %}

{% step %}
In the Files view, upload the video file as you would any other file. Common video formats are recognised automatically.
{% endstep %}

{% step %}
After upload, Nuvolos offers two options: **keep the file on the file system** or **remove the file and store only in the Video Library**.
{% endstep %}

{% step %}
Choose **remove the file** unless you have a specific reason to keep a copy on the file system - video files consume file-system quota, and the Video Library is the storage-efficient option.
{% endstep %}

{% step %}
The upload to the streaming provider begins automatically. Processing may take up to 30 minutes for a one-hour video.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
The embed code is available as soon as the upload completes - you do not need to wait for processing to finish before embedding. The video may not yet play, but the link is already there.
{% endhint %}

### **Get the embed code**

{% stepper %}
{% step %}
Navigate to the Video Library menu in the space.
{% endstep %}

{% step %}
Find the video in the library.
{% endstep %}

{% step %}
Choose the **embed code format**: fixed size (for tabular layouts where space is constrained) or responsive (for full-width embedding that adapts to the browser).
{% endstep %}

{% step %}
Copy the embed code to the clipboard.
{% endstep %}
{% endstepper %}

### **Embed in a `README.md`**

{% stepper %}
{% step %}
Open the `README.md` file you want to embed the video in (or create one with **+ NEW**).
{% endstep %}

{% step %}
Open the file in **EDIT** mode via the ... Actions menu.
{% endstep %}

{% step %}
Make sure you are in the side-by-side editor mode - embedding does not work in WYSIWYG mode. Toggle modes via the control in the bottom right corner.
{% endstep %}

{% step %}
Paste the embed code where you want the video to appear.
{% endstep %}

{% step %}
Save the file.
{% endstep %}
{% endstepper %}

When you save, the video renders in the preview pane. Once you distribute the `README.md` to student instances, the video appears in the rendered README on the space overview.

#### Reusing one video across multiple READMEs

A single video in the library can be embedded into any number of README.md files at no additional storage cost. To update a video in multiple places, change the underlying video in the library - every README that embeds it automatically shows the new version. To add a recording to an existing course mid-term, paste the embed code into the relevant README, distribute, and students see the update within seconds.

{% hint style="info" %}
Embed codes are origin-locked - the streaming provider only plays back videos when embedded on Nuvolos. Embed codes copied to a third-party site will not play. This prevents unauthorised reuse of your video content.
{% endhint %}
