Web SDK release notes

更新时间:
复制 MD 格式

This topic describes the features of each Web SDK version.

V 1.5.0 (2022-04-25)

  • The degradation policy is a publishing parameter that can be set to either fluency-first or definition-first. For more information, see the degradationType field in the InitRoomConfig and Publish interfaces.

  • Screen sharing: Added support for audio in tabs (tabs only). For more information, see the enableDesktopAudio field in the InitRoomConfig and Publish interfaces.

  • Screen sharing: Optimized the listener logic for the desktop sharing shutdown event.

  • Fixed an error in Safari: RTCRtpSender.getCapabilities.

  • Audio and video quality statistics: Added support for some mobile browsers.

V 1.4.9 (2022-01-21)

  • Optimized the status listener logic for cameras and microphones during calls.

  • Fixed an issue where RTCIceServer.url was deprecated.

  • Deprecated the OnGetSign interface. You now pass the sign parameter. This change is compatible with previous connection types.

  • Added the crf (definition) and tagPositions (custom video layout) recording parameters. For more information, see the parameter descriptions in Appendix.

  • Added publishing parameters to support custom settings for resolution, frame rate, and bitrate.

  • Added the OnFileStreamClosed callback interface for file sharing shutdown.

  • Added the OnDesktopDisplayClosed callback interface for desktop sharing shutdown.

V 1.4.8 (2021-10-12)

  • Added the StreamFilterHandler feature to support custom stream editing.

  • Removed version checks for non-Chrome browsers. A mandatory alert is now used.

Note

The release notes for versions earlier than V1.4.8 are no longer maintained.

V 1.4.7 (2021-08-23)

  • Deprecated the ice_relay_ip_array parameter. Configure it on the server.

  • Added support for playing and pausing shared audio and video files.

  • Added a choice for automatic publishing and subscription. Option 5 is added to the auto_publish_subscribe parameter.

  • Added support for custom stream ingest.

  • Added an interface to switch camera resolution.

  • Optimized browser recording:

    • Supports setting the canvas size.

    • Supports timestamp, text, and image watermarks.

V 1.4.6 (2021-06-08)

  • Fixed an issue where shared video files could not be viewed on the peer end in Chrome 88 and later.

V 1.4.5 (2021-05-18)

  • Added the 540p resolution option.

  • Refactored the internal architecture of the software development kit (SDK).

  • Events are now sent when switching streams, and the mediaSource is changed.

  • Added support for real-time watermark changes in server-side recording.

  • Adjusted the startup parameters for server-side recording. This change is compatible with previous parameters. For more information, see Appendix.

V 1.4.4 (2021-03-04)

  • Browser recording now supports four ingest endpoints.

  • Added a white border to separate streams in browser recordings.

V 1.4.3 (2021-02-24)

  • Added the 1280p resolution option.

  • You can adjust the bitrate for each profile.

  • Added support for custom configuration of multiple public IP addresses for relay agents.

  • Set bundlePolicy to max-bundle. Multiple streams now share the same ICE.

V 1.4.2 (2021-01-21)

  • Fixed a configuration issue with custom relay servers in automatic subscription mode.

V 1.4.1 (2021-01-14)

  • Fixed an abnormal heartbeat issue when entering a channel for the first time after SDK initialization.

  • Fixed an issue where some server-pushed messages did not receive an ACK.

  • Optimized custom area sharing.

  • Added loose connection detection for the camera interface with support for automatic recovery.

  • Added support for publishing audio-only streams without passing a video tag. Added support for subscribing to video-only or audio-only streams by passing only a video or audio tag.

  • Added a feature to pre-start the camera or microphone.

V 1.4.0 (2020-12-17)

  • Fixed an issue where no callback was received after a custom stream ingest was successfully published.

  • Fixed an issue where frame rate switching failed.

  • Added support for adding a publish tag watermark to each frame in server-side recordings.

  • Fixed an issue where the RTMP address setting for live streaming was invalid.

V 1.3.9 (2020-12-09)

  • Fixed a blur issue in custom stream ingest.

