Code Monkey home page Code Monkey logo

api.video-strapi-plugin's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.