比如安卓平台封装的是 Java 语言的 API 接口,iOS 苹果系统封装的是 Object-C 语言的 API 接口。尽管,WebRTC 中声明了两种音频采集和播放接口,一种是基于文件的 MediaRecorder 和 MediaPlayer,一种是基于纯音频数... 该方法完成了音频数据内存大小的申请以及 AudioRecord 对象实例的创建,参考代码如下:``` @CalledByNative private int initRecording(int sampleRate, int channels) { Logging.d(TAG, "initRecording(s...
-->2022年已经到了尾声,后半年度过的太漫长了,也是自己这两年来成长速度最快的一次了(后文揭晓)>[今年的年中总结链接](https://juejin.cn/post/7116152613409816612)上半年我沉浸在读各类技术书籍中,但是后半年的我几乎放弃了读书,转而投身到另外一个学习渠道上:>之前的年中和年终总结写的大体是参加了多少次活动,白嫖了多少礼品。但是这次我不想写平台的东西了(后半年的时间几乎很少花费在参与活动上面了,因为时间给了更重...
支持分帧多路复用的能力,在逻辑上区分请求stream和响应stream,即赋予单条连接并发处理多个请求和响应的能力,解决HTTP1.0连接数量和并发量成正比的问题。http2在协议上实现了stream多路复用,避免了像HTTP1需要排队的方式进行request 等待response,在未拿到response报文之前,该tcp连接不能被其他协程复用。HTTP2虽然解决了应用层的队头阻塞,但是tcp传输层也是存在队头阻塞的。比如,client根据内核上的拥塞窗口状态,可以并发的发送...
Java 等,我们可以根据自己的喜好选择合适的语言。在这里,我以 Python 为例,介绍如何安装 BMF。我们可以使用 pip 命令来安装 BMF,如下所示:```pip install bmf```复制代码安装完成后,我们可以使用以下命令... 我们还需要在 **`process`** 方法中返回一个 **`VideoFrame`** 对象,表示处理后的视频帧。我们可以参考 BMF 的文档和源码,了解如何自定义节点。## 运行视频增强应用最后,我们可以运行视频增强应用了。我们只需...
VeLiveVideoFrameFilter java public interface VeLiveVideoFrameFilter自定义的视频处理回调。 成员函数返回 名称 default int onVideoProcess 函数说明 onVideoProcessjava default int onVideoProcess( VeLiveVideoFrame srcFrame, VeLiveVideoFrame dstFrame)自定义的视频处理方法。 传入参数 参数名 类型 说明 srcFrame VeLiveVideoFrame 源视频帧,详情请参见 VeLiveVideoFrame。 dstFrame VeLiveVideoFrame 处理后的...
SDK集成如下是一个总体接入流程,详细细节请参见 RTC服务开通指南。 整体实现流程整体业务流程图 核心功能实现准备通话时序图 示例代码 Java public void startCall(String appId, String bid) { // 创建 RTC 引擎 mRTCVideo = RTCVideo.createRTCVideo(AppUtil.getApplicationContext(), appId, mVideoEventHandler, null, null); // 采集视频:分辨率 540*960,帧率 15fps,最大码率1520kb...
传入参数 参数名 类型 说明 engine TTVideoEngine TTVideoEngine 对象。 width int 当前视频宽度。 height int 当前视频高度。 onBufferingUpdatejava default void com.ss.ttvideoengine.VideoEngineCallback.o... onReadyForDisplayjava default void com.ss.ttvideoengine.VideoEngineCallback.onReadyForDisplay(TTVideoEngine engine)预渲染首帧回调。 传入参数 参数名 类型 说明 engine TTVideoEngine TTVideoEngine 对象...
在支持渲染 View 对象的基础上,新增支持渲染 Surface 对象。 在 Android 平台,支持动态加载主库 libvolcenginertc.so,集成指南参看按需集成插件。 功能优化在 Android 系统上,加入房间,使用手机音量键调节的音量... 相较于通过 Java / OC 封装层完成有显著更高的执行效率。典型的场景有:视频/音频帧自定义处理,音视频通话加密等。参看: 功能简述 Android iOS macOS 获取 C++ 层 IRTCVideo 句柄 getNativeHandle getNativeHandle ...
onLocalStreamStatsjava void com.ss.bytertc.engine.handler.IRTCRoomEventHandler.onLocalStreamStats(LocalStreamStats stats)本地流数据统计以及网络质量回调。 本地用户发布流成功后,SDK 会周期性(2s)的通过此回调事件通知用户发布的流在此次统计周期内的质量统计信息。 统计信息通过 LocalStreamStats 类型的回调参数传递给用户,其中包括发送音视频比特率、发送帧率、编码帧率,网络质量等。 传入参数 参数名 类型 说明 s...
ITVULiveRoomServerListener 用于监听 TVULiveRoomServer 实例的回调类,您可以在回调中做相应处理。 java public interface com.bytedance.live.sdk.player.listener.ITVULiveRoomServerListener 成员函数 onGetRo... java public void liveFirstFrameRendered(boolean isFirstFrame);参数 名称 类型 说明 isFirstFrame Boolean 是否为真正渲染的第一帧。直播过程中可能会发生重试导致多次触发此回调。 true:当前是调用 play...
默认值为 2 返回值 推流视频编码参数配置对象,详情请参见 VeLiveVideoEncoderConfiguration。 getFpsjava public int getFps()获取推流视频编码帧率。 返回值 推流视频编码帧率。 setFpsjava public VeLiveVideo... 视频帧非等比缩放,直至画布被填满。在此过程中,视频帧的长宽比例可能会发生变化。 VeLivePusherRenderModeFit 1 视频帧内容全部显示优先。视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不...
支持查看推流码率和推流帧率指标数据。 拉流单路数据和拉流全局数据指标看板新增拉流码率和平均播放时长指标。 2024-01-22 SDK 数据查询 客户端 SDK 1.40.3 版本发布。 2024-01-15 发布历史 控制台指南 新增功... Java/Python 版本的服务端 SDK 2022-04-20 使用说明 - 优化和修复问题 2022-04-15 - 2022 年 3 月变更 说明 发布时间 相关文档 时移上线 直播新增支持时移功能 2022-03-24 时移配置 留资审核 取消新用户开通直播服...
若在采集时设置 ScreenFilterConfig 排除指定窗口,共享视频时帧率无法达到 30fps。 Defined in : IRTCVideo.cs 枚举值类型 值 说明 kScreenVideoEncodePreferenceAuto 0 智能模式。根据屏幕内容智能决策选择流畅模式或清晰模式。 kScreenVideoEncodePreferenceFramerate 1 流畅模式,优先保障帧率。适用于共享游戏、视频等动态画面。 kScreenVideoEncodePreferenceQuality 2 清晰模式,优先保障分辨率。适用于共享PPT、文档、图片等...