V 1.3.8 (2020-12-02)

  • Fixed a bug where an error occurred if you started a recording when no stream was being published in the channel.

V 1.3.7 (2020-11-23)

  • Audio and video calls now support H5 on Android Chrome browsers (VP8, with H.264 support on some models) and iOS Safari (H.264).

V 1.3.6 (2020-11-06)

  • Deprecated the ASR and TTS features.

V 1.3.5 (2020-11-02)

  • Server-side recording now supports custom layouts. See the mixPosition parameter in main call interfaces 3 and 21.

  • Added support for multiple concurrent publications.

V 1.3.4 (2020-09-29)

  • Server-side recording now supports two end types, in addition to ending by an active call. See the endType parameter in main call interfaces 3 and 21.

  • Fixed an issue where plugging or unplugging an external microphone caused a loss of audio.

V 1.3.3 (2020-09-02)

  • Server-side recording now supports a silence feature. See the silentRecord parameter in main call interfaces 3 and 21.

V 1.3.2 (2020-08-25)

  • Fixed an issue in client-side recording where inconsistent video heights caused black bars to appear below shorter videos after they were stitched together.

  • Fixed an issue where server-side recording would time out during initialization if no stream was being published in the channel.

V 1.3.1 (2020-08-14)

  • Renamed the server-side recording callback interfaces. This change is compatible with previous interfaces.

  • Added pause and resume features for server-side recording.

V 1.3.0 (2020-08-12)

  • Added the record_third_id parameter for server-side recording. This parameter helps you distinguish between call batches. Pass it when you start a recording (see main call interfaces 3 and 21). It is returned in the callbacks for successful initialization, successful start, and failed start (see callback interfaces 33, 34, and 63).

  • Added support for starting concurrent recordings.

V 1.2.9 (2020-08-11)

  • Optimized audio and video quality statistics.

  • Removed the concurrency limit for server-side recording.

V 1.2.8 (2020-08-07)

  • Browser recording: Upgraded the interface and added more configuration options. The original main call interface 16 is deprecated. The new interface is main call interface 40.

  • Server-side recording: Added tagFilter and tagPostion configurations. See main call interfaces 3 and 21.

  • Added a third-party business ID property to channel initialization. See main call interface 3.

V 1.2.7 (2020-07-28)

  • Added the maximum publishing bitrate parameter publish_bitrate:

    • The InitRoomConfig API (see Core API 3).

    • The Publish API (see Core API 9).

    • The ChangeMediaStream API (see Core API 37).

  • Custom stream ingest now supports PDF files.

  • Server-side recording now supports timestamp watermarks, image watermarks, and multi-user recording. See main call interfaces 3 and 21.

  • Added support for configuring a custom relay server (defaultTurnServer). See main call interface 3.

V 1.2.6

  • Fixed an issue where the timer was not purged after an ICE connection was established.

V 1.2.5

  • Fixed an issue where browser-side recording information was not destroyed after leaving a channel.

V 1.2.4

  • Adjusted browser recording interfaces

    • Main call interface adjustments

      • StartRecord: Removed the targetType parameter and added the timeSlice parameter. The recordType value is adjusted to 1, 2, or 3 (see main call interface 16).

      • DownloadRecord: Removed the returnType parameter (see main call interface 20).

    • Callback notification interface adjustments

      • OnClientStartRecordSuccess: Removed the targetType parameter (see callback interface 67).

      • OnClientStopRecordSuccess: Removed the targetType parameter (see callback interface 69).

      • OnClientDownloadRecordSuccess: Removed the returnType and clientRecordBlob parameters (see callback interface 75).

      • Added the OnClientRecordBlob interface (see callback interface 81).

