navigator

Navigator/Indexing for all open source projects

View project on GitHub

欢迎来到实时互联网技术大百科

这里汇集了实时通信有关的众多资料

如果大家想体验下 Agora/声网 的产品,以便对延时,清晰度,流畅度等等有个直观的认识,可以直接下载我们的应用

Agora Video Call(视频聊天类应用)
Agora Live(视频直播类应用)

开源项目索引

更多开源项目参见 https://github.com/AgoraIO/ 以及 https://github.com/AgoraIO-Community/

媒体部分

1) 简单上手类
通过少许的步骤,展示如何集成 Agora RTC SDK 到一个简单的应用当中,
对于初次使用 Agora SDK 的开发者来说,这是一个容易上手的示例,我们提供了完整的源码。
音频
Platform Language GitHub
iOS Swift https://github.com/AgoraIO/Agora-iOS-Voice-Tutorial-Swift-1to1
Android Java https://github.com/AgoraIO/Agora-Android-Voice-Tutorial-1to1
视频
Platform Language GitHub
iOS Swift https://github.com/AgoraIO/Agora-iOS-Tutorial-Swift-1to1
iOS Objective-C https://github.com/AgoraIO/Agora-iOS-Tutorial-Objective-C-1to1
Android Java https://github.com/AgoraIO/Agora-Android-Tutorial-1to1
Android Kotlin https://github.com/AgoraIO/Agora-Android-Tutorial-Kotlin-1to1
WeChat Mini Program JavaScript https://github.com/AgoraIO/Agora-Miniapp-Tutorial
Web JavaScript https://github.com/AgoraIO/Agora-Web-Tutorial-1to1
Windows C++ https://github.com/AgoraIO/Agora-Windows-Tutorial-1to1
macOS Objective-C https://github.com/AgoraIO/Agora-macOS-Tutorial-Objective-C-1to1
2) 复杂场景类
这部分示例代码稍微复杂点,提供了多人的演示,允许设置视频参数,频道内消息,
黑白滤镜,切换摄像头等等,另外还提供了多种视频界面切换(比如大小窗口,平铺窗口)。
Agora RTC SDK 轻松就可以完成这些复杂实用的功能。
视频聊天(通话)
Platform Language GitHub
iOS Swift https://github.com/AgoraIO/OpenVideoCall-iOS
iOS Objective-C https://github.com/AgoraIO/OpenVideoCall-iOS-Objective-C
Android Java https://github.com/AgoraIO/OpenVideoCall-Android
Web JavaScript https://github.com/AgoraIO/OpenVideoCall-Web
Windows C++ https://github.com/AgoraIO/OpenVideoCall-Windows
macOS Swift https://github.com/AgoraIO/OpenVideoCall-macOS
视频直播(直播)
Platform Language GitHub
iOS Swift https://github.com/AgoraIO/OpenLive-iOS
iOS Objective-C https://github.com/AgoraIO/OpenLive-iOS-Objective-C
Android Java https://github.com/AgoraIO/OpenLive-Android
Windows C++ https://github.com/AgoraIO/OpenLive-Windows
macOS Swift https://github.com/AgoraIO/OpenLive-macOS
3)特殊场景类
开发者会有各种丰富多彩的想法,产生出多种需求,所以我们这里也提供了一些示例代码。
会不断增加,也欢迎更多的开发者贡献出自己的实现,可能还会收到神秘礼品哦。
00 屏幕共享(很容易实现把整个屏幕内容共享给他人,也能包含声音哦)
Platform Language GitHub
iOS Swift https://github.com/AgoraIO-Community/Agora-Screen-Sharing-iOS
Android Java https://github.com/AgoraIO-Community/Agora-Screen-Sharing-Android
01 客户端推流(把音视频数据拷贝一份传给其他内容接收者,比如 CDN 或者存成本地文件)
Platform Language GitHub
iOS Swift https://github.com/AgoraIO/Agora-client-side-AV-capturing-for-streaming-iOS
Android Java https://github.com/AgoraIO/Agora-client-side-AV-capturing-for-streaming-Android
02 自定义视频数据源(由开发者提供视频数据给 Agora RTC SDK,玩法更多样)
Platform Language GitHub
iOS Swift https://github.com/AgoraIO-Community/Agora-Video-Source-iOS
Android Java https://github.com/AgoraIO-Community/Agora-Video-Source-Android
03 画中画模式(Android 8.0 支持的新特性,对视频类应用非常友好)
Platform Language GitHub
Android Java https://github.com/AgoraIO-Community/Agora-Picture-in-Picture-Android
04 裸数据插件(SDK 原生提供的裸数据接口是 C++ 语言,这里提供一些插件来实现 Java/Objective-C 语言的版本,更易于使用)
Platform Language GitHub
Android Java https://github.com/AgoraIO-Community/Agora-Plugin-Raw-Data-API-Android-Java
iOS Objective-C https://github.com/AgoraIO-Community/Agora-Plugin-Raw-Data-API-iOS-Objective-C
05 自定义加密(SDK 提供一组 API 包含在 agora::rtc::IPacketObserver 当中,可以对网络包进行一些修改。也可以使用这个特性来完成一些其他功能,需要实时带上一些额外数据的场景,比如歌词同步,元数据传输)
Platform Language GitHub
Android Java https://github.com/AgoraIO-Community/Agora-Customized-Encryption-Android
iOS Objective-C https://github.com/AgoraIO-Community/Agora-Customized-Encryption-iOS

