패키지, 저장소 및 앱 카테고리 검색

패키지 상세v6.6.4

agora_rtc_engine

Agora RTC SDK의 Flutter 플러그인으로 몇 줄의 코드만으로 Agora 비디오 통화 또는 라이브 비디오 스트리밍을 앱에 간단히 통합할 수 있습니다.

AndroidiOSWebmacOSWindows
30일 다운로드
7.2만
좋아요
880
Pub 점수
140

패키지 설치

flutter pub add agora_rtc_engine

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

Agora RTC Engine는 모바일 및 데스크톱 애플리케이션에 실시간 비디오 통화 및 라이브 비디오 스트리밍을 원활하게 통합할 수 있는 Flutter 플러그인입니다. 최소한의 코드로 개발자는 Agora의 확장 가능한 인프라를 기반으로 한 고품질 오디오 및 비디오 통신 기능을 쉽게 추가할 수 있습니다. 이 플러그인은 Android, iOS, Web, macOS, Windows 등 여러 플랫폼을 지원하여 크로스플랫폼 실시간 앱에 이상적입니다. 낮은 지연 시간과 고해상도 미디어 전송을 제공하며, 화면 공유 및 사용자 정의 오디오 처리와 같은 고급 기능도 지원합니다.

사용 사례

  • 비디오 회의 앱
  • 라이브 스트리밍 플랫폼
  • 원격 튜터링 서비스
  • 가상 이벤트 호스팅
  • 실시간 고객 지원

주요 기능

  • 저지연 비디오 및 오디오
  • 크로스 플랫폼 호환성
  • 화면 공유 지원
  • 몇 줄의 코드로 간편하게 통합
  • 확장 가능한 실시간 통신

적합한 대상

  • 실시간 통신 앱을 개발하는 개발자
  • 비디오 상호작용을 요구하는 교육 플랫폼
  • 기업 협업 도구
  • 라이브 콘텐츠 크리에이터
  • 안전한 피어 투 피어 또는 서버 기반 스트리밍이 필요한 앱

고려 사항

  • Agora 계정 및 앱 ID가 필요합니다
  • 네트워크 대역폭은 통화 품질에 영향을 미칩니다
  • 웹 지원은 네이티브 플랫폼에 비해 기능이 제한될 수 있습니다
  • 생산 배포를 위한 추가 구성이 필요합니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

agora_rtc_engine

Pub.dev likes Pub.dev points
latest version Platform License RTE Dev Slack Link

This Flutter plugin is a wrapper for Agora Video SDK

Agora.io provides building blocks for you to add real-time voice and video communications through a simple and powerful SDK. You can integrate the Agora SDK to enable real-time communications in your own application quickly.

NOTE: The main branch is major update base on the Agora Native SDK 4.x, which introduces some break changes. previous releases please see the following branches(the version < 6.0.0):

Usage

To use this plugin, please add agora_rtc_engine as a dependency to your pubspec.yaml file.

Getting Started

  • Get some basic and advanced examples from the example folder.
Privacy Permission

Agora Video SDK requires Camera and Microphone permission to start a video call.

Android

For the latest permission settings, please refer to the documentation at https://docs.agora.io/en/video-calling/get-started/get-started-sdk?platform=android#project-setup

See the required device permissions from the AndroidManifest.xml file.

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<!-- The Agora SDK requires Bluetooth permissions in case users are using Bluetooth devices. -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<!-- For Android 12 and above devices, the following permission is also required. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
iOS & macOS

For the latest permission settings, please refer to the documentation at https://docs.agora.io/en/video-calling/get-started/get-started-sdk?platform=ios#project-setup

Open the Info.plist and add:

  • Privacy - Microphone Usage Description,and add some description into the Value column.
  • Privacy - Camera Usage Description, and add some description into the Value column.
Web (alpha)

The agora_rtc_engine for web is currently in alpha stage, and the documentation is incomplete and it has only been tested on desktop web at this time.

The agora_rtc_engine web is built on top of iris_web, a wrapper for the Agora Web SDK 4.x. This helps align the Native SDK (Android/iOS/macOS/Windows) APIs through the Agora Web SDK 4.x. Please note that the agora_rtc_engine web utilizes the Agora Web SDK 4.x underneath, so only a subset of the Native SDK APIs can be implemented on the web. If the APIs return AgoraRtcException with a -4 error code, this means these APIs are not supported at this time.

Download the iris_web(see the link below) artifact and include it as a <script /> tag in your <your-project>/web/index.html file. For example:

Project structure

<your-project>
|__web
   |__index.html
   |__iris-web-rtc_<x.y.z>.js
<!-- <your-project>/web/index.html -->
<!DOCTYPE html>
<html>
...
<body>
  ...
  <script src="iris-web-rtc_<x.y.z>.js"></script>
</body>
</html>

Download: https://download.agora.io/sdk/release/iris-web-rtc_n450_w4220_0.8.6.js

For Testing Purposes

You can directly depend on the Agora CDN for testing purposes:

<!-- <your-project>/web/index.html -->
<!DOCTYPE html>
<html>
...
<body>
  ...
  <script src="https://download.agora.io/sdk/release/iris-web-rtc_n450_w4220_0.8.6.js"></script>
</body>
</html>
Interact with Agora RTC Native SDK(Android/iOS only)

NOTE: This feature requires agora_rtc_engine >= 6.3.0

Due to performance constraints, direct implementation of advanced features like video and audio raw data processing is not currently feasible in Flutter side.

We enable you to create an RtcEngine within Flutter by utilizing the native handle from the RtcEngine(Android) or AgoraRtcEngineKit(iOS) of the Agora RTC Native SDK. This approach enables your application to directly utilize the advanced features of the Agora RTC Native SDK through the agora_rtc_engine package, bridging the gap between native capabilities and Flutter's environment.

More detail, please check the ProcessVideoRawData example for reference.

Known issues
iOS not work on release mode

If you experience issues with iOS not working in release mode, you may need to set the configuration below to avoid stripping symbols.

Please refer to the Flutter documentation for more information.

API Reference Resources

Integration document

Feedback

If you have any problems or suggestions regarding the sample projects, feel free to file an issue OR pull request.

How to contribute

To help work on this sdk, please refer to CONTRIBUTING.md.

Related resources

License

The project is under the MIT license.

카테고리

의존성

의존성 목록 7 개

소스 저장소

이 패키지를 사용하는 프로젝트