更新日志

更新时间: 2024/03/15 17:49:47

[5.4.10] - 2023-12-15

网易云信于 2023 年 12 月 15 日发布了 NERTC SDK 最新版本 V5.4.10。

本次升级改动较大,详见升级指南

新增特性

序号
新增特性
特性描述
相关文档
1 屏幕共享 支持X11 显示协议和 Wayland 显示协议的 Linux 系统进行屏幕共享。 屏幕共享
2 音乐文件播放及混音(伴音) 在房间中播放本地或者在线音乐文件,作为通话或直播时的背景声音,同时让房间内的其他人听到此音乐。NERTC 播放伴音方法可以用来播放比较长的背景音,例如伴奏音乐、环境白噪声、背景音乐等等。
NERTC 支持在麦克风关闭的状态下,发送伴音。在娱乐社交、在线教育等场景中,即使用户不想要开启麦克风进行语音聊天,也能在房间内播放背景音乐。
音效与伴音
3 音效文件播放管理 支持在通话或直播中播放短时音频文件,一般用于渲染房间气氛,例如游戏音效、掌声、口哨、欢呼声、笑声的短时音效。支持多个音效叠加播放。 音效与伴音
4 美声变声与混响 NERTC SDK 支持设置多种预设的美声与变声音效,您也可以通过设置本地语音音效均衡或混响来达到自定义的人声效果,增加场景气氛。 美声变声与混响
5 多房间管理 在娱乐社交与在线教育场景中,App 用户往往需要同时加入多个房间,接收多个房间的音视频流。网易云信 NERTC SDK 提供多房间管理功能,隔离多个房间的消息和回调,在跨房间连麦场景和超级小班课场景都可以实现更灵活的房间管理业务。 多房间管理
6 旁路推流 NERTC SDK 支持云端音视频混流和 RTMP 旁路推流,可以将实时音视频流转为标准直播流,并将其从网易云信实时音视频云推送到第三方 CDN(Content Delivery Network)或网易云信直播服务。 旁路推流
7 跨房间流媒体转发 在 NERTC 直播场景的音视频房间中,跨房间媒体流转发功能可实现主播角色跨房间与其他主播实时交流互动,在娱乐场景下可实现跨直播间连麦效果。 跨房间流媒体转发
8 视频截图 NERTC SDK 支持针对实时视频流进行截图,包括本地主流和辅流画面、远端主流和辅流画面。在在线教育以及主播直播等场景中,通过视频截图功能截取实时视频流画面,以便后续的存档分析、事件备忘、证据留存等。 视频截图
9 云代理 网易云信云代理可穿透防火墙限制,使用固定 IP 连接到网易云信服务器。云代理方案可满足多种在公有云、混合云、私有云等有防火墙或者其他网络限制的环境下,内外网进行音视频通话的场景。 云代理
10 音频共享 NERTC 提供了音频共享功能,帮助您在共享屏幕的同时也能播放本地背景音,或者共享本地视频文件或音乐文件的声音,为您规避播放在线音乐文件可能会遇到的版权问题。 音频共享
11 视频大小流 大流对应高清画质,小流对应低清画质。用户可以选择上传一大一小两个视频流,接收方可以根据需要进行选择。 enableDualStreamMode
12 音视频流回退 网络不理想的环境下,音视频的质量都会下降。为提升用户体验,您可以通过指定接口设置视频流回退选项。在网络条件差、无法同时保证音频和视频质量的情况下,SDK 会自动将视频流从大流切换为小流,或将媒体流回退为音频流,从而提高音视频质量。 setLocalPublishFallbackOption
13 音频裸流传输 NERTC SDK 支持音频裸流传输,您可以向 NERTC SDK 提供自定义的 OPUS 等格式的音频编码数据,并由 NERTC SDK 进行推流。适用于需要与硬件配合的应用场景中,比如使用教室硬件设备进行线上教学,在利用硬件自身能力进行音频采集、编码的基础上,还需要良好的抗弱网传输能力。 音频裸流传输
14 视频裸流传输 NERTC SDK 支持视频裸流传输,您可以向 NERTC SDK 提供自定义的 H.264 等格式的视频编码数据,并由 NERTC SDK 进行推流。适用于需要与硬件配合的应用场景中,比如使用教室硬件设备进行线上教学,在利用硬件自身能力进行视频采集、编码的基础上,还需要良好的抗弱网传输能力。 视频裸流传输

API 变更

新增 API