V 1.2.3

  • You can add related content.

    • Added the OnChangeMediaStreamSuccess notification for successful stream switching (see callback interface 79).

    • Added the OnChangeMediaStreamFailed notification for failed stream switching (see callback interface 80).

    • ChangeProfile: Added the local_video_width and local_video_height parameters (see main call interface 38).

  • Deletions

    • Browser recording: Removed the targetType parameter from the StopRecord interface (see main call interface 17).

    • Removed option 4 from the video_profile_type parameter (see main call interfaces 3 and 9).

  • Internal adjustments

    • Added user browser information when creating and joining a channel (internal SDK adjustment).

    • Fixed an issue where the BLOB result of a browser recording was empty (internal SDK optimization).

    • Updated the publish stream tag (internal SDK adjustment).

    • Added instructions for business integration with the Web SDK.

V 1.2.2

  • Fixed a bug that caused multiple callbacks for browser recording.

V 1.2.1

  • publish_device: Added two publishing types: publishing a file and publishing a custom page area (see main call interfaces 3 and 9).

  • Adjustments to publishing and initialization interfaces.

    • Added the videoSource parameter, which is the deviceId of a camera, to publish a stream from a specific camera (see main call interfaces 3 and 9).

    • Added the audioSource parameter, which is the deviceId of a microphone, to publish a stream from a specific microphone (see main call interfaces 3 and 9).

    • Added the aspectRatioStrongDepend parameter to specify whether to use a fixed aspect ratio (see main call interfaces 3 and 9).

    • Added the aspectRatio parameter for aspect ratio (see main call interfaces 3 and 9).

    • Added the file parameter to publish an image or video file (see main call interface 9).

    • Added the part_of_screen_id parameter to publish a specific page area (see main call interface 9).

  • Added the ChangeMediaStream interface for custom stream switching (see main call interface 37).

  • Added the ChangeProfile interface for dynamic switching of resolution, camera, microphone, and aspect ratio (see main call interface 38).

  • Added interfaces related to audio and video devices.

    • Added the GetDevices interface to get audio and video devices (see main call interface 39).

    • OnGetDevicesSuccess: The device information was obtained (see callback interface 77).

    • OnGetDevicesFailed: Failed to obtain the device information (see callback interface 78).

V 1.2.0

  • Browser recording

    • Main call interfaces

      • StartRecord: Starts browser recording (see main call interface 16).

      • StopRecord: Stops browser recording (see main call interface 17).

      • PauseRecord: Pauses browser recording (see main call interface 18).

      • ResumeRecord: Resumes browser recording (see main call interface 19).

      • DownloadRecord: Downloads the recorded audio and video from the browser (see main call interface 20).

    • Callback interfaces

      • OnClientStartRecordSuccess: Browser recording started (see callback interface 67).

      • OnClientStartRecordFailed: Failed to start browser recording (see callback interface 68).

      • OnClientStopRecordSuccess: Browser recording stopped (see callback interface 69).

      • OnClientStopRecordFailed: Failed to stop browser recording (see callback interface 70).

      • OnClientPauseRecordSuccess: Browser recording paused (see callback interface 71).

      • OnClientPauseRecordFailed: Failed to pause browser recording (see callback interface 72).

      • OnClientResumeRecordSuccess: Browser recording resumed (see callback interface 73).

      • OnClientResumeRecordFailed: Failed to resume browser recording (see callback interface 74).

      • OnClientDownloadRecordSuccess: The browser recording was downloaded (see callback interface 75).

      • OnClientDownloadRecordFailed: Failed to download the browser recording (see callback interface 76).

V 1.1.9

  • Added sessionId to ASR callback interfaces.

    • OnStartAsrSuccess: Speech recognition started (see callback interface 49).

    • OnStartAsrFailed: Failed to start speech recognition (see callback interface 50).

    • OnStopAsrSuccess: Speech recognition stopped (see callback interface 51).

    • OnStopAsrFailed: Failed to stop speech recognition (see callback interface 52).

    • OnAsrMessage: Notifies of the recognition result (see callback interface 53).

    • OnAsrMsgIdle: Notifies that no result has been returned for a long time (see callback interface 54).

V 1.1.8

  • Removed the `asr` suffix from the UID in ASR connections (internal SDK update).

