From 302295ec965c3119f3a32128ddfa24fd254a3100 Mon Sep 17 00:00:00 2001 From: hussain-khalid Date: Mon, 10 Jun 2024 23:47:05 +0500 Subject: [PATCH 1/3] Sync with cn docs --- .../project-implementation/flutter.mdx | 1 + .../configure-video-encoding/index.mdx | 76 +++++++++---------- .../project-implementation/android.mdx | 45 +++++------ .../project-implementation/electron.mdx | 18 ++--- .../project-implementation/flutter.mdx | 17 ++--- .../project-implementation/macos.mdx | 1 - .../project-implementation/react-native.mdx | 2 +- .../project-implementation/unity.mdx | 9 ++- .../project-implementation/unreal.mdx | 20 +++-- .../project-implementation/windows.mdx | 3 +- .../project-implementation/android.mdx | 54 ++++++++++--- 11 files changed, 139 insertions(+), 107 deletions(-) diff --git a/shared/video-sdk/develop/screen-sharing/project-implementation/flutter.mdx b/shared/video-sdk/develop/screen-sharing/project-implementation/flutter.mdx index a97051d69..d202b1f69 100644 --- a/shared/video-sdk/develop/screen-sharing/project-implementation/flutter.mdx +++ b/shared/video-sdk/develop/screen-sharing/project-implementation/flutter.mdx @@ -132,6 +132,7 @@ When enabling on Android, you only need to call the `startScr ### Limitations + Be aware of the following limitations: - The video unit price for a screen sharing stream is based on the **video resolution** you set in `ScreenCaptureParameters`. If you do not pass dimensions in `ScreenCaptureParameters`, bills you at the default resolution of 1920 x 1080 (2,073,600). See [Pricing](../overview/pricing) for details. diff --git a/shared/video-sdk/enhance-call-quality/configure-video-encoding/index.mdx b/shared/video-sdk/enhance-call-quality/configure-video-encoding/index.mdx index d9faf3036..76aa20bf0 100644 --- a/shared/video-sdk/enhance-call-quality/configure-video-encoding/index.mdx +++ b/shared/video-sdk/enhance-call-quality/configure-video-encoding/index.mdx @@ -148,44 +148,44 @@ This section contains information that completes the information in this page, o ### Video profiles table - provides a selection of video dimensions, framerate, and bitrate to choose from. You can also customize the values according to the following table: - -| Resolution (width × height) | Frame rate (fps) | Bitrate (Kbps) | -|---------------------------|------------------|------------------------| -| 160 × 120 | 15 | 110 | -| 120 × 120 | 15 | 90 | -| 320 × 180 | 15 | 240 | -| 180 × 180 | 15 | 160 | -| 240 × 180 | 15 | 200 | -| 320 × 240 | 15 | 300 | -| 240 × 240 | 15 | 240 | -| 424 × 240 | 15 | 370 | -| 640 × 360 | 15 | 680 | -| 360 × 360 | 15 | 440 | -| 640 × 360 | 30 | 1030 | -| 360 × 360 | 30 | 670 | -| 480 × 360 | 15 | 550 | -| 480 × 360 | 30 | 830 | -| 640 × 480 | 15 | 750 | -| 480 × 480 | 15 | 680 | -| 640 × 480 | 30 | 1130 | -| 480 × 480 | 30 | 1030 | -| 848 × 480 | 15 | 920 | -| 848 × 480 | 30 | 1400 | -| 640 × 480 | 10 | 600 | -| 960 × 540 | 15 | 1100 | -| 960 × 540 | 30 | 1670 | -| 1280 × 720 | 15 | 1600 | -| 1280 × 720 | 30 | 2400 | -| 960 × 720 | 15 | 1280 | -| 960 × 720 | 30 | 2000 | -| 1920 × 1080 | 15 | 2500 | -| 1920 × 1080 | 30 | 3780 | -| 1920 × 1080 | 60 | 5730 | -| 2560 × 1440 | 30 | 4850 | -| 2560 × 1440 | 60 | 7350 | -| 3840 × 2160 | 30 | 8910 | -| 3840 × 2160 | 60 | 13500 | + provides a selection of video dimensions, and framerate to choose from. You can also customize the values according to the following table: + +| Resolution (width × height) | Frame rate (fps) | +|------------------|------------------| +| 160 × 120 | 15 | +| 120 × 120 | 15 | +| 320 × 180 | 15 | +| 180 × 180 | 15 | +| 240 × 180 | 15 | +| 320 × 240 | 15 | +| 240 × 240 | 15 | +| 424 × 240 | 15 | +| 640 × 360 | 15 | +| 360 × 360 | 15 | +| 640 × 360 | 30 | +| 360 × 360 | 30 | +| 480 × 360 | 15 | +| 480 × 360 | 30 | +| 640 × 480 | 15 | +| 480 × 480 | 15 | +| 640 × 480 | 30 | +| 480 × 480 | 30 | +| 848 × 480 | 15 | +| 848 × 480 | 30 | +| 640 × 480 | 10 | +| 960 × 540 | 15 | +| 960 × 540 | 30 | +| 1280 × 720 | 15 | +| 1280 × 720 | 30 | +| 960 × 720 | 15 | +| 960 × 720 | 30 | +| 1920 × 1080 | 15 | +| 1920 × 1080 | 30 | +| 1920 × 1080 | 60 | +| 2560 × 1440 | 30 | +| 2560 × 1440 | 60 | +| 3840 × 2160 | 30 | +| 3840 × 2160 | 60 | After you set the resolution and frame rate, the SDK automatically sets the corresponding bitrate. Agora does not recommend that you modify the bitrate manually. diff --git a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/android.mdx b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/android.mdx index 362dbf9a7..037709da4 100644 --- a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/android.mdx +++ b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/android.mdx @@ -1,31 +1,32 @@ -Use the `setVideoEncoderConfiguration` method to configure video encoding parameters. -You can call this method at any point after initialization, whether it's before or after joining a channel. For optimal performance, best practice is to enable the video module by calling `enableVideo` before calling `setVideoEncoderConfiguration`. This approach reduces the time required for the first frame to be generated. +Use the `setVideoEncoderConfiguration` method to configure video encoding parameters. You can call this method before `enableVideo` to speed up the time for the first frame to appear. Alternatively, you can call this method within the channel to flexibly adjust video encoding properties. To set video encoder configuration, refer to the following code: ```java -// Set the resolution, frame rate, bitrate, and screen orientation mode for video encoding -VideoEncoderConfiguration.VideoDimensions value = VD_640x360; -try { - // Retrieve the selected value from the interface to set the video dimensions - Field tmp = VideoEncoderConfiguration.class.getDeclaredField(dimension.getSelectedItem().toString()); - tmp.setAccessible(true); - value = (VideoEncoderConfiguration.VideoDimensions) tmp.get(null); -} catch (NoSuchFieldException e) { - Log.e("Field", "Can not find field " + dimension.getSelectedItem().toString()); -} catch (IllegalAccessException e) { - Log.e("Field", "Could not access field " + dimension.getSelectedItem().toString()); -} - -// Apply the configured video encoder settings -engine.setVideoEncoderConfiguration(new VideoEncoderConfiguration( - value, - VideoEncoderConfiguration.FRAME_RATE.valueOf(framerate.getSelectedItem().toString()), - Integer.valueOf(et_bitrate.getText().toString()), - VideoEncoderConfiguration.ORIENTATION_MODE.valueOf(orientation.getSelectedItem().toString()) -)); +// Video encoding configuration +this.engine?.setVideoEncoderConfiguration({ + // Set video codec type to H264 + codecType: VideoCodecType.VideoCodecH264, + // Set video encoding resolution to 640 x 360 (px) + dimensions: { + width: 640, + height: 360, + }, + // Set frame rate to 15 fps + frameRate: 15, + // Set bitrate mode to StandardBitrate + bitrate: 0, + // Set minimum encoding bitrate to 1 Kbps + minBitrate: -1, + // Set orientation mode to Adaptive + orientationMode: OrientationMode.OrientationModeAdaptive, + // Set degradation preference to MaintainQuality + degradationPreference: DegradationPreference.MaintainQuality, + // Disable mirror mode when sending encoded video + mirrorMode: VideoMirrorModeType.VideoMirrorModeDisabled, +}); ``` \ No newline at end of file diff --git a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/electron.mdx b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/electron.mdx index a7928cf7f..f75ad3fa3 100644 --- a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/electron.mdx +++ b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/electron.mdx @@ -1,31 +1,31 @@ -Use the `setVideoEncoderConfiguration` method to configure video encoding parameters. You can call this method at any point after initialization, whether it's before or after joining a channel. For optimal performance, best practice is to enable the video module by calling `enableVideo` before calling `setVideoEncoderConfiguration`. This approach reduces the time required for the first frame to be generated. +Use the `setVideoEncoderConfiguration` method to configure video encoding parameters. You can call this method before `enableVideo` to speed up the time for the first frame to appear; you can also call this method within the channel to flexibly adjust video encoding properties. To set video encoder configuration, refer to the following code: ```javascript -// Video encoding parameter configuration +// Configure video encoding parameters this.engine?.setVideoEncoderConfiguration({ - // Set the video codec type to H.264 + // Set the video codec type to H264 codecType: VideoCodecType.VideoCodecH264, - // Set the video encoding resolution to 640 x 360 pixels + // Set the video encoding resolution to 640 x 360 (px) dimensions: { width: 640, height: 360, }, - // Set the frame rate + // Set the frame rate to 15 fps frameRate: 15, // Set the bitrate mode to StandardBitrate bitrate: 0, - // Set the minimum encoding bitrate - minBitrate: 1, - // Set the rotation mode to Adaptive + // Set the minimum encoding bitrate to 1 Kbps + minBitrate: -1, + // Set the orientation mode to Adaptive orientationMode: OrientationMode.OrientationModeAdaptive, // Set the degradation preference to MaintainQuality degradationPreference: DegradationPreference.MaintainQuality, - // Disable mirroring mode when sending encoded video + // Disable mirror mode when sending encoded video mirrorMode: VideoMirrorModeType.VideoMirrorModeDisabled, }); ``` diff --git a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/flutter.mdx b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/flutter.mdx index 977c32004..906169361 100644 --- a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/flutter.mdx +++ b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/flutter.mdx @@ -1,23 +1,18 @@ -Use the `setVideoEncoderConfiguration` method to configure video encoding parameters. You can call this method at any point after initialization, whether it's before or after joining a channel. For optimal performance, best practice is to enable the video module by calling `enableVideo` before calling `setVideoEncoderConfiguration`. This approach reduces the time required for the first frame to be generated. +Use the `setVideoEncoderConfiguration` method to configure video encoding parameters. You can call this method before `enableVideo` to speed up the time for the first frame to appear, or you can call it within the channel to flexibly adjust video encoding properties. To set video encoder configuration, refer to the following code: ```dart await _engine.setVideoEncoderConfiguration( const VideoEncoderConfiguration( - // Set resolution - dimensions: VideoDimensions(width: 1920, height: 1080), - // Set frame rate - frameRate: 15, - // Set bitrate - bitrate: 800, - // Set rotation mode - orientationMode: OrientationMode.orientationModeAdaptive, - // Set degradation preference - degradationPreference: DegradationPreference.maintainQuality, + dimensions: VideoDimensions(width: 1920, height: 1080), // Set resolution + frameRate: 15, // Set frame rate + bitrate: 800, // Set bitrate + orientationMode: OrientationMode.orientationModeAdaptive, // Set orientation mode + degradationPreference: DegradationPreference.maintainQuality, // Set degradation preference ), ); ``` diff --git a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/macos.mdx b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/macos.mdx index a760991b5..df757d30d 100644 --- a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/macos.mdx +++ b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/macos.mdx @@ -17,5 +17,4 @@ agoraKit.setVideoEncoderConfiguration(AgoraVideoEncoderConfiguration(size: resol bitrate: AgoraVideoBitrateStandard, orientationMode: orientation)) ``` - \ No newline at end of file diff --git a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/react-native.mdx b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/react-native.mdx index de0c17ce9..dbfdf1eaf 100644 --- a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/react-native.mdx +++ b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/react-native.mdx @@ -1,7 +1,7 @@ -Use the `setVideoEncoderConfiguration` method to configure video encoding parameters. You can call this method at any point after initialization, whether it's before or after joining a channel. For optimal performance, best practice is to enable the video module by calling `enableVideo` before calling `setVideoEncoderConfiguration`. This approach reduces the time required for the first frame to be generated. +Use the `setVideoEncoderConfiguration` method to configure video encoding parameters. You can call this method before `enableVideo` to speed up the time for the first frame to appear; you can also call this method within the channel to flexibly adjust video encoding properties. To set video encoder configuration, refer to the following code: diff --git a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/unity.mdx b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/unity.mdx index 3d60def86..906a42d5b 100644 --- a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/unity.mdx +++ b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/unity.mdx @@ -1,7 +1,7 @@ -Use the `setVideoEncoderConfiguration` method to configure video encoding parameters. You can call this method at any point after initialization, whether it's before or after joining a channel. For optimal performance, best practice is to enable the video module by calling `enableVideo` before calling `setVideoEncoderConfiguration`. This approach reduces the time required for the first frame to be generated. +Use the `setVideoEncoderConfiguration` method to configure video encoding parameters. You can call this method before `enableVideo` to speed up the time for the first frame to appear. Alternatively, you can call this method within the channel to flexibly adjust video encoding properties. To set video encoder configuration, refer to the following code: @@ -17,14 +17,15 @@ VideoEncoderConfiguration config = new VideoEncoderConfiguration bitrate = 0, // Set the minimum encoding bitrate to 1 Kbps minBitrate = 1, - // Set the rotation mode to ADAPTIVE + // Set the orientation mode to ADAPTIVE orientationMode = ORIENTATION_MODE.ORIENTATION_MODE_ADAPTIVE, // Set the degradation preference to MAINTAIN_FRAMERATE degradationPreference = DEGRADATION_PREFERENCE.MAINTAIN_FRAMERATE, - // Set the mirror mode to AUTO when sending encoded video + // Set the mirror mode for encoding video to AUTO mirrorMode = VIDEO_MIRROR_MODE_TYPE.VIDEO_MIRROR_MODE_AUTO }; -// Set video encoding properties +// Set the video encoding properties RtcEngine.SetVideoEncoderConfiguration(config); ``` + \ No newline at end of file diff --git a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/unreal.mdx b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/unreal.mdx index 4ea19da25..23d659664 100644 --- a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/unreal.mdx +++ b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/unreal.mdx @@ -1,25 +1,31 @@ -Use the `setVideoEncoderConfiguration` method to configure video encoding parameters. You can call this method at any point after initialization, whether it's before or after joining a channel. For optimal performance, best practice is to enable the video module by calling `enableVideo` before calling `setVideoEncoderConfiguration`. This approach reduces the time required for the first frame to be generated. +Use the `setVideoEncoderConfiguration` method to configure video encoding parameters. You can call this method before `enableVideo` to speed up the time for the first frame to appear; alternatively, you can call this method within the channel to flexibly adjust video encoding properties. To set video encoder configuration, refer to the following code: ```cpp // Create a video encoding configuration object VideoEncoderConfiguration videoConfig; + // Set the video width videoConfig.dimensions.width = 1280; + // Set the video height -videoConfig.dimensions.height = 720; +videoConfig.dimensions.height = 720; + // Set the frame rate to 15 fps -videoConfig.frameRate = FRAME_RATE_FPS_15; +videoConfig.frameRate = FRAME_RATE_FPS_15; + // Set the bitrate to 800 Kbps -videoConfig.bitrate = 800 * 1000; -// Set the rotation mode to ADAPTIVE -videoConfig.orientationMode = ORIENTATION_MODE_ADAPTIVE; +videoConfig.bitrate = 800 * 1000; + +// Set the orientation mode to ADAPTIVE +videoConfig.orientationMode = ORIENTATION_MODE_ADAPTIVE; + // Set the degradation preference to MAINTAIN_QUALITY -videoConfig.degradationPreference = MAINTAIN_QUALITY; +videoConfig.degradationPreference = MAINTAIN_QUALITY; // Apply the video encoding configuration rtcEngine->setVideoEncoderConfiguration(videoConfig); diff --git a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/windows.mdx b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/windows.mdx index 0cdadd815..d23cf9151 100644 --- a/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/windows.mdx +++ b/shared/video-sdk/enhance-call-quality/configure-video-encoding/project-implementation/windows.mdx @@ -1,6 +1,6 @@ -Use the `setVideoEncoderConfiguration` method to configure video encoding parameters. You can call this method at any point after initialization, whether it's before or after joining a channel. For optimal performance, best practice is to enable the video module by calling `enableVideo` before calling `setVideoEncoderConfiguration`. This approach reduces the time required for the first frame to be generated. +Use the `setVideoEncoderConfiguration` method to configure video encoding parameters. You can call this method before `enableVideo` to speed up the time for the first frame to appear. Alternatively, you can call this method within the channel to flexibly adjust video encoding properties. To set video encoder configuration, refer to the following code: @@ -22,6 +22,5 @@ videoConfig.degradationPreference = MAINTAIN_QUALITY; // Apply the video encoding configuration rtcEngine->setVideoEncoderConfiguration(videoConfig); - ``` \ No newline at end of file diff --git a/shared/video-sdk/get-started/get-started-sdk/project-implementation/android.mdx b/shared/video-sdk/get-started/get-started-sdk/project-implementation/android.mdx index a950b545a..9b176c1f7 100644 --- a/shared/video-sdk/get-started/get-started-sdk/project-implementation/android.mdx +++ b/shared/video-sdk/get-started/get-started-sdk/project-implementation/android.mdx @@ -508,7 +508,10 @@ public class MainActivity extends AppCompatActivity { options.channelProfile = Constants.CHANNEL_PROFILE_COMMUNICATION; // Set the user role to BROADCASTER (host) or AUDIENCE (audience) options.clientRoleType = Constants.CLIENT_ROLE_BROADCASTER; - + // Publish the audio collected by the microphone + options.publishMicrophoneTrack = true; + // Automatically subscribe to all audio streams + options.autoSubscribeAudio = true; // Join the channel using a temporary Token, specify the user ID, and ensure its uniqueness within the channel mRtcEngine.joinChannel(token, channelName, 0, options); } @@ -557,8 +560,13 @@ public class MainActivity extends AppCompatActivity { @Override protected void onDestroy() { super.onDestroy(); - // Leave the channel - mRtcEngine.leaveChannel(); + if (mRtcEngine != null) { + // Leave the channel + mRtcEngine.leaveChannel(); + mRtcEngine = null; + // Destroy the engine + RtcEngine.destroy(); + } } }`} @@ -799,6 +807,14 @@ options.clientRoleType = Constants.CLIENT_ROLE_BROADCASTER; options.channelProfile = Constants.CHANNEL_PROFILE_LIVE_BROADCASTING; // Set the latency level for optimal performance options.audienceLatencyLevel = Constants.AUDIENCE_LATENCY_LEVEL_LOW_LATENCY; +// Publish the audio captured by the microphone +options.publishMicrophoneTrack = true; +// Publish the video captured by the camera +options.publishCameraTrack = true; +// Automatically subscribe to all audio streams +options.autoSubscribeAudio = true; +// Automatically subscribe to all video streams +options.autoSubscribeVideo = true; // Use the temporary token to join thea channel // Specify the user ID yourself and ensure it is unique within the channel @@ -818,6 +834,14 @@ options.clientRoleType = Constants.CLIENT_ROLE_BROADCASTER; options.channelProfile = Constants.CHANNEL_PROFILE_LIVE_BROADCASTING; // Set the latency level for optimal performance options.audienceLatencyLevel = Constants.Constants.AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY; +// Publish the audio captured by the microphone +options.publishMicrophoneTrack = true; +// Publish the video captured by the camera +options.publishCameraTrack = true; +// Automatically subscribe to all audio streams +options.autoSubscribeAudio = true; +// Automatically subscribe to all video streams +options.autoSubscribeVideo = true; // Use the temporary token to join thea channel // Specify the user ID yourself and ensure it is unique within the channel @@ -845,12 +869,11 @@ private void setupRemoteVideo(int uid) { ### Join a channel and publish audio stream -1. Create a `ChannelMediaOptions` object and configure it to: - - 1. Set the channel profile to `CHANNEL_PROFILE_LIVE_BROADCASTING`. - 1. Set the user role to `CLIENT_ROLE_BROADCASTER` (host) or `CLIENT_ROLE_AUDIENCE` (audience). +Call `joinChannel` to join the channel. Configure the `ChannelMediaOptions` as follows: -1. Call the `joinChannel` method to join the channel, passing the configured `ChannelMediaOptions` object as a parameter. +- Set the channel profile to `BROADCASTING` (live broadcast scene) and set the user role to `BROADCASTER` (host) or `AUDIENCE` (audience). +- Set `publishMicrophoneTrack` to `true` to publish the audio captured by the microphone. +- Set `autoSubscribeAudio` to `true` to automatically subscribe to all audio streams. ```java // Create an instance of ChannelMediaOptions and configure it @@ -859,11 +882,13 @@ ChannelMediaOptions options = new ChannelMediaOptions(); options.clientRoleType = Constants.CLIENT_ROLE_BROADCASTER; // In the live broadcast scenario, set the channel profile to BROADCASTING (live broadcast scenario) options.channelProfile = Constants.CHANNEL_PROFILE_LIVE_BROADCASTING; - +// Publish the audio collected by the microphone +options.publishMicrophoneTrack = true; +// Automatically subscribe to all audio streams +options.autoSubscribeAudio = true; // Use the temporary token to join thea channel // Specify the user ID yourself and ensure it is unique within the channel mRtcEngine.joinChannel(token, channelName, 0, options); - ``` @@ -907,8 +932,13 @@ When a user launches your , start real-time interaction. When a @Override protected void onDestroy() { super.onDestroy(); - // Leave the channel - mRtcEngine.leaveChannel(); + if (mRtcEngine != null) { + // Leave the channel + mRtcEngine.leaveChannel(); + mRtcEngine = null; + // Destroy the engine + RtcEngine.destroy(); + } } ``` From 0cac9ab66856bcae98b151330780bc34efc0d2fa Mon Sep 17 00:00:00 2001 From: hussain-khalid Date: Tue, 11 Jun 2024 11:30:36 +0500 Subject: [PATCH 2/3] https://github.com/AgoraIO/shengwang-doc-source/commit/a50d647aebfcec232dfe6ea60cec40fa01fc7577 --- .../develop/screen-sharing/project-implementation/web.mdx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/shared/video-sdk/develop/screen-sharing/project-implementation/web.mdx b/shared/video-sdk/develop/screen-sharing/project-implementation/web.mdx index 744407598..e702eea43 100644 --- a/shared/video-sdk/develop/screen-sharing/project-implementation/web.mdx +++ b/shared/video-sdk/develop/screen-sharing/project-implementation/web.mdx @@ -250,7 +250,8 @@ Subscribing to your own track incurs additional charges, as illustrated in the f ![Electron Screen Share Subscribing Yourself Additional Charges](/images/video-sdk/screen-sharing-web-electron-subscribing-yourself.svg) - suggests that, to avoid double billing, the `uid` returned by each client after successfully joining a channel should be stored in a list. Each time a `user-published` event is monitored, first determine if the track is a local track, and if so, do not subscribe. +- suggests that, to avoid double billing, the `uid` returned by each client after successfully joining a channel should be stored in a list. Each time a `user-published` event is monitored, first determine if the track is a local track, and if so, do not subscribe. +- The client sharing the screen should not subscribe to any streams. ### Limitations From 6c04c2ec1d27369f25cd9419b0952d09cd634dd8 Mon Sep 17 00:00:00 2001 From: atovpeko Date: Tue, 18 Jun 2024 11:53:00 +0300 Subject: [PATCH 3/3] review --- .../enhance-call-quality/configure-video-encoding/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/video-sdk/enhance-call-quality/configure-video-encoding/index.mdx b/shared/video-sdk/enhance-call-quality/configure-video-encoding/index.mdx index 76aa20bf0..b946a4363 100644 --- a/shared/video-sdk/enhance-call-quality/configure-video-encoding/index.mdx +++ b/shared/video-sdk/enhance-call-quality/configure-video-encoding/index.mdx @@ -148,7 +148,7 @@ This section contains information that completes the information in this page, o ### Video profiles table - provides a selection of video dimensions, and framerate to choose from. You can also customize the values according to the following table: + provides a selection of video dimensions and frame rates to choose from. You can also customize the values according to the following table: | Resolution (width × height) | Frame rate (fps) | |------------------|------------------|