Skip to content

apivideo/api.video-strapi-plugin

Repository files navigation

Logo - api.video

Strapi v4 - api.video uploader

A powerful Strapi plugin to easily manage your videos and integrate them in your project.

Twitter Badge Pull Requests Badge

UI preview

This plugin provides the ability to upload content via a file to upload to api.video.

Table of Contents

✨ Features

  • Upload videos using a file to api.video inside of Strapi
  • Manage assets with the plugin's asset grid and pagination capabilities
  • Search for assets using title
  • Preview content using our player (powered by the api.video-player-react package)
  • Delete assets which result in the api.video Asset also being deleted

⏳ Installation

Via Strapi Marketplace

We're available on the Strapi Marketplace.

Via command line

(Use yarn to install this plugin within your Strapi project (recommended). Install yarn with these docs.)

yarn add @api.video/strapi-uploader-plugin@latest

After successful installation you've to re-build your Strapi instance. To archive that simply use:

yarn build
yarn develop

or just run Strapi in the development mode with --watch-admin option:

yarn develop --watch-admin

The api-video-uploader plugin should appear in the Plugins section of Strapi sidebar after you run app again.

As a next step you must configure your the plugin by the way you want to. See Configuration section.

All done. Enjoy πŸŽ‰

πŸ– Requirements

api.video

Complete installation requirements are exact same as for Strapi itself and can be found in the documentation under Installation Requirements.

Minimum environment requirements

  • Node.js >=14.19.1 <=18.x.x
  • NPM >=6.x.x

In our minimum support we're following official Node.js releases timelines.

Supported Strapi versions:

  • Strapi v4.5.1 (recently tested)
  • Strapi v4.x

This plugin is designed for Strapi v4 and is not working with v3.x.

We recommend always using the latest version of Strapi to start your new projects.

πŸ”§ Configuration

In order for this plugin to communicate with api.video, a configuration needs to be set for the plugin before it can be used.

With your Api Key, navigate to the Settings view within Strapi and click the "General" section under API.VIDEO UPLOADER.

On this view, enter your Api Key and click the Save button.

Plugin configuration

To resolve Content Security Policy directive issue and to visualize the thumbnail and the video, we need to configure external ressource like embed.api.videoand cdn.api.video/vod/. Modify the middlewares.js file like below:

// config/middlewares.js
module.exports = ({ env }) => [
    'strapi::errors',
    {
        name: 'strapi::security',
        config: {
            contentSecurityPolicy: {
                useDefaults: true,
                directives: {
                    'connect-src': ["'self'", 'https:'],
                    'img-src': ["'self'", 'data:', 'blob:', 'embed.api.video', 'cdn.api.video/vod/'],
                    'frame-src': ["'self'", 'data:', 'blob:', 'embed.api.video'],
                    upgradeInsecureRequests: null,
                },
            },
        },
    },
    'strapi::cors',
    'strapi::poweredBy',
    'strapi::logger',
    'strapi::query',
    'strapi::body',
    'strapi::favicon',
    'strapi::public',
]

πŸ‘€ Permissions

With the Community Edition of Strapi, any user with the role of super administrator can configure and use the plugin.

With Strapi Enterprise the permissions can be fine tuned according to the role of users. This is done in the Roles view in the Administration Panel.

πŸ’Ύ Metadata

By default we send the value Strapias Upload source to keep track. This value is set by default and can't be changed.

🀝 Contributing

Contributions, issues and feature requests are welcome!

If you encounter an error or have questions, please feel free to file inquiries on the Issues page for @api.video/strapi-uploader-plugin.

πŸ“š References