V 1.1.7

  • ASR-related information.

    • Notes:

      • The tag is a pass-through parameter for your business.

      • The status indicates whether the session has ended. A value of 0 means the session has not ended. A value of 1 means the final result after the session has ended.

    • StartAsr: Added the tag pass-through parameter to the config (see main call interface 30).

    • OnStartAsrSuccess: Added the tag return parameter (see callback interface 49).

    • OnStartAsrFailed: Added the tag return parameter (see callback interface 50).

    • OnStopAsrSuccess: Added the tag return parameter (see callback interface 51).

    • OnStopAsrFailed: Added the tag return parameter (see callback interface 52).

    • OnAsrMessage: Added two parameters. The interface changed from OnAsrMessage(msg, sid) to OnAsrMessage(msg, sid, tag, status) (see callback interface 53).

    • OnAsrMsgIdle: Added the tag return parameter (see callback interface 54).

    • Fixed an issue with concurrent ASR startup.

  • TTS-related updates

    • StartTts: Starts speech synthesis (see main call interface 35).

    • StopTts: Stops speech synthesis (see main call interface 36).

    • OnStartTtsSuccess: Speech synthesis started (see callback interface 64).

    • OnStartTtsFailed: Failed to start speech synthesis (see callback interface 65).

    • OnTtsResult: Returns the speech synthesis result (see callback interface 66).

  • Recording-related updates

    • Adjusted default recording parameters (see main call interfaces 3 and 21).

      • If recordTotalStream is 0, the default value of startTimeout is 10s.

      • If recordTotalStream is not 0, the default value of startTimeout is 5 minutes.

    • startTimeout priority: The value you specify takes precedence over the default value.

V 1.1.6

  • Updated the ASR domain name for the production environment.

V 1.1.5

  • A pop-up window is now displayed for Chrome versions earlier than 67.

  • Adjusted the publishing resolution options:

    • 1: 720p (HD), 1280 × 720, 16:9.

    • 2: VGA, 640 × 480, 4:3.

    • 3: 360p (nHD), 640 × 360, 16:9.

    • 4: CIF, 352 × 288, 4:3.

  • When publishing, the SDK attempts to capture video at the preceding resolutions first. If the browser does not support them, the browser's default resolution is used.

  • When access to a device fails, an alert pop-up window now displays the reason.

  • Adjustments to server-side recording:

    • Startup timeout (startTimeout): The range is 3s to 10s. The default is 5s.

    • Recording start success criteria (recordTotalStream): The number of successfully subscribed streams. The default is 0. The previous default was 2, which meant both parties were successfully recorded.

    • Added the OnInitRecordSucc interface for successful initialization of server-side recording (see callback interface 63). Note: Under normal circumstances, after you start a recording, OnInitRecordSucc is called first, followed by OnStartRecordSucc. The time interval between these two callbacks depends on your setting for recordTotalStream.

  • Fixed a state management vulnerability through internal ASR optimization.

V 1.1.4

  • Fixed an issue of inaccurate recognition through internal ASR optimization.

V 1.1.3

  • Internally optimized the recording notification callback in the SDK.

  • ASR recognition result: Improved the description. The format is now determined by procType (see callback interface 53).

V 1.1.2

  • Added a video-on-demand notification feature. The vodParams parameter was changed in the StartVod interface (see main call interface 32).

  • Added a recording notification feature. Two properties were added to the recordParam parameter in the InitRoomConfig and StartRemoteRecord interfaces: startTimeout and recordTotalStream (see main call interfaces 3 and 21).

  • Added the OnRecordingFailed interface for recording interruptions (see callback interface 62).

  • Changed the default audio sampling rate (sampleRate) for recordings from 24000 to 48000 (see InitRoomConfig and StartRemoteRecord).

  • Deprecated the OnRecordInfo interface. Use OnStartRecordSucc instead (see callback interface 32).

V 1.1.1

  • Fixed an ASR signature verification failure (internal SDK change, no interface change).

V 1.1.0

  • Fixed an issue where the camera was not turned off after leaving a channel (internal SDK change, no interface change).

