AliVCSDK 6.8.0
阿里云音视频SDK,为视频开发者提供一站式接入服务
 
载入中...
搜索中...
未找到
AlivcLivePushConfig.java
1package com.alivc.live.pusher;
2
3import static com.alivc.live.pusher.AlivcAudioSampleRateEnum.AUDIO_SAMPLE_RATE_48000;
4import static com.alivc.live.pusher.AlivcLivePushCameraTypeEnum.CAMERA_TYPE_FRONT;
5import static com.alivc.live.pusher.AlivcLivePushConstants.DEFAULT_MAX_DIFF_PTS;
6import static com.alivc.live.pusher.AlivcLivePushConstants.DEFAULT_MAX_TIMEOUT_COUNT;
7import static com.alivc.live.pusher.AlivcLivePushConstants.DEFAULT_VALUE_AUDIO_ONLY;
8import static com.alivc.live.pusher.AlivcLivePushConstants.DEFAULT_VALUE_AUTO_FOCUS;
9import static com.alivc.live.pusher.AlivcLivePushConstants.DEFAULT_VALUE_FLASH;
10import static com.alivc.live.pusher.AlivcLivePushConstants.DEFAULT_VALUE_INT_AUDIO_RETRY_COUNT;
11import static com.alivc.live.pusher.AlivcLivePushConstants.DEFAULT_VALUE_INT_INIT_BITRATE;
12import static com.alivc.live.pusher.AlivcLivePushConstants.DEFAULT_VALUE_INT_MIN_BITRATE;
13import static com.alivc.live.pusher.AlivcLivePushConstants.DEFAULT_VALUE_INT_RETRY_INTERVAL;
14import static com.alivc.live.pusher.AlivcLivePushConstants.DEFAULT_VALUE_INT_TARGET_BITRATE;
15import static com.alivc.live.pusher.AlivcLivePushConstants.DEFAULT_VALUE_PREVIEW_MIRROR;
16import static com.alivc.live.pusher.AlivcLivePushConstants.DEFAULT_VALUE_PUSH_MIRROR;
17import static com.alivc.live.pusher.AlivcLivePushConstants.DEFAULT_VALUE_VIDEO_ONLY;
18import static com.alivc.live.pusher.AlivcResolutionEnum.DEFAULT_VALUE_INT_DEFINITION;
19
20import android.content.Intent;
21import android.graphics.ImageFormat;
22import android.media.AudioFormat;
23import android.os.Build;
24
25import com.alivc.live.annotations.AlivcLiveMode;
26
27import java.io.Serializable;
28import java.util.ArrayList;
29
42@Visible
43public class AlivcLivePushConfig implements Serializable {
44 public static final String CONFIG = "AlivcLivePushConfig";
45
46 private AlivcLiveMode mLivePushMode = AlivcLiveMode.AlivcLiveBasicMode;
47
48 private AlivcResolutionEnum mResolution = DEFAULT_VALUE_INT_DEFINITION;
49 private AlivcFpsEnum mFps = AlivcFpsEnum.FPS_20;
50 private int mTargetVideoBitrate = DEFAULT_VALUE_INT_TARGET_BITRATE;
51 private int mMinVideoBitrate = DEFAULT_VALUE_INT_MIN_BITRATE;
52 private int mInitialVideoBitrate = DEFAULT_VALUE_INT_INIT_BITRATE;
53 private int mBFrames = 0;
54 private static Intent mediaProjectionPermissionResultData = null;
58 private AlivcLivePushCameraTypeEnum mCameraType = CAMERA_TYPE_FRONT;
59 private boolean mPreviewMirror = DEFAULT_VALUE_PREVIEW_MIRROR;
60 private boolean mPushMirror = DEFAULT_VALUE_PUSH_MIRROR;
61 private boolean mAudioOnly = DEFAULT_VALUE_AUDIO_ONLY;
62 private boolean mVideoOnly = DEFAULT_VALUE_VIDEO_ONLY;
63 private boolean mAutoFocus = DEFAULT_VALUE_AUTO_FOCUS;
64 private boolean mFocusBySensor = false;
65 private boolean mFlash = DEFAULT_VALUE_FLASH;
66
67 //rtmp module
68 private int mConnectRetryCount = DEFAULT_VALUE_INT_AUDIO_RETRY_COUNT;
69 private int mConnectRetryInterval = DEFAULT_VALUE_INT_RETRY_INTERVAL;
70
71 private long mPtsMaxDiff = DEFAULT_MAX_DIFF_PTS; // 音频在前
72 private int mMaxTimeoutCount = DEFAULT_MAX_TIMEOUT_COUNT;
73 //private int mAlarmRemainPacketSize = DEFAULT_START_ALRAM_PACKET_SIZE;
74 //private int mUndoAlarmRemainPacketSize = DEFAULT_STOP_ALARM_PACKET_SIZE;
75
78 private AlivcEncodeType mVideoEncodeType = AlivcEncodeType.Encode_TYPE_H264;
80 private int mVideoFormat = ImageFormat.NV21;
81 private int mAudioFormat = AudioFormat.ENCODING_PCM_16BIT;
82 private AlivcImageFormat mAlivcExternMainImageFormat = AlivcImageFormat.IMAGE_FORMAT_YUV420P;
83 private AlivcSoundFormat mAlivcExternMainSoundFormat = AlivcSoundFormat.SOUND_FORMAT_S16;
84
86
87 private int mExposure = 0;
88
89 private boolean mUseAliPlayerForBGM = false;
90
91 private boolean enableNarrowbandHDForScreenPusher = true;
92
93 private boolean enableRTSForInteractiveMode = false;
94
95 //最小帧率
96 private AlivcFpsEnum minFps = AlivcFpsEnum.FPS_8;
97
98 private boolean enableBitrateControl = true;
99 private boolean enableAutoResolution = false;
100
101 private boolean initBitFlag = false;
102 private boolean minBitFlag = false;
103 private boolean targetBitFlag = false;
104
105 private boolean externMainStream = false;
106
107 private int sendDataTimeout = 3000;
108 private AlivcQualityModeEnum qualityMode = AlivcQualityModeEnum.QM_RESOLUTION_FIRST;
109
111 private int audioBitRate = 64000;
113 private AlivcAudioSampleRateEnum mAudioSampleRate = AUDIO_SAMPLE_RATE_48000;
114 private String mPausePushImagePath = "";
115 private String mNetworkPoorPushImagePath = "";
116
117 private boolean requireGLSharedContext = false;
118 private boolean mAudioCaptureWithoutMix = false;
119
120 private boolean h5CompatibleMode = false;
121
122 private boolean enableDataChannelMessage = false;
123
124 private String mExtraInfo;
125
126 private String userName;
127
129
130 public AlivcLivePushConfig() {
131 mediaProjectionPermissionResultData = null;
132 if (Build.MANUFACTURER.equals("Letv") || Build.MODEL.equals("Le X620")) {
133 mAudioCaptureWithoutMix = true;
134 }
135 }
136
137 private ArrayList<WaterMarkInfo> waterMarkInfos = new ArrayList<>();
138
139 public int getVideoFormat() {
140 return mVideoFormat;
141 }
142
143 public void setVideoFormat(int videoFormat) {
144 this.mVideoFormat = videoFormat;
145 }
146
147 public int getAudioFormat() {
148 return mAudioFormat;
149 }
150
151 public void setAudioFormat(int audioFormat) {
152 this.mAudioFormat = audioFormat;
153 }
154
169 public void setLivePushMode(AlivcLiveMode pushMode) {
170 this.mLivePushMode = pushMode;
171 // 不同模式下,分辨率对应的width/height/initial bitrate/target bitrate/min bitrate不一样,需刷新
172 setResolution(mResolution);
173 }
174
182 return mLivePushMode;
183 }
184
185 private boolean checkLiveInteractiveMode() {
186 return mLivePushMode == AlivcLiveMode.AlivcLiveInteractiveMode;
187 }
188
198 return mResolution;
199 }
200
209 public void setResolution(AlivcResolutionEnum resolution) {
210 this.mResolution = resolution;
211
212 if (!targetBitFlag) {
213 mTargetVideoBitrate = AlivcResolutionEnum.getTargetBitrate(resolution, mLivePushMode);
214 }
215
216 if (!initBitFlag) {
217 mInitialVideoBitrate = AlivcResolutionEnum.getInitBitrate(resolution, mLivePushMode);
218 }
219
220 if (!minBitFlag) {
221 mMinVideoBitrate = AlivcResolutionEnum.getMinBitrate(resolution, mLivePushMode);
222 }
223 }
224
230 public String getExtraInfo() {
231 return mExtraInfo;
232 }
233
241 public void setExtraInfo(String extraInfo) {
242 mExtraInfo = extraInfo;
243 }
244
245 public String getUserName() {
246 return userName;
247 }
248
249 public void setUserName(String userName) {
250 this.userName = userName;
251 }
252
259 public boolean isH5CompatibleMode() {
260 return h5CompatibleMode;
261 }
262
272 public void setH5CompatibleMode(boolean h5CompatibleMode) {
273 this.h5CompatibleMode = h5CompatibleMode;
274 }
275
282 public boolean isEnableDataChannelMessage() {
283 return enableDataChannelMessage;
284 }
285
292 public void setEnableDataChannelMessage(boolean enableDataChannelMessage) {
293 this.enableDataChannelMessage = enableDataChannelMessage;
294 }
295
304 return monitorLevel;
305 }
306
317 public void setMonitorLevel(AlivcLivePushMonitorLevel monitorLevel) {
318 this.monitorLevel = monitorLevel;
319 }
320
326 public int getFps() {
327 return mFps.getFps();
328 }
329
338 public void setFps(AlivcFpsEnum fps) {
339 this.mFps = fps;
340 }
341
348 return mTargetVideoBitrate;
349 }
350
356 public void setTargetVideoBitrate(int targetBitRate) {
357 this.mTargetVideoBitrate = targetBitRate;
358 this.targetBitFlag = true;
359 }
360
366 public int getMinVideoBitrate() {
367 return mMinVideoBitrate;
368 }
369
375 public void setMinVideoBitrate(int minBitrate) {
376 this.mMinVideoBitrate = minBitrate;
377 this.minBitFlag = true;
378 }
379
385 public int getBFrames() {
386 return mBFrames;
387 }
388
396 public void setBFrames(int bFrame) {
397 this.mBFrames = bFrame;
398 }
399
409 return mAudioSampleRate;
410 }
411
421 this.mAudioSampleRate = audioSample;
422 }
423
432 return mPreviewOrientation.getOrientation();
433 }
434
443 public void setPreviewOrientation(AlivcPreviewOrientationEnum previewOrientation) {
444 this.mPreviewOrientation = previewOrientation;
445 }
446
456 public int getPreviewRotation() {
457 return mPreviewRotation.getRotation();
458 }
459
471 this.mPreviewRotation = rotation;
472 }
473
481 public int getCameraType() {
482 return mCameraType.getCameraId();
483 }
484
494 this.mCameraType = cameraType;
495 }
496
504 public boolean isPreviewMirror() {
505 return mPreviewMirror;
506 }
507
515 public void setPreviewMirror(boolean mirror) {
516 this.mPreviewMirror = mirror;
517 }
518
526 public boolean isAudioOnly() {
527 return mAudioOnly;
528 }
529
537 public void setAudioOnly(boolean audioOnly) {
538 this.mAudioOnly = audioOnly;
539 }
540
546 public boolean isVideoOnly() {
547 return mVideoOnly;
548 }
549
557 public void setVideoOnly(boolean videoOnly) {
558 this.mVideoOnly = videoOnly;
559 }
560
568 public boolean isAutoFocus() {
569 return mAutoFocus;
570 }
571
579 public void setAutoFocus(boolean autoFocus) {
580 this.mAutoFocus = autoFocus;
581 }
582
590 public boolean isFocusBySensor() {
591 return mFocusBySensor;
592 }
593
603 public void setFocusBySensor(boolean focusBySensor) {
604 this.mFocusBySensor = focusBySensor;
605 }
606
614 public boolean isFlash() {
615 return mFlash;
616 }
617
625 public void setFlash(boolean flash) {
626 this.mFlash = flash;
627 }
628
636 public int getSendDataTimeout() {
637 return sendDataTimeout;
638 }
639
647 public void setSendDataTimeout(int sendDataTimeout) {
648 this.sendDataTimeout = sendDataTimeout;
649 }
650
657 public String getPausePushImage() {
658 return mPausePushImagePath;
659 }
660
667 public void setPausePushImage(String path) {
668 mPausePushImagePath = path;
669 }
670
677 public String getNetworkPoorPushImage() {
678 return mNetworkPoorPushImagePath;
679 }
680
687 public void setNetworkPoorPushImage(String path) {
688 mNetworkPoorPushImagePath = path;
689 }
690
697 return mInitialVideoBitrate;
698 }
699
705 public void setInitialVideoBitrate(int initialVideoBitrate) {
706 this.mInitialVideoBitrate = initialVideoBitrate;
707 this.initBitFlag = true;
708 }
709
717 public int getConnectRetryCount() {
718 return mConnectRetryCount;
719 }
720
728 public void setConnectRetryCount(int connectRetryCount) {
729 this.mConnectRetryCount = connectRetryCount;
730 }
731
740 return mConnectRetryInterval;
741 }
742
750 public void setConnectRetryInterval(int connectRetryInterval) {
751 this.mConnectRetryInterval = connectRetryInterval;
752 }
753
761 public boolean isPushMirror() {
762 return mPushMirror;
763 }
764
772 public void setPushMirror(boolean pushMirror) {
773 this.mPushMirror = pushMirror;
774 }
775
785 return mVideoEncodeMode;
786 }
787
796 public void setVideoEncodeMode(AlivcEncodeModeEnum videoEncodeMode) {
797 this.mVideoEncodeMode = videoEncodeMode;
798 }
799
809 return mVideoEncodeType;
810 }
811
820 public void setVideoEncodeType(AlivcEncodeType videoEncodeType) {
821 this.mVideoEncodeType = videoEncodeType;
822 }
823
833 return mAudioEncodeMode;
834 }
835
844 public void setAudioEncodeMode(AlivcEncodeModeEnum audioEncodeMode) {
845 this.mAudioEncodeMode = audioEncodeMode;
846 }
847
853 public int getWidth() {
854 return AlivcResolutionEnum.getResolutionWidth(mResolution, mLivePushMode);
855 }
856
862 public int getHeight() {
863 return AlivcResolutionEnum.getResolutionHeight(mResolution, mLivePushMode);
864 }
865
873 public int getAudioChannels() {
874 return mAudioChannels.getChannelCount();
875 }
876
884 public void setAudioChannels(AlivcAudioChannelEnum audioChannels) {
885 mAudioChannels = audioChannels;
886 }
887
895 public int getVideoEncodeGop() {
896 return mVideoEncodeGop.getGop();
897 }
898
906 public void setVideoEncodeGop(AlivcVideoEncodeGopEnum videoEncodeGop) {
907 mVideoEncodeGop = videoEncodeGop;
908 }
909
919 public int getExposure() {
920 return mExposure;
921 }
922
932 public void setExposure(int exposure) {
933 this.mExposure = exposure;
934 }
935
946 mUseAliPlayerForBGM = useAliPlayerForBGM;
947 }
948
958 public boolean useAliPlayerForBGM() {
959 return mUseAliPlayerForBGM;
960 }
961
971 public void setEnableNarrowbandHDForScreenPusher(boolean enable) {
972 enableNarrowbandHDForScreenPusher = enable;
973 }
974
985 return enableNarrowbandHDForScreenPusher;
986 }
987
995 return enableRTSForInteractiveMode;
996 }
997
1004 public void setEnableRTSForInteractiveMode(boolean enableRTSForInteractiveMode) {
1005 this.enableRTSForInteractiveMode = enableRTSForInteractiveMode;
1006 }
1007
1016 public int getMinFps() {
1017 return minFps.getFps();
1018 }
1019
1028 public void setMinFps(AlivcFpsEnum minFps) {
1029 this.minFps = minFps;
1030 }
1031
1041 return audioProfile;
1042 }
1043
1052 public void setAudioProfile(AlivcAudioAACProfileEnum audioProfile) {
1053 this.audioProfile = audioProfile;
1054 }
1055
1063 public int getAudioBitRate() {
1064 return audioBitRate;
1065 }
1066
1074 public void setAudioBitRate(int audioBitRate) {
1075 this.audioBitRate = audioBitRate;
1076 }
1077
1089 return audioSceneMode;
1090 }
1091
1102 public void setAudioSceneMode(AlivcAudioSceneModeEnum audioSceneMode) {
1103 this.audioSceneMode = audioSceneMode;
1104 }
1105
1115 this.qualityMode = quality;
1116 }
1117
1127 return qualityMode;
1128 }
1129
1137 return mediaProjectionPermissionResultData;
1138 }
1139
1146 public static void setMediaProjectionPermissionResultData(Intent mediaProjectionPermissionResultData) {
1147 AlivcLivePushConfig.mediaProjectionPermissionResultData = mediaProjectionPermissionResultData;
1148 }
1149
1157 public boolean isEnableBitrateControl() {
1158 return enableBitrateControl;
1159 }
1160
1168 public void setEnableBitrateControl(boolean enableBitrateControl) {
1169 this.enableBitrateControl = enableBitrateControl;
1170 }
1171
1179 public boolean isEnableAutoResolution() {
1180 return enableAutoResolution;
1181 }
1182
1190 public void setEnableAutoResolution(boolean enableAutoResolution) {
1191 this.enableAutoResolution = enableAutoResolution;
1192 }
1193
1201 public boolean isExternMainStream() {
1202 return externMainStream;
1203 }
1204
1214 public void setExternMainStream(boolean externMainStream) {
1215 this.externMainStream = externMainStream;
1216 }
1217
1229 public void setExternMainStream(boolean externMainStream, AlivcImageFormat imageFormat, AlivcSoundFormat soundFormat) {
1230 this.externMainStream = externMainStream;
1231 mAlivcExternMainImageFormat = imageFormat;
1232 mAlivcExternMainSoundFormat = soundFormat;
1233 }
1234
1244 return mAlivcExternMainImageFormat;
1245 }
1246
1254 public void setAlivcExternMainImageFormat(AlivcImageFormat alivcExternMainImageFormat) {
1255 this.mAlivcExternMainImageFormat = alivcExternMainImageFormat;
1256 }
1257
1267 return mAlivcExternMainSoundFormat;
1268 }
1269
1279 this.mAlivcExternMainSoundFormat = soundFormat;
1280 }
1281
1291 return mPreviewDisplayMode;
1292 }
1293
1303 this.mPreviewDisplayMode = displayMode;
1304 }
1305
1314 public void setRequireRenderContextNotify(boolean enable) {
1315 this.requireGLSharedContext = enable;
1316 }
1317
1327 return this.requireGLSharedContext;
1328 }
1329
1337 public void setAudioCaptureWithoutMix(boolean on) {
1338 this.mAudioCaptureWithoutMix = on;
1339 }
1340
1348 public boolean getAudioCaptureWithoutMix() {
1349 return mAudioCaptureWithoutMix;
1350 }
1351
1364 @Deprecated
1365 public void addWaterMark(String path, float x, float y, float width) {
1366 WaterMarkInfo waterMarkInfo = new WaterMarkInfo();
1367 waterMarkInfo.mWaterMarkPath = path;
1368 waterMarkInfo.mWaterMarkCoordX = x;
1369 waterMarkInfo.mWaterMarkCoordY = y;
1370 waterMarkInfo.mWaterMarkWidth = width;
1371 if (waterMarkInfos.size() < 3) {
1372 waterMarkInfos.add(waterMarkInfo);
1373 }
1374 }
1375
1379 @Deprecated
1380 public void clearWaterMark() {
1381 waterMarkInfos.clear();
1382 }
1383
1389 @Deprecated
1390 public void removeWaterMark(String path) {
1391 for (WaterMarkInfo info : waterMarkInfos) {
1392 if (path != null && path.equals(info.mWaterMarkPath)) {
1393 waterMarkInfos.remove(info);
1394 break;
1395 }
1396 }
1397 }
1398
1405 public ArrayList<WaterMarkInfo> getWaterMarkInfos() {
1406 return waterMarkInfos;
1407 }
1408
1409 @Override
1410 public String toString() {
1411 return "AlivcLivePushConfig{" +
1412 "mLivePushMode=" + mLivePushMode +
1413 ", mResolution=" + mResolution +
1414 ", mFps=" + mFps +
1415 ", mTargetVideoBitrate=" + mTargetVideoBitrate +
1416 ", mMinVideoBitrate=" + mMinVideoBitrate +
1417 ", mInitialVideoBitrate=" + mInitialVideoBitrate +
1418 ", mBFrames=" + mBFrames +
1419 ", mPreviewOrientation=" + mPreviewOrientation +
1420 ", mPreviewRotation=" + mPreviewRotation +
1421 ", mPreviewDisplayMode=" + mPreviewDisplayMode +
1422 ", mCameraType=" + mCameraType +
1423 ", mPreviewMirror=" + mPreviewMirror +
1424 ", mPushMirror=" + mPushMirror +
1425 ", mAudioOnly=" + mAudioOnly +
1426 ", mVideoOnly=" + mVideoOnly +
1427 ", mAutoFocus=" + mAutoFocus +
1428 ", mFocusBySensor=" + mFocusBySensor +
1429 ", mFlash=" + mFlash +
1430 ", mConnectRetryCount=" + mConnectRetryCount +
1431 ", mConnectRetryInterval=" + mConnectRetryInterval +
1432 ", mPtsMaxDiff=" + mPtsMaxDiff +
1433 ", mMaxTimeoutCount=" + mMaxTimeoutCount +
1434 ", mAudioChannels=" + mAudioChannels +
1435 ", mVideoEncodeMode=" + mVideoEncodeMode +
1436 ", mVideoEncodeType=" + mVideoEncodeType +
1437 ", mAudioEncodeMode=" + mAudioEncodeMode +
1438 ", mVideoFormat=" + mVideoFormat +
1439 ", mAudioFormat=" + mAudioFormat +
1440 ", mAlivcExternMainImageFormat=" + mAlivcExternMainImageFormat +
1441 ", mAlivcExternMainSoundFormat=" + mAlivcExternMainSoundFormat +
1442 ", mVideoEncodeGop=" + mVideoEncodeGop +
1443 ", mExposure=" + mExposure +
1444 ", mUseAliPlayerForBGM=" + mUseAliPlayerForBGM +
1445 ", enableNarrowbandHDForScreenPusher=" + enableNarrowbandHDForScreenPusher +
1446 ", enableRTSForInteractiveMode=" + enableRTSForInteractiveMode +
1447 ", minFps=" + minFps +
1448 ", enableBitrateControl=" + enableBitrateControl +
1449 ", enableAutoResolution=" + enableAutoResolution +
1450 ", initBitFlag=" + initBitFlag +
1451 ", minBitFlag=" + minBitFlag +
1452 ", targetBitFlag=" + targetBitFlag +
1453 ", externMainStream=" + externMainStream +
1454 ", sendDataTimeout=" + sendDataTimeout +
1455 ", qualityMode=" + qualityMode +
1456 ", audioProfile=" + audioProfile +
1457 ", audioBitRate=" + audioBitRate +
1458 ", audioSceneMode=" + audioSceneMode +
1459 ", mAudioSampleRate=" + mAudioSampleRate +
1460 ", mPausePushImagePath='" + mPausePushImagePath + '\'' +
1461 ", mNetworkPoorPushImagePath='" + mNetworkPoorPushImagePath + '\'' +
1462 ", requireGLSharedContext=" + requireGLSharedContext +
1463 ", mAudioCaptureWithoutMix=" + mAudioCaptureWithoutMix +
1464 ", h5CompatibleMode=" + h5CompatibleMode +
1465 ", mExtraInfo='" + mExtraInfo + '\'' +
1466 ", monitorLevel=" + monitorLevel +
1467 ", waterMarkInfos=" + waterMarkInfos +
1468 '}';
1469 }
1470} // end of live_pusher
void setAlivcExternMainSoundFormat(AlivcSoundFormat soundFormat)
void setExternMainStream(boolean externMainStream)
void setAudioSampleRate(AlivcAudioSampleRateEnum audioSample)
void setEnableBitrateControl(boolean enableBitrateControl)
void setEnableRTSForInteractiveMode(boolean enableRTSForInteractiveMode)
void setVideoEncodeGop(AlivcVideoEncodeGopEnum videoEncodeGop)
void setResolution(AlivcResolutionEnum resolution)
void setAudioChannels(AlivcAudioChannelEnum audioChannels)
void setExternMainStream(boolean externMainStream, AlivcImageFormat imageFormat, AlivcSoundFormat soundFormat)
static void setMediaProjectionPermissionResultData(Intent mediaProjectionPermissionResultData)
void setVideoEncodeMode(AlivcEncodeModeEnum videoEncodeMode)
void setAudioProfile(AlivcAudioAACProfileEnum audioProfile)
void setConnectRetryInterval(int connectRetryInterval)
void setAudioSceneMode(AlivcAudioSceneModeEnum audioSceneMode)
void setEnableDataChannelMessage(boolean enableDataChannelMessage)
void setCameraType(AlivcLivePushCameraTypeEnum cameraType)
void addWaterMark(String path, float x, float y, float width)
void setPreviewDisplayMode(AlivcPreviewDisplayMode displayMode)
void setEnableAutoResolution(boolean enableAutoResolution)
void setUseAliPlayerForBGM(boolean useAliPlayerForBGM)
void setPreviewRotation(AlivcPreviewRotationEnum rotation)
void setConnectRetryCount(int connectRetryCount)
void setMonitorLevel(AlivcLivePushMonitorLevel monitorLevel)
void setH5CompatibleMode(boolean h5CompatibleMode)
void setVideoEncodeType(AlivcEncodeType videoEncodeType)
void setQualityMode(AlivcQualityModeEnum quality)
void setInitialVideoBitrate(int initialVideoBitrate)
void setPreviewOrientation(AlivcPreviewOrientationEnum previewOrientation)
void setAlivcExternMainImageFormat(AlivcImageFormat alivcExternMainImageFormat)
void setAudioEncodeMode(AlivcEncodeModeEnum audioEncodeMode)
推流视频采集帧率
static int getMinBitrate(AlivcResolutionEnum resolution, AlivcLiveMode liveMode)
static int getTargetBitrate(AlivcResolutionEnum resolution, AlivcLiveMode liveMode)
static int getResolutionWidth(AlivcResolutionEnum resolution, AlivcLiveMode liveMode)
static int getInitBitrate(AlivcResolutionEnum resolution, AlivcLiveMode liveMode)
static int getResolutionHeight(AlivcResolutionEnum resolution, AlivcLiveMode liveMode)