API
API 说明
setScreenCaptureSource 设置屏幕共享参数,该方法在屏幕共享过程中调用,用来快速切换采集源
getScreenCaptureSources 获得一个可以共享的屏幕和窗口的列表
NERtcScreenCaptureParameters 支持屏幕共享高亮框配置
playEffect 播放指定音效文件
stopEffect 停止播放指定音效文件
pauseEffect 暂停播放指定音效文件
resumeEffect 恢复播放指定音效文件
stopAllEffects 停止播放所有音效文件
pauseAllEffects 暂停播放所有音效文件
resumeAllEffects 恢复播放所有音效文件
setEffcetSendVolume 设置音效文件的发送音量
setEffcetPlaybackVolume 设置音效文件的播放音量
setEffectPitch 设置音效文件音调
getEffectSendVolume 获取音效文件的发送音量
getEffcetPlaybackVolume 获取音效文件的播放音量
getEffectPitch 获取音效文件音调
setEffectPosition 设置音效文件的播放位置
getEffectDuration 获取音效文件时长
getEffectCurrentPosition 获取音效文件当前播放进度
startAudioMixing 开始播放伴音
enableLocalSubStreamAudio 开启音频辅流
stopAudioMixing 停止播放伴音
pauseAudioMixing 暂停播放伴音
resumeAudioMixing 恢复播放伴音
setAudioMixingPlaybackVolume 设置伴音播放音量
setAudioMixingSendVolume 设置伴音的发送音量
setAudioMixingPitch 设置伴音的音调
getAudioMixingPlaybackVolume 获取伴音的播放音量
getAudioMixingSendVolume 获取伴音的发送音量
getAudioMixingPitch 获取伴音的音调
getAudioMixingDuration 获取伴音的总长度
setAudioMixingPosition 设置伴音的播放进度
getAudioMixingCurrentPosition 获取伴音当前播放进度
onAudioMixingStateChanged 伴音播放状态改变回调
onAudioMixingTimestampUpdate 伴音播放进度回调
onAudioEffectFinished 本地音效文件播放已结束回调
onAudioEffectTimestampUpdate 本地音效文件播放进度信息回调
setVoiceBeautifierPreset 设置预设的美声效果
setAudioEffectPreset 设置预设的变声效果
setLocalVoicePitch 设置本地语音音调
setLocalVoiceEqualization 设置本地语音音效均衡
setLocalVoiceReverbParam 设置本地语音混响
takeLocalSnapshot 截取本地视频流画面
takeRemoteSnapshot 截取远端视频流画面
onTakeSnapshotResult 截图结果 block 回调
setCloudProxy 开通云代理设置
enableDualStreamMode 设置是否开启视频大小流模式
setLocalPublishFallbackOption 设置弱网条件下发布的音视频流回退选项
setExternalSubStreamAudioSource 开启外部音频辅流输入
pushExternalAudioEncodedFrame 推送外部音频主流编码帧
pushExternalSubStreamAudioFrame 推送外部音频辅流编码帧
setPreDecodeObserver 注册解码前媒体数据观测器
onFrame 解码前媒体数据回调
pushExternalVideoEncodedFrame 推送外部视频主流或辅流编码帧
setVideoEncoderQosObserver 注册视频编码 QoS 信息监听器
setPreDecodeObserver 注册解码前媒体数据观测器
onRequestSendKeyFrame I 帧请求事件回调
onVideoCodecUpdated 视频编码器类型信息回调
onBitrateUpdated 视频码率信息回调
enableLoopbackRecording 开启声卡采集
adjustLoopbackRecordingSignalVolume 调节声卡采集信号音量
startChannelMediaRelay 开启跨直播间媒体流转发
updateChannelMediaRelay 更新媒体流转发
stopChannelMediaRelay 停止跨直播间媒体流转发
onMediaRelayStateChanged 跨房间媒体流转发状态发生改变回调
onMediaRelayEvent 媒体流相关转发事件回调
addLiveStreamTask 添加房间推流任务
updateLiveStreamTask 更新修改房间推流任务
removeLiveStreamTask 删除房间推流任务
onAddLiveStreamTask 通知添加直播任务结果
onUpdateLiveStreamTask 通知更新直播任务结果
onRemoveLiveStreamTask 通知删除直播任务结果
onLiveStreamState 通知直播推流状态
createChannel 创建并获取一个 NERtcChannel 对象。通过创建多个对象,用户可以同时加入多个频道
IRtcChannel 该类提供在指定频道内实现实时音视频功能的方法
IRtcChannelEventHandler 该类提供监听指定频道事件和数据的回调

[4.4.9] - 2022-06-15

网易云信于 2022 年 6 月 15 日发布了 NERTC SDK 最新版本 V4.4.9。

新增特性

序号
新增特性
特性描述
相关文档
1 屏幕共享 支持在视频通话或互动直播过程中实现屏幕共享,主播或连麦者可以将自己的屏幕内容,以视频的方式分享给远端参会者或在线观众观看,从而提升沟通效率,一般适用于多人视频聊天、在线会议以及在线教育场景。 屏幕共享
2 原始音频数据 支持对采集到的音视频原始数据进行自定义的前处理和后处理,获取想要的播放效果。适用于非标设备接入、自定义音频效果、语音处理、语音识别等场景。 原始音频数据
3 自定义音频采集与渲染 支持用户使用自定义音频源,NERTC SDK 为用户提供传输通道,并进行编码推流。 自定义音频采集与渲染

