diff --git a/docusaurus/video/docusaurus/docs/api/basics/authentication.mdx b/docusaurus/video/docusaurus/docs/api/basics/authentication.mdx index 6a10d886..949b8554 100644 --- a/docusaurus/video/docusaurus/docs/api/basics/authentication.mdx +++ b/docusaurus/video/docusaurus/docs/api/basics/authentication.mdx @@ -10,7 +10,7 @@ import TabItem from '@theme/TabItem'; ## Creating users -Stream Users require only an id to be created. Users can be created with role of user or admin. The role will be set to user if a value is not provided in the request. There are additional properties you can provide to further describe your users. +Stream Users require only an ID to be created. Users can be created with the role of user or admin. The role will be set to user if a value is not provided in the request. There are additional properties you can provide to further describe your users. The `name` and `image` fields are special fields that are supported by client-side SDKs. @@ -55,7 +55,7 @@ client.upsert_users(users=users) There are two ways to update user objects: - Updating will replace the existing user object -- Partial update will let you choose which fields you want to chage/unset +- Partial update will let you choose which fields you want to change/unset @@ -99,7 +99,7 @@ Anonymous users are users that are not authenticated. It's common to use this fo ## Guest users -Guest users are temporary user accounts. You can use it to temporarily give someone a name and image when joining a call. Guest users can aslso be created cliend-side. +Guest users are temporary user accounts. You can use it to temporarily give someone a name and image when joining a call. Guest users can aslso be created client-side. @@ -123,7 +123,7 @@ const guest = (await client.createGuest({ user: guest })).user; While it is usually safer for data retention to deactivate a user, some use cases require completely deleting a user and their data. -Once a user has been deleted, it cannot be un-deleted and the user_id cannot be used again. +Once a user has been deleted, it cannot be un-deleted, and the user_id cannot be used again. @@ -141,12 +141,12 @@ client.deleteUser({ userId: '' }); ## User tokens -Stream uses JWT (JSON Web Tokens) to authenticate chat users, enabling them to login. Knowing whether a user is authorized to perform certain actions is managed separately via a role based permissions system. Tokens need to be generated server-side. +Stream uses JWT (JSON Web Tokens) to authenticate chat users, enabling them to log in. Knowing whether a user is authorized to perform certain actions is managed separately via a role-based permissions system. Tokens need to be generated server-side. You can optionally provide - Expiration time. By default tokens don't have an expiration date. -- Issued at date which is necessary if you manually wan to revoke tokens. By default the issued at date is set to the current date. +- Issued at date, which is necessary if you manually want to revoke tokens. By default, the issued at date is set to the current date. @@ -221,5 +221,5 @@ client.create_token(user_id=user_id, exp, iat, call_cids) ## Provisioning token in production -Your authentication service is responsible for generating token for your users. It is highly recommended to always create tokens with an expiration. -All SDK make it easy to automatically re-fetch tokens from your backend servers with token providers when they expire. +Your authentication service is responsible for generating tokens for your users. It is highly recommended to always create tokens with an expiration. +All SDKs make it easy to automatically re-fetch tokens from your backend servers with token providers when they expire. diff --git a/docusaurus/video/docusaurus/docs/api/basics/calls.mdx b/docusaurus/video/docusaurus/docs/api/basics/calls.mdx index b181521b..acc81029 100644 --- a/docusaurus/video/docusaurus/docs/api/basics/calls.mdx +++ b/docusaurus/video/docusaurus/docs/api/basics/calls.mdx @@ -12,7 +12,7 @@ import TabItem from '@theme/TabItem'; You can create a call by providing the call type and an ID: -- The [call type](call_types/builtin) controls which features are enabled, and sets up permissions. +- The [call type](call_types/builtin) controls which features are enabled and sets up permissions. - Calls IDs can be reused, which means they can be joined multiple times, so it's possible to set up recurring calls. You can optionally restrict call access by providing a list of users. @@ -145,7 +145,7 @@ curl -X PUT "https://video.stream-io-api.com/video/call/default/${CALL_ID}?api_k ## Manage call members -Call members can be added and removed as necessary. Their role's can also be changed. +Call members can be added and removed as necessary. Their roles can also be changed. @@ -210,7 +210,7 @@ For many video calling, live stream, or audio rooms apps, you'll want to show: - Calls that are currently live - Popular live streams / audio rooms with a link to the recording -Below you can find a few examples of different quieries: +Below you can find a few examples of different queries: @@ -268,7 +268,7 @@ client.query_calls( -Filter expressions support multiple match criteria and it's also possible to combine filters. For more information visit the [filter operators](https://getstream.io/chat/docs/node/query_syntax_operators/?language=javascript) guide. +Filter expressions support multiple match criteria, and it's also possible to combine filters. For more information, visit the [filter operators](https://getstream.io/chat/docs/node/query_syntax_operators/?language=javascript) guide. ## Query call members @@ -328,4 +328,4 @@ call.query_members( -Filter expressions support multiple match criteria and it's also possible to combine filters. For more information visit the [filter operators](https://getstream.io/chat/docs/node/query_syntax_operators/?language=javascript) guide. +Filter expressions support multiple match criteria, and it's also possible to combine filters. For more information, visit the [filter operators](https://getstream.io/chat/docs/node/query_syntax_operators/?language=javascript) guide. diff --git a/docusaurus/video/docusaurus/docs/api/basics/get_started.mdx b/docusaurus/video/docusaurus/docs/api/basics/get_started.mdx index d8356773..f1c49839 100644 --- a/docusaurus/video/docusaurus/docs/api/basics/get_started.mdx +++ b/docusaurus/video/docusaurus/docs/api/basics/get_started.mdx @@ -9,15 +9,15 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import RTMP from '../_common_/rtmp.mdx'; -For the average Stream integration, the development work focuses on code that executes in the client. However, some tasks must be executed from the server for safety (for example token generation). +For the average Stream integration, the development work focuses on code that executes in the client. However, some tasks must be executed from the server for safety (for example, token generation). -Stream provides server-side SDKs to help executing these tasks. +Stream provides server-side SDKs to help execute these tasks. You can reference our [development roadmap](https://github.com/GetStream/protocol/discussions/177) to know which languages and features are supported. ## Installation -All official SDK are available on package managers, full source code is available on the GetStream Github organization. +All official SDKs are available on package managers, full source code is available on the GetStream Github organization. @@ -40,7 +40,7 @@ pip install getstream ## Creating client -To create a server-side client you'll need your **API key** and **secret**, both of them can be found in your [Stream Dashboard](https://dashboard.getstream.io/). +To create a server-side client, you'll need your **API key** and **secret**. Both of them can be found in your [Stream Dashboard](https://dashboard.getstream.io/). @@ -65,7 +65,7 @@ client = Stream(api_key="your_api_key", api_secret="your_api_secret") ## Creating user tokens -Tokens need to be generated server-side. Typically you integrate this into the part of your codebase where you login or register users. The tokens provide a way to authenticate a user or give access to a specific set of video/audio calls. +Tokens need to be generated server-side. Typically, you integrate this into the part of your codebase where you log in or register users. The tokens provide a way to authenticate a user or give access to a specific set of video/audio calls. @@ -94,7 +94,7 @@ token = client.create_token("admin-user") You can create a call by providing the call type and an ID: -- The [call type](call_types/builtin) controls which features are enabled, and sets up permissions. +- The [call type](call_types/builtin) controls which features are enabled and sets up permissions. - Calls IDs can be reused, which means they can be joined multiple times, so it's possible to set up recurring calls. You can optionally restrict call access by providing a list of users. @@ -192,7 +192,7 @@ curl -X PUT "https://video.stream-io-api.com/video/call/default/${CALL_ID}/membe ## Updating a call -- Most of the call type settings can be overriden on a call level. +- Most of the call type settings can be overridden on a call level. - Custom data can also be stored for calls. @@ -293,7 +293,7 @@ curl -X POST "https://video.stream-io-api.com/video/call/default/${CALL_ID}/star -Almost all livestream software and hardware supports RTMPS. Our API supports using a third-party software for streaming using RTMPS. For more information reference the [Streaming section](streaming/overview/). +Almost all livestream software and hardware supports RTMPS. Our API supports using third-party software for streaming using RTMPS. For more information, reference the [Streaming section](streaming/overview/). The following example shows how to get the RTMP address that you need to provide for the third-party software: @@ -303,7 +303,7 @@ The following example shows how to get the RTMP address that you need to provide Calls can be recorded for later use. Calls recording can be started/stopped via API calls or configured to start automatically when the first user joins the call. -For more information see the [Recordings section](recording/calls/). +For more information, see the [Recordings section](recording/calls/). The following example shows how to start and stop recording: diff --git a/docusaurus/video/docusaurus/docs/api/call_types/geofencing.mdx b/docusaurus/video/docusaurus/docs/api/call_types/geofencing.mdx index 370574f9..843b9153 100644 --- a/docusaurus/video/docusaurus/docs/api/call_types/geofencing.mdx +++ b/docusaurus/video/docusaurus/docs/api/call_types/geofencing.mdx @@ -6,21 +6,20 @@ title: Geofencing --- With geofencing, you can define which edge nodes are utilized for video calls within specific geo-fenced areas. -You can set geo-fences to a call type or specify when creating a new call. Multiple geo-fences can be used at the same time. +You can set geofences to a call type or specify when creating a new call. Multiple geo-fences can be used at the same time. +At this present, you can only select from a predefined list of geofences: -At this present you can only select from a predefined list of geo-fences: - -| Name | Description | -|-------------------|-----------------------------------------------------------------------------------------------------------------| -| european_union | The list of countries that are part of european union | -| united_states | Only selects edges in US | -| canada | Only selects edges in Canada | -| united_kingdom | Only selects edges in the United Kingdom | -| india | Only selects edges in India | -| china_exclusion | Excludes edges running in mainland China (currently Stream edge infrastructure does not have any edge in China) | -| russia_exclusion | Excludes edges running in Russia | -| belarus_exclusion | Excludes edges running in Belarus | +| Name | Description | +| ----------------- | ---------------------------------------------------------------------------------------------------------------- | +| european_union | The list of countries that are part of european union | +| united_states | Only selects edges in US | +| canada | Only selects edges in Canada | +| united_kingdom | Only selects edges in the United Kingdom | +| india | Only selects edges in India | +| china_exclusion | Excludes edges running in mainland China (currently, Stream edge infrastructure does not have any edge in China) | +| russia_exclusion | Excludes edges running in Russia | +| belarus_exclusion | Excludes edges running in Belarus | import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -52,4 +51,4 @@ call.create({ ``` - \ No newline at end of file + diff --git a/docusaurus/video/docusaurus/docs/api/call_types/permissions.mdx b/docusaurus/video/docusaurus/docs/api/call_types/permissions.mdx index 2eff3b0d..6a8a43a6 100644 --- a/docusaurus/video/docusaurus/docs/api/call_types/permissions.mdx +++ b/docusaurus/video/docusaurus/docs/api/call_types/permissions.mdx @@ -14,17 +14,17 @@ import TabItem from '@theme/TabItem'; This page shows how you can create or update roles for a call type. -Stream has a role-based permission system. Each user has an application level role, and also channel (chat product) and call (video product) level roles. Every role (be it application or call/channel level) contains a list of capabilities. A capability is an action (for example create call). The list of capabilities assigned to a role defines what a user is allowed to do. Call roles are defined on the call type level. +Stream has a role-based permission system. Each user has an application-level role, and also channel (chat product) and call (video product) level roles. Every role (be it application or call/channel level) contains a list of capabilities. A capability is an action (for example, create a call). The list of capabilities assigned to a role defines what a user is allowed to do. Call roles are defined on the call type level. ## Configuring roles -When you create a call type you can specify your role configurations. A role configuration consists of a role name and the list of capabilities that are enabled for that role. +When you create a call type, you can specify your role configurations. A role configuration consists of a role name and the list of capabilities that are enabled for that role. -When you create a call type it comes with a default set of configuration. You can override or extend that. +When you create a call type, it comes with a default set of configurations. You can override or extend that. -The following example overrides the capabilities of the built-in `admin` role, and defines the `customrole`. +The following example overrides the capabilities of the built-in `admin` role and defines the `customrole`. -Please note that for the below code to work you need to create the `customrole` beforehand, you can do that in your [Stream Dashboard](https://dashboard.getstream.io/). +Please note that for the below code to work, you need to create the `customrole` beforehand. You can do that in your [Stream Dashboard](https://dashboard.getstream.io/). diff --git a/docusaurus/video/docusaurus/docs/api/call_types/settings.mdx b/docusaurus/video/docusaurus/docs/api/call_types/settings.mdx index 7aa862c7..b6529678 100644 --- a/docusaurus/video/docusaurus/docs/api/call_types/settings.mdx +++ b/docusaurus/video/docusaurus/docs/api/call_types/settings.mdx @@ -17,7 +17,7 @@ The Stream API provides multiple configuration options on the call type level. - You can provide the settings when creating or updating a call type -- For maximum flexiblity you can ovverride the settings on the call-level when creating or updating a call +- For maximum flexibility, you can override the settings on the call level when creating or updating a call ## Code examples diff --git a/docusaurus/video/docusaurus/docs/api/recording/recording_calls.mdx b/docusaurus/video/docusaurus/docs/api/recording/recording_calls.mdx index e9863315..067c0ece 100644 --- a/docusaurus/video/docusaurus/docs/api/recording/recording_calls.mdx +++ b/docusaurus/video/docusaurus/docs/api/recording/recording_calls.mdx @@ -9,11 +9,11 @@ import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; Calls can be recorded for later use. Calls recording can be started/stopped via API calls or configured to start automatically when the first user joins the call. -Call recording is done by Stream server-side and later stored on AWS S3, you can also configure your Stream application to have files stored on your own S3 bucket (in that case storage costs will not apply). +Call recording is done by Stream server-side and later stored on AWS S3. You can also configure your Stream application to have files stored on your own S3 bucket (in that case, storage costs will not apply). -By default, calls will be recorded as mp4 video files, you can configure recording to only capture the audio. +By default, calls will be recorded as mp4 video files. You can configure recording to only capture the audio. -Note: by default recordings contain all tracks mixed in a single file, you can follow the discussion [here](https://github.com/GetStream/protocol/discussions/247) if you are interested in different ways to record calls. +Note: by default, recordings contain all tracks mixed in a single file. You can follow the discussion [here](https://github.com/GetStream/protocol/discussions/247) if you are interested in different ways to record calls. ## Start and stop call recording @@ -244,14 +244,14 @@ call.update( Recording can be customized in several ways: - You can pick one of the built-in layouts and pass some options to it -- You can customize more in detail the style of the call by providing your own CSS file +- You can further customize the style of the call by providing your own CSS file - You can use your own recording application There are three available layouts you can use for your calls: `"single_participant"`, `"grid"` and `"spotlight"` ### Single Participant -This layout shows only one participant video at the time, other video tracks are hidden. +This layout shows only one participant video at a time, other video tracks are hidden. @@ -470,7 +470,7 @@ def hello_world(): If needed, you can use your own custom application to record a call. This is the most flexible and complex approach to record calls, make sure to reach out to our customer support before going with this approach. -The layout app used to record calls is available on Github and is a good starting point, the repository also includes information on how to build your own. +The layout app used to record calls is available on GitHub and is a good starting point. The repository also includes information on how to build your own. @@ -504,4 +504,4 @@ def hello_world(): ## Client-side recording -Unfortunately there is no direct support for client-side recording at the moment. Call recording at the moment is done by Stream server-side. If client-side recording is important for you please make sure to follow the conversation [here](https://github.com/GetStream/protocol/discussions/249). +Unfortunately, there is no direct support for client-side recording at the moment. Call recording at the moment is done by Stream server-side. If client-side recording is important for you please make sure to follow the conversation [here](https://github.com/GetStream/protocol/discussions/249). diff --git a/docusaurus/video/docusaurus/docs/api/streaming/backstage.mdx b/docusaurus/video/docusaurus/docs/api/streaming/backstage.mdx index 31dc2672..860ffd7d 100644 --- a/docusaurus/video/docusaurus/docs/api/streaming/backstage.mdx +++ b/docusaurus/video/docusaurus/docs/api/streaming/backstage.mdx @@ -11,7 +11,7 @@ import GoLive from '../_common_/go_live.mdx'; ## Introduction -By default livestreams are created in backstage mode, when in backstage mode streams can only be accessed by admin-like users. +By default, livestreams are created in backstage mode, while in backstage mode, streams can only be accessed by admin-like users. This is necessary because it makes it possible to create the setup in advance and to notify and grant access to viewers when the event starts. ## Configuration @@ -72,7 +72,7 @@ Setting the backstage mode to `false` means that calls won't be created in backs ## Backstage Permissions -When a call is in backstage mode only users with the `join-backstage` capability are allowed to join. +When a call is in backstage mode, only users with the `join-backstage` capability are allowed to join. @@ -102,9 +102,9 @@ With this approach you can add multiple members that have the `join-backstage` c ## Go Live -When the hosts are ready to start the stream and allow viewers to join you can call the `GoLive` method. +When the hosts are ready to start the stream and allow viewers to join, you can call the `GoLive` method. -Optionally you can start HLS broadcast and/or recording at the same time as going live. +Optionally, you can start the HLS broadcast and/or recording at the same time as going live. diff --git a/docusaurus/video/docusaurus/docs/api/streaming/overview.mdx b/docusaurus/video/docusaurus/docs/api/streaming/overview.mdx index 3557d856..8729637e 100644 --- a/docusaurus/video/docusaurus/docs/api/streaming/overview.mdx +++ b/docusaurus/video/docusaurus/docs/api/streaming/overview.mdx @@ -11,9 +11,9 @@ import TabItem from '@theme/TabItem'; import GoLive from '../_common_/go_live.mdx'; import RTMP from '../_common_/rtmp.mdx'; -In this section we are going to explain how you can use Stream to power different livestream use-cases. +In this section, we are going to explain how you can use Stream to power different livestream use cases. -Stream video allows you to power ultra low-latency streaming (hundreds of milliseconds). This is made possible by our worldwide edge infrastructure which support WebRTC for consuming and sending video. +Stream video allows you to power ultra-low-latency streaming (hundreds of milliseconds). This is made possible by our worldwide edge infrastructure, which supports WebRTC for consuming and sending video. Other important features related to livestream that are discussed in this section: @@ -45,31 +45,31 @@ const response = await call.getOrCreate({ -The built-in `livestream` call type has sensible defaults for livestreaming. However you can customize that call type, or create your own to better match your requirements. More information on this topic can be found in the [Call Types section](../../call_types/builtin). +The built-in `livestream` call type has sensible defaults for livestreaming. However, you can customize that call type or create your own to better match your requirements. More information on this topic can be found in the [Call Types section](../../call_types/builtin). ### Set the call live -By default livestreams are created in backstage mode, when in backstage mode streams can only be accessed by admin-like users. +By default, livestreams are created in backstage mode. When in backstage mode, streams can only be accessed by admin-like users. This is necessary because it makes it possible to create the setup in advance and to notify and grant access to viewers when the event starts. -All we need to do in this case is call the `GoLive` method on the call object and that will make it accessible to viewers. +All we need to do in this case is call the `GoLive` method on the call object, and that will make it accessible to viewers. -For more information see the [Backstage page](../backstage). +For more information, see the [Backstage page](../backstage). ### Test watching the stream -The Stream API supports two different kind of streams: +The Stream API supports two different kinds of streams: - [WebRTC](../webrtc) - [HLS](../hls) -For testing purposes you can use this [simple example application](https://codesandbox.io/s/javascript-livestream-viewer-lwzgmw) that can play WebRTC and HLS streams as well. Don't forget to provide the necessary credentials before testing. +For testing purposes, you can use this [simple example application](https://codesandbox.io/s/javascript-livestream-viewer-lwzgmw) that can play WebRTC and HLS streams as well. Don't forget to provide the necessary credentials before testing. ### Test sending video via WebRTC -For testing purposes you can use this [simple example host application](https://codesandbox.io/s/javascript-livestream-host-3hs4vt). You can open the application multiple times which allows you to have multiple hosts, who can send multiple audio/video streams. Don't forget to provide the necessary credentials before testing. +For testing purposes, you can use this [simple example host application](https://codesandbox.io/s/javascript-livestream-host-3hs4vt). You can open the application multiple times which allows you to have multiple hosts, who can send multiple audio/video streams. Don't forget to provide the necessary credentials before testing. ### Test sending video via RTMP using OBS @@ -89,8 +89,8 @@ Press start streaming in OBS. The RTMP stream will now show up in your call just You can test the livestream with the test application linked above. -For more information on this topic see the [RTMP page](../rtmp). +For more information on this topic, see the [RTMP page](../rtmp). ## Recording -Liverstreams (and any others calls) can be recorded for later use, for more information see the [Recording section](../../recording/calls). +Liverstreams (and any other calls) can be recorded for later use. For more information see the [Recording section](../../recording/calls).