V 1.0.9

  • Added the OnStartAsrFailed interface for failed speech recognition startup (see callback interface 50).

  • Renamed the speech recognition result interface from OnAsrMsg to OnAsrMessage (see callback interface 53).

  • Added the procType parameter for DPI engine type to the speech recognition start interface (see main call interface 30).

  • Renamed the server-side recording end notification interface from OnRecorderOver to OnRecordOver (see callback interface 61).

  • Added the video_profile_type parameter for video definition (see main call interfaces 3 and 9).

  • Added the sid parameter to the weak network callback interface (see callback interface 48).

  • Deprecated interfaces related to instruction messages (see main call interface 27 and callback interfaces 41 to 44).

V 1.0.8

  • Added a feature to report and save error logs locally (see main call interface 34).

V 1.0.7

  • Added a speech recognition feature (see main call interfaces 30 to 31 and callback interfaces 49 to 54).

  • Added a voice-on-demand feature (see main call interfaces 32 to 33 and callback interfaces 55 to 59).

  • Added support for custom screenshot file formats (see main call interface 15).

  • Added a real-time volume visualization feature (see the need_volume_analyser field in main call interfaces 3, 9, and 10, and callback interface 60).

  • Added a notification callback for the end of a server-side recording (see callback interface 61).

  • Added the sid parameter to the audio and video shutdown notification interface (see callback interface 30).

  • Added the channelType parameter to the invite-to-join-channel feature (see main call interface 6).

V 1.0.6

  • Modified the weak network frequency alert for publishing (see main call interface 28, SetPublishWeakBitrateLimit).

  • Added a weak network frequency alert for subscriptions (see main call interface 29, SetSubscribeWeakBitrateLimit).

  • Added the leaveType exit parameter to the exit callback (see callback interface 45, OnLeaveRoom).

  • Added the recordParam parameter to start server-side recording (see main call interface 21, StartRemoteRecord).

  • Added an exit type parameter (see callback interface 46, OnParticipantLeaveRoom).

  • Added server-side recording parameters recordParam and recordStrongDepend (see main call interface 3, InitRoomConfig).

V 1.0.5

  • Added an interface to get recording information (see GetRecordInfo).

  • Added a callback for successfully getting server-side recording results (see OnRecordInfoSucc).

  • Added a callback for failing to get server-side recording results (see OnRecordInfoFailed).

  • Added an exit type parameter to OnParticipantLeaveRoom (see callback interface 46).

  • Added the defaultRecord parameter to specify whether to record on the server (see main call interface 3, InitRoomConfig).

V 1.0.4

  • Added a feature to publish a shared desktop.

  • Added a weak network callback interface (see callback interface 46).

  • Added a setting for the lower limit of the weak network bitrate alert (see main call interface 27).

  • Added the publish_device parameter to identify the publishing type (see main call interfaces 3 and 9).

V 1.0.3

  • Added support for rewriting signatures on the page (see callback interface 3).

  • If you do not specify the width and height for a screenshot, the width and height of the video window are used by default.

  • Set default values for the width and height parameters of the TakePicture() interface (see main call interface 15).

  • For server-side recording, if you stop a recording that is not in progress, the call returns directly (see main call interface 22).

  • Added an optional parameter for the server-side recording path to the StartRemoteRecord interface (see main call interface 21).

  • Changed publish_video_id from required to optional based on the media_type (see main call interfaces 3 and 9).

  • Added the optional filePath parameter for the server-side recording path to the StartRemoteRecord interface (see main call interface 21).

  • Removed the feed parameter from the OnSubscribeFailed(sid, err_code, err_msg) interface (see callback interface 23).

  • If you publish an audio-only stream, the sid is the name value of publish_streamId_id. For more information, see meeting.html.

  • Added the optional filePath parameter for the server-side recording path to the InitRoomConfig interface. The recordId is returned through the OnRecordInfo interface callback (see main call interface 3 and callback interface 32).

V 1.0.2

  • Added a recording feature: main call interfaces 16 to 22 and callback interfaces 31 to 35.