改进优化

  1. 集成 Linux SDK 时无 GLIBCXX 或 gcc/g++ 的版本限制。
  2. 支持静态编译 openssl。
  3. 音频依赖优化:若无相关音频服务及系统库,音频依赖会从 PulseAudio 自动降级到 Dummy Audio。

API 变更

新增 API

API
API 说明
startScreenCaptureByScreenRect 开启屏幕共享,共享范围为指定屏幕的指定区域。
startScreenCaptureByWindowId 开启屏幕共享,共享范围为指定窗口的指定区域。
updateScreenCaptureRegion 更新屏幕共享区域。
pauseScreenCapture 暂停屏幕共享。
resumeScreenCapture 恢复屏幕共享。
stopScreenCapture 停止屏幕共享。
setupLocalSubStreamVideoCanvas 设置本端的辅流视频回放画布。
setupRemoteSubStreamVideoCanvas 设置远端的辅流视频回放画布。
subscribeRemoteVideoSubStream 订阅或取消订阅远端的屏幕共享辅流视频,订阅之后才能接收远端的辅流视频数据。
onUserSubStreamVideoStart 远端用户开启屏幕共享辅流通道的回调。
onUserSubStreamVideoStop 远端用户停止屏幕共享辅流通道的回调。
onScreenCaptureStatus 屏幕共享状态变化回调。
setExternalAudioSource 启用外部自定义音频数据输入功能,并设置采集参数。
pushExternalAudioFrame 将外部音频数据帧推送给内部引擎。
setExternalAudioRender 设置外部音频渲染。
pullExternalAudioFrame 拉取外部音频数据。
setAudioFrameObserver 注册语音观测器对象。
setRecordingAudioFrameParameters 设置录制的声音格式。
setPlaybackAudioFrameParameters 设置播放的声音格式。
setMixedAudioFrameParameters 设置采集和播放后的混合后的采样率。
onAudioFrameDidRecord 采集音频数据回调。
onAudioFrameWillPlayback 播放音频数据回调。
onMixedAudioFrame 音频采集与播放混合后数据帧回调。
onPlaybackAudioFrameBeforeMixing 某一远端用户的原始音频帧回调。

变更 API

API
API 说明
onLocalAudioStats NERtcAudioSendStats 结构体新增 audio_layers_count 字段表示音频流总条数,新增 audio_layers_list 字段表示每条音频主流或辅流的统计数据,包括丢包率、采集音量等。
onRemoteAudioStats NERtcAudioRecvStats 结构体新增 audio_layers_count 字段表示音频流总条数,新增 audio_layers_list 字段表示每条音频主流或辅流的统计数据,包括丢包率、采集音量等。

[4.4.8] - 2021-12-20

网易云信于 2021 年 12 月 20 日发布了 Linux NERTC SDK 初始版本 V4.4.8。

支持平台

  • x86_64 架构
  • ARM64(aarch64) 架构

支持功能

新增特性 特性描述
多人音视频通话 NERTC SDK 为您提供稳定流畅、高品质、全平台的点对点和多人实时音视频通话服务。
房间管理及房间事件通知 支持快速加入或退出房间,并在本地或远端用户的相应状态改变时提供对应回调。
音频管理 支持音量的调节、音频的采集与发送。同时您也可以设置音频编码配置,以便您根据实际场景方便快捷地调整音质属性、在常见场景中实现最优的音质效果。
视频管理 支持设置视频属性,包括视频编码的分辨率、码率、帧率、适应性偏好,且支持设置用户视图、视频预览和音频流的发送。
音视频设备管理及设备事件通知 支持音视频采集、播放设备的设置,并提供相应回调。
自定义视频采集 支持配置和推送外部视频源数据。
耳返功能 支持监听本地采集的音频和耳返音量调节,耳返音频具备低延时、高音质等特征,让主播可以实时听到本端的声音。
媒体补充增强信息 SEI 支持将时间戳等自定义数据作为流媒体补充增强信息(SEI Supplemental Enhancement Information)的一部分,通过流媒体通道将其与视频内容打包在一起,发送给远端用户,以此实现文本数据与音视频内容的精准同步的目的。
媒体和数据统计事件通知 支持通过监听回调的方式获取首帧解码通知和远端用户操作动态。
故障排查 支持记录音频 dump,方便您分析音频问题。
此文档是否对你有帮助?
有帮助
去反馈
  • [5.4.10] - 2023-12-15
  • 新增特性
  • API 变更
  • 新增 API
  • [4.4.9] - 2022-06-15
  • 新增特性
  • 改进优化
  • API 变更
  • 新增 API
  • 变更 API
  • [4.4.8] - 2021-12-20
  • 支持平台
  • 支持功能