信令部分

1) 简单上手类
通过少许的步骤,展示如何集成 Agora Signaling SDK 到一个简单的应用当中,
Agora Signaling SDK 提供消息的发送,接收,
容易实现点对点,群组等等面向场景的功能。
对于初次使用 Agora SDK 的开发者来说,这是一个容易上手的示例,我们提供了完整的源码。
Platform Language GitHub
iOS Swift https://github.com/AgoraIO/Agora-Signaling-Tutorial-iOS-Swift
Android Java https://github.com/AgoraIO/Agora-Signaling-Tutorial-Android
Web JavaScript https://github.com/AgoraIO/Agora-Signaling-Tutorial-Web
Windows C++ https://github.com/AgoraIO/Agora-Signaling-Tutorial-Windows
macOS Swift https://github.com/AgoraIO/Agora-Signaling-Tutorial-macOS-Swift
Linux C++ https://github.com/AgoraIO/Agora-Signaling-Tutorial-Linux
Platform-independent Java https://github.com/AgoraIO/Agora-Signaling-Tutorial-Java
Platform-independent Python https://github.com/AgoraIO/Agora-Signaling-Tutorial-Python
2) 复杂场景类
这部分示例代码稍微复杂点,只要对方在线,可以呼叫对方,建立一个视频通话,
这是一个典型的 Agora Signaling SDK 和 Agora RTC SDK 结合的示例。
Platform Language GitHub
iOS Objective-C https://github.com/AgoraIO/OpenDuo-iOS-Objective-C
Android Java https://github.com/AgoraIO/OpenDuo-Android
Web JavaScript https://github.com/AgoraIO/OpenDuo-Web

动态密钥鉴权

建议计划上线的项目使用 动态密钥鉴权,这是一个更为安全的用户身份验证方案,可以避免一些非法/故意破坏行为,详细使用参见前面的链接。动态密钥的生成算法已经 开源,并且提供了主流编程语言的版本,欢迎大家来贡献更多的编程语言版本。

我们提供了动态密钥鉴权可一键部署的工程,可以很容易的部署在服务端做测试。

https://github.com/AgoraIO/DynamicKeyServer-nodejs

技术文章

联系我们

  • 更多内容参见参见 开发者中心
  • 如果在集成中遇到问题,你可以到 开发者社区 提问
  • 如果有售前咨询问题,可以拨打 400 632 6626,或加入官方Q群 12742516 提问
  • 如果需要售后技术支持,你可以在 Agora Dashboard 提交工单