You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 30, 2024. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+84-23
Original file line number
Diff line number
Diff line change
@@ -2,36 +2,37 @@
2
2
3
3
## Video Call App
4
4
5
-
The application available in this repository demonstrates the capabilities of Dolby.io's video call solution for browser applications, built using React.
5
+
The application available in this repository demonstrates the capabilities of the Dolby.io video call solution for browser applications, built using React.
6
6
7
7
This repository demonstrates how to develop the core Dolby.io features and also provides an understanding of how our service works. If you run into problems, the full Dolby.io Communications SDK for JavaScript documentation can be found at <https://docs.dolby.io/communications-apis/docs/js-overview>.
8
8
9
-
The application provided allows you to evaluate solutions offered by Dolby.io Communications APIs. You can download the repository yourself, run the application locally and verify that it meets your requirements. If you are interested in more details about Dolby.io’s video conference call capabilities, more information can be found here:
9
+
The application provided allows you to evaluate solutions offered by the Dolby.io Communications APIs. You can download the repository yourself, run the application locally and verify that it meets your requirements. If you are interested in more details about Dolby.io video conference call capabilities, more information can be found here:
10
10
<https://dolby.io/products/video-call/>
11
11
12
-
Its scope covers:
12
+
The scope covers:
13
13
14
-
- Initialization of Dolby.io SDK
14
+
- Initialization of the Dolby.io SDK
15
15
- Creating and joining a conference
16
-
- Camera, microphone and audio output configuration
16
+
- Camera, microphone, and audio output configuration
17
17
- Full conference view with grid display of user streams
18
18
- Basic video conferencing interactions (muting, camera switching)
19
19
- Screen sharing
20
20
- Recording
21
21
- Background blur (available only on desktop Chrome and Edge)
22
+
- Live-streaming through the Dolby.io API after additional setup process [Using Live-streaming features](#using-live-streaming-features)
22
23
23
24
## Getting Started
24
25
25
-
The steps below will quickly get you started testing Dolby.io’s capabilities.
26
+
The following steps will quickly get you started testing the Dolby.io Communications APIs capabilities.
26
27
27
28
### How to get a Dolby.io account
28
29
29
-
Dolby.io Communications APIs requires you to create a Dolby.io account.
30
-
To set it up, you need to go to <https://dashboard.dolby.io/signup/> and complete the form. After confirming your email address, you will be logged in.
30
+
The Dolby.io Communications APIs requires you to create a Dolby.io account.
31
+
To set up your Dolby.io account, go to <https://dashboard.dolby.io/signup/> and complete the form. After confirming your email address, you will be logged in.
31
32
32
33
### Dolby.io dashboard
33
34
34
-
After logging in, you get access to the full dashboard where you can manage your account.
35
+
After logging in, you have access to the full dashboard where you can manage your account.
35
36
36
37
From this page <https://dashboard.dolby.io/dashboard/applications/summary> you can manage your profile and billing.
37
38
@@ -41,17 +42,17 @@ To run the application, you need to generate a special access token and paste it
41
42
42
43
## How to run the Video Conferencing app
43
44
44
-
Below is a list of steps necessary to run the application locally.
45
+
The following details the steps required to run the application locally.
or simply download using the green button on the top of this page and unzip the repository.
51
52
52
53
### Install dependencies
53
54
54
-
Open the main directory with the terminal. If you are using [Yarn](https://yarnpkg.com/), install dependencies with the following command:
55
+
Open the root directory with the terminal. If you are using [Yarn](https://yarnpkg.com/), install dependencies with the following command:
55
56
56
57
```bash
57
58
yarn
@@ -97,38 +98,98 @@ to run the application locally.
97
98
98
99
### Open the app in a browser
99
100
100
-
After printing the appropriate message in the terminal window, open <http://localhost:3000> in the browser. The application will launch at this address.
101
+
After the appropriate message appears in the terminal window, open <http://localhost:3000> in the browser. The application will launch at this address.
101
102
102
103
## How to build the Video Conferencing app
103
104
104
-
Follow the steps of installing dependencies & token configuration from the "How to run the Video Conferencing app" section
105
+
Follow the steps of installing dependencies and token configuration from the "How to run the Video Conferencing app" section.
105
106
106
107
After installing the dependencies, execute the following command:
107
108
108
109
`yarn build`
109
110
110
-
This command generated distribution packages in `/dist` directory.
111
+
This command generates distribution packages in the`/dist` directory.
111
112
112
-
####Base URL configuration
113
+
### Base URL configuration
113
114
114
-
In case you need to serve production content from different path then`/` root, (e.g. extend example.app to example.app/videoconference/) please add the `/.env.production` file with the following content:
115
+
In the event that you need to serve production content from a path other than`/` root, (e.g. extend example.app to example.app/videoconference/) please add the `/.env.production` file with the following content:
115
116
116
-
```
117
+
```bash
117
118
BASE_URL=<YOUR BASE URL PATH>
118
119
```
119
120
120
-
More about Base URL configuration can be found [here](https://vitejs.dev/config/shared-options.html#base).
121
+
Additional information about Base URL configuration can be found [here](https://vitejs.dev/config/shared-options.html#base).
122
+
123
+
### Using live streaming features
124
+
125
+
In order to use live streaming features, you need to run an additional proxy server so that POST methods can be properly handled. An example of such a server is placed in the [/api](api/) folder.
126
+
127
+
> If your application has been started in previous steps, please kill the process and proceed with instructions below.
128
+
129
+
#### Setting up live streaming
130
+
131
+
1. In the project root folder, create an `.env` file and add the following variables
132
+
133
+
```env
134
+
VITE_API_PROXY=localhost
135
+
VITE_PROXY_PORT=4000
136
+
VITE_PROXY_PROTOCOL=http
137
+
VITE_STREAMING=true
138
+
```
139
+
140
+
2. In the `/api` directory, create an `.env` file and fill it with the following properties.
141
+
142
+
```bash
143
+
PORT=4000
144
+
KEY=APP_KEY
145
+
SECRET=APP_SECRET
146
+
HOSTNAME=localhost
147
+
```
148
+
149
+
Your `APP_KEY` and `APP_SECRET` can be found in your Dolby.io dashboard, under the app section. **Do not** wrap them in quote marks.
150
+
151
+

152
+
153
+
3. Staying inside the `/api` directory, install all dependencies by running the following command
154
+
155
+
```bash
156
+
yarn
157
+
```
158
+
159
+
or
160
+
161
+
```bash
162
+
npm install
163
+
```
164
+
165
+
4. To start both the server and application together, run the following command in the **root** directory:
166
+
167
+
```bash
168
+
yarn run dev-proxy
169
+
```
170
+
171
+
or
172
+
173
+
```bash
174
+
npm run dev-proxy
175
+
```
176
+
177
+
> Ports and hostnames in both `.env` files can be set freely by the user but they need to be the same.
178
+
179
+
## Adding Custom layouts to your live stream
180
+
181
+
Please visit this [blog post](https://dolby.io/blog/creating-a-custom-mixer-layout-for-streaming-a-conference/) if you want to explore adding a custom layout to your live stream.
121
182
122
-
## Known issues & limitations
183
+
## Known issues and limitations
123
184
124
185
- Speaker selection is available only on Chrome
125
-
-Copy conference link works only for root directories by default
186
+
-The copy conference link works only for root directories by default
126
187
- In some cases entering a conference may take more than three seconds
127
188
- On Safari 15.4 and below, the local user can hear echo
128
189
129
-
## Requirements & supported platforms
190
+
## Requirements and supported platforms
130
191
131
-
### Video Conference Call App supports 4 main browsers:
192
+
### Video Conference Call App supports four main browsers
# Dolby.io Communications Example Authorisation and Communications proxy
2
+
3
+
Use this proxy server sample code to connect your Dolby.io communications API based project to our backend services and correctly handle POST requests for features such as starting and stopping RTMP streams.
4
+
5
+
> **IMPORTANT! we cannot use demo APP_KEY**
6
+
7
+
## Setup
8
+
9
+
1. Go to the `/api` directory and run following command to install all necessary dependencies:
10
+
11
+
```bash
12
+
yarn
13
+
```
14
+
15
+
or
16
+
17
+
```bash
18
+
npm install
19
+
```
20
+
21
+
2. In the `/api` directory, create an `.env` file and fill it with the following properties.
22
+
23
+
```bash
24
+
PORT=4000
25
+
KEY=APP_KEY
26
+
SECRET=APP_SECRET
27
+
HOSTNAME=localhost
28
+
```
29
+
30
+
Your `APP_KEY` and `APP_SECRET` can be found in your Dolby.io dashboard, under the app section. **Do not** wrap them in quote marks.
31
+
32
+

33
+
34
+
3. You can start the proxy server by running the following command.
35
+
36
+
```bash
37
+
yarn dev
38
+
```
39
+
40
+
or
41
+
42
+
```bash
43
+
npm dev
44
+
```
45
+
46
+
1. Observe the traffic on your terminal window. Once the live stream feature is enabled in the app, ensure you can see logs pertaining to `start` and `stop` and HTTP response codes to indicate a successful connection.
47
+
48
+
```bash
49
+
[0] 2:28:03 pm - Found 0 errors. Watching for file changes.
50
+
[1] Debugger listening on ws://127.0.0.1:9229/ee1f05df-66b8-44c9-b99c-e4952c0d7641
51
+
[1] For help, see: https://nodejs.org/en/docs/inspector
52
+
[1] Debugger listening on ws://127.0.0.1:9229/13a22631-75dd-4bb1-85ee-37f1a168cbb9
53
+
[1] For help, see: https://nodejs.org/en/docs/inspector
0 commit comments