AVDEngine.h

Includes:
"AVDCommon.h"
"AVDUser.h"

Introduction

Use the links in the table of contents to the left to access the documentation.



Classes

AVDEngine

Protocols

AVDEngineDelegate


Enumerated Types

AVDEngineOption

AVDEngineOption


enum AVDEngineOption { 
    camera_mode_frontback,  
    camera_capability_default,  
    video_quality_publish_default,  
    video_ration_default, 
    video_quality_subscribe_default, 
    video_publish_svc_default, 
    video_codec_priority, 
    demo_urlbase_liverecord, 
    data_channel_tcp_priority, 
    eo_network_proxy, 
    eo_video_resolution_16balign, 
    eo_video_swapwh_by_rotation, 
    eo_video_codec_hw_priority, 
    eo_audio_aec_LowLatencyModeDelayEstimate, 
    eo_audio_aec_HighLatencyModeDelayEstimate,  
    eo_audio_agc_PlayoutGainMultipleValue,  
    eo_audio_aec_AudioDelayOffset, 
    eo_audio_aec_Enable, 
    eo_audio_aec_DAEcho_Enable, 
    eo_audio_noiseSuppression_Enable, 
    eo_audio_autoGainControl_Enable, 
    eo_audio_highpassFilter_Enable,  
    eo_mcu_cluster_route_params, 
    eo_media_connproxy_ip, 
    eo_media_connproxy_port, 
    eo_video_codec_hw_encode, 
    eo_video_codec_hw_decode, 
    eo_video_renderusecapture,   
    eo_livecast_appmanageroom = 1000,  
    /// for test 
    eo_test_rtc_string_1 = 2000, 
    eo_test_rtc_int_1, 
};  
Constants
camera_mode_frontback

< 值类型为bool, 字符类型为"true" or "false":表示摄像头使用模式:前后置摄像头模式(true)和多摄像头模式(false)。 多摄像头模式:本机的所有摄像头将展现在房间中;可以同时预览发布多个摄像头;桌面端本地应用和网页端应用多采用此种方式。 前后置摄像头模式:本机的前后置摄像头将作为一个摄像头展现在房间中;同一时刻只能打开一个摄像头;普通移动端采用此种方式。 ios 和 android缺省采用前后摄像头模式, pc端和web缺省采用多摄像头模式。

camera_capability_default

< 值类型为CameraCapability, 字符类型为"{\"width\":640,\"height\":480,\"maxFPS\":10}":表示摄像头缺省采集参数。当前系统默认的采集 参数为:windows桌面版和web网页版{640,480,10};android/ios移动版{320,240,10}。

video_quality_publish_default

< 值类型为QualityType, 字符类型为"low" or "normal" or "high":表示摄像头发布缺省采用的视频质量,与camera_capability_default的设置相互影响。 当前系统默认的采集参数为:windows桌面版和web网页版 普通质量;android/ios移动版 流畅质量。

video_ration_default

< 值类型为VideoRatio, 字符类型为"4_3" or "16_9" or "cif":表示视频缺省宽高比。 当前系统默认的采集参数为:4:3。

video_quality_subscribe_default

< 值类型为VideoQuality, 字符类型为"low" or "normal" or "high":表示订阅视频缺省采用的视频质量。 当前系统默认的采集参数为:windows桌面版和web网页版 普通质量;android/ios移动版 流畅质量。

video_publish_svc_default

< 值类型为bool, 字符类型为"true" or "false":表示视频发布时缺省是否采用多流。 当前系统默认的采集参数为:false。

video_codec_priority

< 值类型为VideoCodec, 字符类型为"h264","vp8","vp9":表示视频编码优先采用h264,vp8,vp9编解码。 当前系统默认参数值为:vp8。

demo_urlbase_liverecord

< 值类型为String:表示演示直播和录制的服务器地址,只能获取。

data_channel_tcp_priority

< 值类型为bool, 字符类型为"true" or "false":表示房间中数据通道用的网络连接类型:TCP优先(true)和UDP优先(false), 缺省为UDP优先。

eo_network_proxy

< 值类型为bool, 字符类型为"true" or "false":表示启用或不启用,建议局域网或者简单的环境不使用代理。 当前系统默认参数值为:true。

eo_video_resolution_16balign

< 值类型为bool, 字符类型为"true" or "false":表示启用或不启用视频分辨率16字节严格对齐模式;在16字节对齐模式下,分辨率的宽和高都会向对齐的分辨率靠, 如1080-->1088,540-->544,180-->176等,有些硬件设备(某些android手机)只支持16字节对齐的硬件编解码,android上可以考虑开启此选项来做更好的设备兼容性和编码效率。 当前系统默认参数值为:false。

eo_video_swapwh_by_rotation

< 值类型为bool, 字符类型为"true" or "false":表示视频publish或preview时设置的分辨率根据输入视频旋转角度变换宽高:变换宽高(true)和不变换宽高严格按设置分辨率裁剪拉伸(false), * 缺省为不变换宽高严格按设置分辨率裁剪拉伸。 * 未实现。

