TXRTMPAPI.h
5.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "TXLivePlayListener.h"
#import "TXLivePushListener.h"
#pragma TXRtmpAPI
@interface TXRtmpApi : NSObject
/*! @brief 开始播放RTMP流
*
* @param url 流地址
* @param playType 播放类型
* @return
*/
+(void) startPlay:(NSString*)url type:(int)playType;
/*! @brief 停止播放RTMP流
*
* @return
*/
+(void) stopPlayRtmp;
/*! @brief 开始RTMP推流
*
* @param url RTMP推流地址
* @return
*/
+(void) startPublishRtmp:(NSString*)url;
/*! @brief 停止RTMP推流
*
* @return
*/
+(void) stopPublishRtmp;
/*! @brief 设置视频编码器参数
*
* @param width 输入的视频宽度,即采集到的视频width,如 640
* @param Height 输入的视频高度,即采集到的视频height,如 480
* @param Angle 输出视频旋转角度
* @return
*/
+(void) setVideoEncoderSize:(int)width height:(int)height angle:(int)angle;
/*! @brief 设置推流码率档位
* @param bitrateType 分三个档位,具体参照VideoQuality定义
* @return
*/
+(void) setVideoEncodeBitrateMin:(int)minBitrate max:(int)maxBitrate;
/* setAudioSampleRate 设置音频采样参数
* sample: SampleRate,as:8000,44100
* channel: channelsPerFrame
* bit: BitsPerChannel
* 返回: 0 = OK
*/
+(int) setAudioSampleRate:(int)sample channels:(int)channel bits:(int)bit;
/* setAudioDenoiseEnable 开启/关闭背景音降噪
* bDenoiseEnable: 是否开启背景音降噪,目前支持采样率(8000,32000)之间降噪
* 返回:
*/
+(void) setAudioDenoiseEnable:(bool)bDenoiseEnable;
/*! @brief 发送语音数据
*
* @param data pcm格式音频数据,SDK内部会转成AAC
* @param len 数据长度
* @return
*/
+(void) sendAudioWithPCM:(unsigned char*)data len:(unsigned int)len;
/*! @brief 发送语音数据
*
* @param data aac格式音频数据
* @param len 数据长度
* @return
*/
+(unsigned int) sendAudioWithAAC:(unsigned char*)data len:(unsigned int)len;
/*! @brief 发送视频数据
*
* @param pYUV420Buff YUV420数据
* @param frameAngle 旋转方向
* @param width 视频width
* @param height 视频height
* @param dataLen YUV420数据size
* @return
*/
+(void) sendVideoWithYUV:(unsigned char *)pYUV420Buff width:(int)width height:(int)height dataLen:(unsigned int)dataLen;
/*! @brief 切换前后摄像头
*
* @param bFront 切换到前(后)摄像头
* @return
*
* 当发生摄像头切换时,需要设置SDK相应的参数
*/
+(void) switchCamera:(BOOL)bFront;
/*! @brief 设置美颜级别
*
* @param smoothLevel 美颜级别0,无美颜效果,1~9,美颜效果递增。
* @return
*/
+(void) setBeautyFilter:(int)beautyLevel setWhiteningLevel:(int) whiteningLevel;
/*! @brief 获取SDK版本号
*
*
* @return 返回数组元素分别为:mainversion,subversion,buildnumber
*/
+(NSArray*) getSDKVersion;
/*! @brief 获取CPU使用率
*
*/
+(float) getCpuUsage;
+(int) parseStreamData:(char*)data len:(int)le;
+(void) setVideoFPS:(int)fps;
+(BOOL)enableHWAcceleration:(BOOL)enable;
+(BOOL)enableHWDec:(BOOL)enable;
+(int)seek:(int)time;
+(void)pause;
+(void)resume;
+(int)getFileOffset;
+(void)setLoadFinished:(BOOL)isFinished;
+(int)getLoadFinished;
+(void)setPushListener:(id<TXLivePushListener>)listener;
+(void)setPlayListener:(id<TXLivePlayListener>)listener;
/*! @brief 设置log输出级别
* level:参见 LOGLEVEL
*
*/
+(void)setLogLevel:(TX_Enum_Type_LogLevel) level;
/*! @brief 设置播放器缓存时间
* @param time: 0表示根据网络状况自动调节,其他值表示播放器的缓存时间(单位秒)
*
*/
+(void) setCacheTime:(int)time;
/* 自动调整播放器缓存时间
* 参数:
* bEnable: YES:启用自动调整,自动调整的最大值和最小值可以分别通过setMaxCacheTime和setMinCacheTime设置;
* NO:关闭自动调整,采用默认的指定缓存时间(1s),可以通过setCacheTime修改
*/
+(void) setAutoAdjustCache:(BOOL)bEnable;
/* 设置播放器缓存自动调整的最大时间
* 参数:
* time: 时间(单位秒),time需要大于0
*
*/
+(void) setMaxAutoAdjustCacheTime:(int)time;
/* 指定播放器缓存自动调整的最小时间
* 参数:
* time: 时间(单位秒),time需要大于0
*
*/
+(void) setMinAutoAdjustCacheTime:(int)time;
/* 设置播放器连接重试次数
* 参数:
* count: 重试次数,最小值为 1, 最大值为 10
*/
+(void) setConnectRetryCount:(int)count;
/* 设置播放器连接重试间隔
* 参数:
* interval: 重试间隔,最小值为 3, 最大值为 10
*/
+(void) setConnectRetryInterval:(int)interval;
/* 获取播放器连接重试次数
* 返回值:
* count: 重试次数,最小值为 1, 最大值为 10
*/
+ (int)getConnectRetryCount;
/* 获取播放器连接重试间隔
* 返回值:
* interval: 重试间隔,最小值为 3, 最大值为 10
*/
+ (int)getConnectRetryInterval;
/* 设置水印
* 参数:
* watermark: 水印图片
* origin : 水印位置
*/
+ (void)addWatermark:(UIImage *)watermark origin:(CGPoint)origin;
/* 关闭水印
*/
+ (void)disableWatermark;
/**
* 视频预处理Hook
*/
+ (void)setCustomVideoPreProcessFuncPtr:(PVideoProcessHookFunc) pFuncPtr;
/**
* 音频预处理Hook
*/
+ (void)setCustomAudioPreProcessFuncPtr:(PAudioProcessHookFunc) pFuncPtr;
/* 检查是否是腾讯云的链接
*/
+ (BOOL)checkUrl:(NSString* )url;
@end