Giter VIP home page Giter VIP logo

ezbrightcove's Introduction

eZ Brightcove by Kaliop

About

eZ Brightcove is an extension to eZ Publish that enables you to either upload videos from eZ Publish into your Brightcove Media Library or pull in videos from your Brightcove Media Library into eZ Publish.

Installation

Please see the installation documentation inside doc/INSTALL.md for how to install this extension

Screenshots

Uploading a video from your computer to Brightcove directly from the eZ Publish administration interface.

Editing a Brightcove Media object in the eZ Publish administration interface with a video selected.

Browse and search your Brightcove Media Library straight from within the editing interface.

Browse videos uploaded to your web server from the administration interface and upload them directly to Brightcove.

Viewing a Brightcove Media object in the eZ Publish administration interface.

Configuration

Enabling/disabling "input types"

You can easily turn on/off different ways of uploading or accessing Brightcove media. By default all 3 options (Upload video, Source video from Brightcove and Upload video from Server) are all enabled.

If you want to turn of them off, override settings/ezbrightcove.ini and change the AvailableTypes setting. The below example turns off all input types except Upload video.

file: settings/override/ezbrightcove.ini.append.php:
[VideoInputTypes]
AvailableTypes[]
AvailableTypes[]=upload

Upload video from Server

This input method is comes in handy if you already have a large media library that you manage in some other way, e.g via FTP. eZ Brightcove can read videos from a directory on your web server. This could be a directory on a shared drive or a directory where videos are uploaded via some other means, e.g ftp, rsync, scp, etc.

By default the Upload video from Server input type is available, but you need to specify a directory on your web server that contains videos. This is done by overriding settings/ezbrightcove.ini and specifying the RootDirectory setting. In the example below we tell eZ Brightcove to look in /mnt/shared/videos/ for videos.

file settings/override/ezbrightcove.ini.append.php:
[ServerFileBrowse]
RootDirectory=/mnt/shared/videos

Extending eZ Brightcove

eZ Brightcove was developed with extensibility in mind. There's two major ways you can use to extend this extension: creating new input types or swapping out PHP classes.

Creating a new input types

eZ Brightcove comes with 3 different ways you can tell eZ Publish and Brightcove about your media (input types). You can upload a video from your local computer, Browse Brightcove for a video or Browse a directory on your web server for a video.

If these do not fit your needs you can create your own input type. Input types consist of a few different parts:

  • Templates for viewing and editing
  • A PHP class that contains all the logic (validation, storing of data, etc). This is basically a mini eZ Datatype.
  • A SQL table (or somewhere else) to store any data you might need

Input types are said to either "require processing" or not. Require processing means that the video should be sent for processing to Brightcove. Brightcove will then convert the video into a suitable format for the web. Both Upload video and Upload video from Server are input types that requires procesing and hence eZ Brightcove will upload the video to Brightcove for processing. Source video from Brightcove does not require processing as the videos are already sourced from Brightcove and hence are in a web suitable format already.

To get started writing your own input type it's easiest to look at one of the existing ones. Source video from Brightcove is a great starting point:

Swapping out classes

Key classes in eZ Brightcove are dynamically configured in settings/ezbrightcove.ini and loaded in by klpDiContainer. If you want to change some builtin behaviour you can substitue any class for your own. However please be aware that we reserve the right to change how these classes work. We do not guarantee that the classes will not change in a way that might break your substitue classes in the future. This should be considered a temporary workaround. Please submit pull requests or issues if you hit bugs or limitations.

License

Please see the license file LICENSE in the root of the extension for license details.

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.