Get started with WebViewer Video - Video Collaboration SDK

Collaborate and review videos frame by frame. WebViewer video allows users to annotate video frames, comment on frames, collaborate and review videos.

Annotations will be tied to specific frames and will only be rendered, when the video is seeked to the specific frames. This guide will show you how to get started with a free trial.

The source code for this project is available in our Git repo.

Prerequisites

Prior to starting, you should have already installed Node and npm.

Get your Apryse trial key.

License Key

Apryse collects some data regarding your usage of the SDK for product improvement.

If you wish to continue without data collection, contact us and we will email you a no-tracking trial key for you to get started.

Initial setup

Clone the repo to a specific directory and then navigate to it:

sh

1# command line
2git clone https://github.com/ApryseSDK/webviewer-video-sample.git video
3cd video

How to run

  1. Navigate to the video directory and install the required dependencies to run the samples by executing:

sh

1npm install
  1. Next run the sample by executing:

sh

1npm start
  1. Navigate to http://localhost:3000/ and you will see the sample WebViewer running with a video, similar to above.

How it works

HTML5 Videos can be loaded into WebViewer with use of the @pdftron/webviewer-video package.

Install

sh

1npm install @pdftron/webviewer-video

Below is a sample setup of the video package with webviewer.

initializeVideoViewer is called to give WebViewer the ability to handle the loading of video files. Afterwards, a video can be loaded with loadVideo. Lastly settings to customize the behavior of the controls can be passed in when calling initializeVideoViewer.

1import WebViewer from '@pdftron/webviewer';
2import { initializeVideoViewer, renderControlsToDOM } from '@pdftron/webviewer-video';
3
4WebViewer({
5 path: '/webviewer/lib',
6 selectAnnotationOnCreation: true,
7 },
8 viewer.current,
9).then(async instance => {
10 // Extends WebViewer to allow loading HTML5 videos (.mp4, ogg, webm).
11 const {
12 loadVideo,
13 } = await initializeVideoViewer(
14 instance,
15 {
16 license: '---- Insert commercial license key here after purchase ----',
17 }
18 );
19 // Load a video at a specific url. Can be a local or public link
20 // If local it needs to be relative to lib/ui/index.html.
21 // Or at the root. (eg '/video.mp4')
22 const videoUrl = 'https://pdftron.s3.amazonaws.com/downloads/pl/video/video.mp4';
23 loadVideo(videoUrl);
24});

Import and Exporting Annotations

Importing and exporting annotations works the exact same way as it does on WebViewer, with the video annotations having additional the properties start-time and end-time.

Server configuration

Make sure your server has byte-range requests enabled to allow video streaming.

API

@pdftron/webviewer-video

Did you find this helpful?

Trial setup questions?

Ask experts on Discord

Need other help?

Contact Support

Pricing or product questions?

Contact Sales