eo_video_codec_hw_priority

< 值类型为bool, 字符类型为"true" or "false":表示是否优先使用硬件编码:优先使用硬件编码(true)和优先使用软件编码(false), * 缺省为硬件编码优先。 * 未实现。

eo_audio_aec_LowLatencyModeDelayEstimate

< android系统可用;值类型为int, 取值:[30, 400]; 字符类型数值字符串如"50":表示AEC延时下限,用于回音消除。 * 缺省为 80; 回音消除算法与设备的麦克风和扬声器距离,及会场大小都有关系,有可能需要特别调试。

eo_audio_aec_HighLatencyModeDelayEstimate

< android系统可用;值类型为int, 取值:[30, 400]; 字符类型数值字符串如"50":表示AEC延时上限,用于回音消除。 * 缺省为 160; 回音消除算法与设备的麦克风和扬声器距离,及会场大小都有关系,有可能需要特别调试。

eo_audio_agc_PlayoutGainMultipleValue

< 值类型为float, 取值:[0.1, 10.0]; 字符类型数值字符串如"2.0":表示语音播放时的增益倍数。 * 缺省为 1.0。

eo_audio_aec_AudioDelayOffset

< 值类型为int, 取值:[0, 500]; 字符类型数值字符串如"50":表示AEC估计延时,用于回音消除。 * 缺省为 0; 回音消除算法与设备的麦克风和扬声器距离,及会场大小都有关系,有可能需要特别调试。 * | delay | in ms between AnalyzeReverseStream() receiving a far-end frame and * ProcessStream() receiving a near-end frame containing the corresponding echo. * On the client-side this can be expressed as * delay = (t_render - t_analyze) + (t_process - t_capture)

eo_audio_aec_Enable

< 值类型为bool, 字符类型为"true" or "false":表示启用或不启用, 一般情况下都需要回音消除算法,当需要录制音乐的时候,建议关闭。 当前系统默认参数值为:true。

eo_audio_aec_DAEcho_Enable

< 值类型为bool, 字符类型为"true" or "false":表示在回音消除时启用或不启用延时消除算法,此算法较耗费cpu,但效果会较好,移动端缺省不启用,如果特殊需要就启用。 当前系统默认参数值为:false。 no use in ios.

eo_audio_noiseSuppression_Enable

< 值类型为bool, 字符类型为"true" or "false":表示在音频采集时是否使用噪音抑制,抑制后会消除部分噪音。 当前系统默认参数值为:true。

eo_audio_autoGainControl_Enable

< 值类型为bool, 字符类型为"true" or "false":表示在音频采集时是否启用自动增益,增益打开后会自动调整麦克风采集音频大小。 当前系统默认参数值为:true。

eo_audio_highpassFilter_Enable

< 值类型为bool, 字符类型为"true" or "false":表示在音频采集时是否启用高通滤波,一些尖锐的声音会被过滤掉。 当前系统默认参数值为:false。

eo_mcu_cluster_route_params

< 值类型为json String:设置分布式集群部署中加房间时mcu服务器的分配路由参数。 * 取值格式如下:{"ip_tag":"local","idc_code":""} * ip_tag 对应于 rtc_node_addr 中的tag标志,用于区分同一台服务器的多网卡地址,可以自定义,然后在参数中传入。举例的话,比如 'local','internal','dianxin','liantong' * idc_code 对应于 rtc_node 中的 idc_code标志,用于区分不同的服务器,唯一,可以自定义。比如北京服务器设置为'beijing',杭州的设置为'hangzhou',然后在参数中传入,用于定位到服务器。

eo_media_connproxy_ip

< 值类型为String:表示媒体服务器IP映射后对应的映射IP,通过连接此IP和相关端口可以与真实媒体服务器通讯。

eo_media_connproxy_port

< 值类型为int,字符类型数值字符串如"8050":表示媒体服务器端口映射后对应的映射端口,通过连接映射IP和此I端口可以与真实媒体服务器通讯。

eo_video_codec_hw_encode

< 值类型为bool, 字符类型为"true" or "false":表示是否优先使用硬件编码:优先使用硬件编码(true)和优先使用软件编码(false), * 缺省为硬件编码优先。

eo_video_codec_hw_decode

< 值类型为bool, 字符类型为"true" or "false":表示是否优先使用硬件解码:优先使用硬件解码(true)和优先使用软件解码(false), * 缺省为硬件解码优先。

eo_video_renderusecapture

< 值类型为bool, 字符类型为"true" or "false":表示在导入视频时的渲染attachRender时,是否采用导入视频直接渲染还是经过拉伸的视频再渲染。 当前系统默认参数值为:false。

eo_livecast_appmanageroom

< 值类型为bool, 字符类型为"true" or "false":设置房间中发布视频时是否发布混屏后视频;系统默认为true。

Discussion

引擎选项

引擎选项枚举列出了用于设置引擎的选项,在以下函数中使用。:

@sa setOption