├── libs ├── libksyrtc.jar ├── x86 │ └── libksyrtc.so ├── arm64-v8a │ └── libksyrtc.so └── armeabi-v7a │ └── libksyrtc.so ├── .gitignore ├── README.md └── release_note.txt /libs/libksyrtc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ksvc-backup/KSYRTCLive_Android/HEAD/libs/libksyrtc.jar -------------------------------------------------------------------------------- /libs/x86/libksyrtc.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ksvc-backup/KSYRTCLive_Android/HEAD/libs/x86/libksyrtc.so -------------------------------------------------------------------------------- /libs/arm64-v8a/libksyrtc.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ksvc-backup/KSYRTCLive_Android/HEAD/libs/arm64-v8a/libksyrtc.so -------------------------------------------------------------------------------- /libs/armeabi-v7a/libksyrtc.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ksvc-backup/KSYRTCLive_Android/HEAD/libs/armeabi-v7a/libksyrtc.so -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/android 3 | 4 | ### Android ### 5 | # Built application files 6 | *.apk 7 | *.ap_ 8 | 9 | # Files for the Dalvik VM 10 | *.dex 11 | 12 | # Java class files 13 | *.class 14 | 15 | # Generated files 16 | bin/ 17 | gen/ 18 | 19 | # Gradle files 20 | .gradle/ 21 | build/ 22 | .DS_Store 23 | # Local configuration file (sdk path, etc) 24 | local.properties 25 | 26 | # Proguard folder generated by Eclipse 27 | proguard/ 28 | 29 | # Log Files 30 | *.log 31 | 32 | # Android Studio Navigation editor temp files 33 | .navigation/ 34 | 35 | # Android Studio captures folder 36 | captures/ 37 | 38 | ### Android Patch ### 39 | gen-external-apklibs 40 | 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 金山云直播连麦Android SDK使用说明 2 | 直播连麦基于[KSY Streamer Android SDK](https://github.com/ksvc/KSYStreamer_Android/wiki/Info&Error_Listener),是金山云推出的 Android 平台上的连麦SDK,同时具有直播推流的相关功能。 3 | 4 | ## 重要声明 5 | 6 | 从2017年6月起,金山云自研连麦不再开放给普通用户使用。请使用其他连麦方案。 7 | 8 | 给您造成的不便,深表歉意! 9 | 10 | --- 11 | 12 | ## 一. 功能特点 13 | > 超清连麦,不错过每一个细节! 14 | 15 | 金山云提供高效H.265编解码内核,提供低码率下高质量连麦体验。欢迎试用! 16 | 17 | ### 连麦功能 18 | * 基于 [KSYLiveSDK](https://github.com/ksvc/KSYStreamer_Android)的 连麦功能。 19 | 20 | ### demo示例 21 | 22 | demo使用示例,请参考视频 23 | 24 | 25 | [![ScreenShot](https://raw.githubusercontent.com/wiki/ksvc/KSYRTCLive_Android/images/androidrtcdemo.png)](http://www.bilibili.com/video/av10327318/) 26 | 27 | 28 | ## 二. 运行环境 29 | 30 | * 最低支持版本为Android 4.4 31 | * 支持的cpu架构:armv7, arm64, x86(仅支持编译) 32 | 33 | ## 三. 开发指南 34 | 35 | [Wiki](https://github.com/ksvc/KSYRTCLive_Android/wiki) 36 | 37 | 38 | ## 四.商务合作 39 | demo中有测试评估账号,可以直接实现一对一连麦。 40 | 正式上线需要申请金山云账号,请联系金山云商务。 41 | 42 | ## 五. 反馈与建议 43 | - 主页:[金山云](http://www.ksyun.com/) 44 | - 邮箱: 45 | - QQ讨论群:574179720 46 | - Issues: 47 | -------------------------------------------------------------------------------- /release_note.txt: -------------------------------------------------------------------------------- 1 | 2015-10-21 2 | 1.修复若干crash问题 3 | 2.修复不能全屏预览的问题 4 | 3.增加推流成功和失败的回调 5 | 4.修复推流过程中按Home键或者接电话,再回到推流界面,不能续推的问题 6 | 5.增加流量统计接口 7 | 6.修复部分手机无法对焦的问题 8 | 7.增加性能相关的log开关 9 | 8中增加framerate字段 10 | 11 | 2016-04-07 3.0.9.1版 12 | 50.增加混响动态配置接口 13 | 51.修复偶现的推流出现invalid arguments错误 14 | .固定竖屏采集 15 | 16 | 2015-11-27 17 | 9.优化编码参数 18 | 10.缩减包大小 19 | 20 | 2015-12-03 1.0版 21 | 11.修复Nexus6前置摄像头预览变形的bug 22 | 12.优化编码参数,画质更清晰 23 | 13.增加网络状况不佳的回调 24 | 14.性能优化 25 | 26 | 2015-12-10 1.1版 27 | 15.重命名包名和类名,调整初始化逻辑 28 | 16.修复断网重连失败的bug 29 | 30 | 2015-12-16 1.1版 31 | 17.增加自适应码率功能 32 | 18.修复偶现停止推流失败的bug 33 | 34 | 2015-12-28 1.1版 35 | 19.提供高分辨率高码率适应版本 36 | 20.修复crash问题 37 | 38 | 2015-12-30 1.1版 39 | 21.提供540P分辨率的支持 40 | 41 | 2015-12-31 1.1版 42 | 22.修复断网重连偶现失败的问题 43 | 44 | 2016-01-06 1.1版 45 | 23.支持固定横屏 46 | 47 | 2016-01-22 1.3版 48 | 24.修复Nexus 5 Android 6.0上的爆音问题 49 | 25.自适应码率开关 50 | 51 | 2016-01-23 2.0版 52 | 26.支持720P硬编,实现软硬编融合 53 | 54 | 2016-03-01 3.0版 55 | 27.实现美颜功能 56 | 57 | 2016-03-09 3.0.2版 58 | 28.优化美颜参数 59 | 60 | 2016-03-10 3.0.3版 61 | 29.优化编码参数 62 | 63 | 2016-03-15 3.0.5版 64 | 30.增加日志功能 65 | 31.修复偶现的没有画面的问题 66 | 67 | 2016-03-16 3.0.6版 68 | 32.分离音视频编码线程 69 | 70 | 2016-03-18 3.0.8版 71 | 33.增加初始化回调 72 | 34.增加推流过程中切换美颜接口 73 | 74 | 2016-03-28 3.0.8.5版 75 | 35.修复Nexus 6 Android 6.0上推流五分钟后预览卡住的问题 76 | 36.修复硬编偶现推流失败的问题 77 | 37.优化硬编内存占用 78 | 38.修复软编推流偶现的音视频不同步的问题 79 | 80 | 2016-03-30 3.0.8.6版 81 | 39.修复若干bug 82 | 83 | 2016-04-01 3.0.8.8版 84 | 40.修复偶现的crash 85 | 41.初始化时只需要传入Context类型参数 86 | 42.优化硬编内存占用 87 | 88 | 2016-04-05 3.0.8.9版 89 | 42.增加混响控制接口 90 | 43.增加播放音乐回调进度,结束接口 91 | 44.增加单曲循环播放功 92 | 45.修复后置镜像问题 93 | 46.解决硬解偶现重连失败的问题 94 | 47.优化卡顿 95 | 48.增加获取版本号的接口 96 | 49.硬编的metadata中增加framerate字段 97 | 98 | 2016-04-07 3.0.9.1版 99 | 50.增加混响动态配置接口 100 | 51.修复偶现的推流出现invalid arguments错误 101 | 102 | 2016-04-08 3.0.9.2版 103 | 52.增加了手动指定对焦和测光区域的功能 104 | 105 | 2016-04-12 3.0.9.4版 106 | 53.混音改用ffmpeg实现,支持更多格式及采样率等,包括mp3, aac, m4a, mp4(audio only); 107 | 54.重构Java层缓存逻辑,Java层极端情况下仍然不丢音频帧,使音频pts尽量连续; 108 | 55.重构硬编美颜接口,API更友好,提供更容易使用的API Demo; 109 | 56.计数器功能; 110 | 57.增加判断是否正在使用前置摄像头接口; 111 | 58.修正应用没有摄像头权限时硬编crash的问题; 112 | 113 | 2016-04-15 3.0.9.5版 114 | 59.修正软编在出错重试时偶现crash的问题; 115 | 60.修正软编推流失败后依然显示正在推流的问题; 116 | 61.修复混音开启时,从软编切到硬编混音不生效的问题; 117 | 62.修复bgm为HE-AAC时混音不生效的问题; 118 | 63.优化混音时bgm与mic的同步问题; 119 | 64.调整混音算法,避免爆音; 120 | 121 | 2016-04-21 3.1.0.2版 122 | 65.支持arm64和x86平台 123 | 66.梳理对外API 124 | 67.更新推流默认配置 125 | 68.增加Demo UI上显示版本信息和其他统计信息 126 | 69.增加硬编初始化完成回调 127 | 70.修复横屏前置摄像头推流画面倒置的问题 128 | 71.增加混音pause和resume的接口 129 | 130 | 2016-04-21 3.1.0.3版 131 | 72.软编添加水印功能,包含图片水印和时间水印 132 | 73.播放bgm时在回调函数中添加音乐的时长 133 | 74.播放bgm时增加了播放出错时的回调函数 134 | 75.修复bgm播放完成后回调不执行的问题 135 | 76.增加硬编onPreviewFrame回调,软硬编onPreviewFrame都改为预览开始就有效,硬编的onPreviewFrame回调可以用来检测人脸的位置等,但是硬编的onPreviewFrame处理后的yuv数据不会被应用到预览和编码 136 | 137 | 2016-04-21 3.1.0.5版 138 | 77.质量评价相关需求 139 | 78.分离硬编预览和编码滤镜实例 140 | 79.更新滤镜实现结构,更友好的开发方式 141 | 80.修改硬编镜像为软编一样的逻辑(默认推流前置镜像) 142 | 143 | 2016-05-05 3.1.0.6版 144 | 81.提高稳定性,修复一些机器上硬编crash的问题 145 | 82.修复硬编某些情况下切换摄像头无效的问题 146 | 147 | 2016-05-16 3.1.0.7版 148 | 83.增加硬编水印功能,以及推流端的水印预览 149 | 84.调整水印接口,之前的接口不再生效 150 | 85.增加GroupFilter的功能(Demo硬编有testcase) 151 | 86.修复设置音频采样率后播放端声音可能不正常的问题 152 | 87.修复软编模式下码率自适应可能直降不升的问题 153 | 88.调整了builder类的I帧间隔设置接口 154 | 155 | 2016-05-18 3.1.0.8版 156 | 89.修复group filter开始推流后图像会放大的问题 157 | 90.修复540p下软编推流开启美颜,播放端有毛边的问题 158 | 159 | 2016-05-04 3.2.0.1版 160 | 81.支持画中画 161 | 162 | 2016-05-06 3.2.0.2版 163 | 82.修正画中画中背景视频显示比例不正确的问题; 164 | 165 | 2016-05-16 3.2.0.3版 166 | 83.修复若干crash,支持指定画中画的位置和大小 167 | 84.修复画中画位置相关bug 168 | 169 | 2016-05-16 3.2.0.4版 170 | 85.修复画中画大视频宽高比例不对的问题 171 | 86.修复画中画前置摄像头大视频镜像问题 172 | 173 | 2016-05-26 3.2.0.5 174 | 87.支持图片画中画模式 175 | 88.支持视频画中画模式下,再增加背景图片 176 | 177 | 2016-05-26 3.2.0.7 178 | 89. 修复画中画模式下,切换摄像头后,镜像设置错乱的问题 179 | 90. 修复从【视频画中画模式】切换到【图片画中画】后,仍然显示视频最后一帧的问题 180 | 181 | 2016-06-08 3.2.0.8 182 | 91. 修复软编540p下推流播放端颜色异常问题 183 | 92. 修复部分手机推流时出现推流画面拉伸的问题 184 | 93. 修复若干画中画的bug 185 | 94. 修复Android推流端使用540P或者720P软编推流,切换摄像头时,出现画面异常 186 | 187 | 2016-06-16 3.3.0.0 188 | 95. 修复软编下,手机性能不足造成的音视频不同步问题 189 | 96. 针对性能差的机型,提供软编下轻度美颜方案 190 | 97. 修复画中画的若干bug 191 | 98. 提升音频编码的音质 192 | 193 | 2016-06-24 3.3.0.2 194 | 99. 减小so库的体积 195 | 100. 修复关闭摄像头权限或录音权限后应用崩溃的问题,并在无权限时上报相应的错误类型 196 | 197 | 2016-07-07 3.3.0.3 198 | 101. 修复某些机型上(Galaxy S6/S7)上fps设定无效的问题; 199 | 102. 水印logo支持设置assets路径; 200 | 103. 修复部分机型无Camera,Audio权限错误时未通知上层的问题; 201 | 104. 修复闪光灯开关多次点击才生效的问题; 202 | 203 | 2016-07-14 3.3.0.4 204 | 104. 修改某些机型上(小米3) 硬编450p以上分辨率 预览失效问题。; 205 | 105. 增加建立连接失败错误码 206 | 207 | 2016-07-18 3.3.0.5 208 | 106. 重构日志上报相关模块 209 | 107. 状态变更区分info和error 210 | 211 | 2016-07-27 3.3.0.6 212 | 108. 解决米3手机720p软编推流崩溃 213 | 109. 升降调功能提测 214 | 110. 解决Google Play商店OpenSSL审核不过的问题 215 | 216 | 2016-08-03 3.3.0.7 217 | 111. 修复弱网环境下推流,播放端可能出现花屏的bug 218 | 219 | 2016-08-08 3.3.0.8 220 | 112. 解决的与播放器的融合版本推流几分钟后断流的问题 221 | 113. 修改Demo状态回调示例代码 222 | 114. 增加上报信息 223 | 115. 解决部分native方法无法找到问题 224 | 225 | 2016-08-16 3.3.0.9 226 | 116. 解决部分机型画中画耳返声音不同步问题 227 | 117. 日志相关添加容错检查 228 | 229 | 2016-08-22 3.3.1.0 230 | 118. 增加推流过程中动态修改前置摄像头镜像功能 231 | 119. 修改硬编码率自适应始终为true的问题 232 | 120. 升级libksyplayer.jar为1.4.6版本 233 | 234 | 2016-09-6 3.3.2.0 235 | 121. 修复魅族pro5 5.1.9.0A版本固件上预览黑屏的bug 236 | 122. 修复软编偶现crash问题 237 | 123. 特殊情况下,音视频不同步时上报给APP 238 | 124. 升级libksyplayer.jar为1.5.0版本 239 | 240 | 2016-09-13 3.3.3.0 241 | 125. 修复软编推流开始前接口isFrontCamera返回错误问题 242 | 126. 增加sharpen滤镜 243 | 127. 特殊情况下,音视频不同步时上报给APP(硬编部分) 244 | 128. 升级libksyplayer.jar为1.5.1版本 245 | 246 | 2016-09-28 3.3.4.0 247 | 129. 修复硬编推流36分钟以上自动断开的问题 248 | 249 | 2016-10-10 3.4.1.0 250 | 130. 连麦第一次正式版发布 251 | 252 | 2016-10-26 3.4.2.0 253 | 131. 修复内存泄露的问题 254 | 132. 修复辅播侧看到主播的画面没有经过美颜处理的bug 255 | 256 | 2016-11-02 3.4.3.1 257 | 133. 退后台时(按Home键等),不再发送数据到对端; 258 | 134.修复第二次连麦时,部分机型存在crash的bug 259 | 135.修复第二次连麦时,部分机型黑屏的bug 260 | 261 | 2016-11-03 3.4.3.2 262 | 136.更新播放器的库为v1.6.2 263 | 264 | 2016-12-21 RTC1.5.0 265 | 137.更新推流4.0.7版本 266 | 138.支持软编 267 | 139.不推流也可以连麦 268 | 140.支持连麦分辨率比例设置 269 | 270 | 2017-1-18 RTC1.5.2 271 | 141.新增rtc相关so(libksyrtc.so) 272 | 142.解决连麦窗口不退出,造成的内存泄漏问题 273 | 143.使用jcenter依赖推流融合库2.2.1版本(需要在build.gradle添加jcenter依赖) 274 | 144.解决耳返时拉流端没有连麦对端音频的问题 275 | 145.解决连麦过程中开启耳返,切换到后台,再回到前台后,连麦对端声音多播放一次问题 276 | 277 | 2017-1-18 RTC1.5.3 278 | 146.解决连麦过程中音频回声消除效果不佳问题 279 | 147.解决连麦过程中一端切换到后台,连麦断开,再次切换到前台后,重新建立连麦,无音频问题 280 | 281 | 2017-3-3 RTC1.5.4 282 | 148.升级依赖融合库2.2.5版本 283 | 149.添加连麦私聊Demo 284 | 150.改善部分机型音频效果 285 | 151.解决连麦过程中,从后台再切换回来后,音视频不同步问题(音频慢) 286 | 152.当接收到RTC_EVENT_CALL_COMMING消息时,返回对方的uniquename 287 | 153.解决A横屏,B竖屏,连麦时画面扭曲问题 288 | 154.解决4.4以下设备上,不连麦只推流的崩溃问题 289 | 290 | 2017-3-17 RTC1.5.5 291 | 155.添加A Call B 的过程中,408和503 错误的异常容错处理,解决网络切换或者断网重连后,连麦异常问题 292 | ———————————————— 293 | 场景一:Alice call Bob 的过程中, bob断网 294 | 场景二:Alice call Bob 的过程中,Alice断网 295 | 添加以下容错机制: 296 | 1 断网再联网/网络切换时:注册中/注册/Call中状态时触发:反注册->注册 297 | 2 call状态回调:408 &主叫方->重新发起call且只call一次(对应场景一) 298 | 3 register状态回调:成功->断网再联网后&主叫方->重新发起call(对应场景二) 299 | 4 call状态回调:486&主叫方->2s以后再次发起call(对应场景二) 300 | ———————————————— 301 | 156.解决mute后切换到后台,再切换回来声音又有的问题 302 | 157.升级依赖融合库版本2.2.6 303 | --------------------------------------------------------------------------------