{"repo":"shenbengit/WebRTCExtension","free":true,"listed":false,"github":"https://github.com/shenbengit/WebRTCExtension","clone":"git clone https://github.com/shenbengit/WebRTCExtension.git","description":"Android WebRTC extension function.","language":"Kotlin","stars":101,"topics":["android","webrtc","audiorecord","audiotrack","h264","watermark","kotlin","android-library"],"license":"MIT","category":"mobile-apps","readme_excerpt":"WebRTCExtension Android端WebRTC一些扩展方法: - 1、获取音频输出数据； - 2、支持自定义是否启用H264、VP8、VP9编码； - 3、自定义SurfaceViewRenderer，支持画面角度旋转，支持设置垂直镜像； - 4、添加VideoSink代理类(ProxyVideoSink)； - 5、支持VideoProcessor针对视频数据进行二次处理，如叠图功能，添加基础类 ； - 6、支持VideoProcessor针对视频流添加水印； 示例中的demo需要使用SRS视频服务器，具体搭建过程详见SRS官方文档。 其他Android端WebRTC结合SRS使用示例，详见WebRTC-SRS，完整示例：私聊、群聊、聊天室功能详见SrsRtcAndroidClient。 引入 将JitPack存储库添加到您的项目中(项目根目录下build.gradle文件) 添加依赖 在您引入项目的build.gradle中添加 使用事例 获取音频输出数据 具体实现流程移步博客 支持自定义是否启用H264、VP8、VP9编码 具体实现流程移步博客 自定义SurfaceViewRenderer，支持画面角度旋转，支持设置垂直镜像； 使用方法与 org.webrtc.SurfaceViewRenderer 一致，将 org.webrtc.SurfaceViewRenderer 替换成 com.shencoder.webrtcextension.CustomSurfaceViewRenderer 即可。其他使用方法不变。 布局中使用 代码中使用 VideoSink代理类(ProxyVideoSink) ### 支持VideoProcessor针对NV21格式数据进行叠图功能，添加基础类 使用 WatermarkVideoProcessor 代替，使用纹理绘制，输出TextureBuffer，兼容各种视频格式，性能更佳 效果展示：左上角有个 图片。 - Android端WebRTC本地音视频采集流程源码分析 - NV21数据处理——实现剪裁，叠图 快速实现叠图功能( OverlayNV21VideoProcessor ) 在nv21数据上进行叠图操作，已经处理不同方向[VideoFrame.rotation]的操作，始终以左上角为起始点； 基类 BaseNV21VideoProcessor 若您想自行处理，可以继承BaseNV21VideoProcessor，从而快速实现。 WatermarkVideoProcessor 给视频流添加水印 详见WatermarkVideoProcessor 基本使用： NV21Util NV21数据操作相关方法 Nv21BufferUtil 转换Nv21Buffer相关方法，使用了库libyuv-android 都看到这儿了，还不给个 star ！ 作者其他的开源项目 - 基于RecyclerView实现网格分页布局：PagerGridLayoutManager - 基于Netty封装UDP收发工具：UdpNetty - Android端基于JavaCV实现人脸检测功能：JavaCV-FaceDetect - 使用Kotlin搭建Android MVVM快速开发框架：MVVMKit License","default_branch":null,"files":null,"tree":[],"storefront":"/r/shenbengit","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/shenbengit/WebRTCExtension/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}