kaltura / express-recorder

Kaltura Express Capture enables recording content directly from the browser without the need to install any additional software. aka kSelfie
https://knowledge.kaltura.com/help/kaltura-express-capture
GNU Affero General Public License v3.0
7 stars 4 forks source link
kaltura recorder recorderjs video webrtc

Kaltura Express Recorder

Kaltura Express Recorder (aka Express Capture or kSelfie) enables recording videos directly from the browser without the need to install additional software. Web recorder is based on WebRTC and its predecessor project - webrtc-krecord.

Express Recorder Screenshot

Officially supported browsers: Chrome, Firefox, Opera.

Dev install

  1. git clone
  2. npm install

IMPORTANT NOTE!

If npm install fails make sure you are using node 14 (node-sass is dependant on it). You can download nvm and use it to set the node engine to be the proper one 'nvm use 14'

Run the project

clone index.template.ejs into index.ejs (Same dir) and fill in the needed properties.

execute - "npm run serve"

Run with storybook

  1. fill props in expressRecorder.stories.jsx
  2. yarn run storybook

Create build release

  1. update the package.json file with the new version
  2. npm run build
  3. copy files located under 'dist' folder to your project, or use the zip file with the version name.
  4. attach the zip created (on the root of the project) to the release notes.

Embedding into html page

const component = Kaltura.ExpressRecorder.create('parent_div_id', { list of props for expressRecorder components in form of 'prop': 'value' });

deployment to Kaltura server

  1. unzip v<version number>.zip (attached to version release notes) to Kaltura-server/apps/expressrecorder/v<version number>

API

ExpressRecorder props:

name description type required default
ks kaltura session key (should be user session with 'editadmintags:*' privilege) string yes ---
serviceUrl kaltura service url string yes ---
app client tag string yes ---
playerUrl kaltura player service url string yes ---
partnerId kaltura partner id number yes ---
uiConfId kaltura player id (player v3 required) number yes ---
conversionProfileId the conversion profile id to be used on the created entry number no 1
entryName name for the created entry string no Video/Audio Recording - [date]
allowVideo allow video streaming boolean no true
allowAudio allow audio streaming boolean no true
maxRecordingTime maximum time for recording in seconds number no unlimited
showUploadUI show upload progress and cancel button during upload boolean no true

Events:

Event Types:
Listening to Events

const component = Kaltura.ExpressRecorder.create('parent_div_id', {...}); component.instance.addEventListener(eventType, callback);

Methods:

How you can help (guidelines for contributors)

Thank you for helping Kaltura grow! If you'd like to contribute please follow these steps:

Where to get help

Get in touch

You can learn more about Kaltura and start a free trial at: http://corp.kaltura.com
Contact us via Twitter @Kaltura or email: community@kaltura.com
We'd love to hear from you!

License and Copyright Information

All code in this project is released under the AGPLv3 license unless a different license for a particular library is specified in the applicable library path.

Copyright © Kaltura Inc. All rights reserved.
Authors and contributors: See GitHub contributors list.

Open Source Libraries

Review the list of Open Source 3rd party libraries used in this project.