0 purchases
agora rtc rawdata
agora_rtc_rawdata #
The rawdata plugin for agora_rtc_engine.
Important #
The plugin only exports four methods to the dart layer that can register or unregister the observer.
class AgoraRtcRawdata {
static const MethodChannel _channel =
const MethodChannel('agora_rtc_rawdata');
static Future<void> registerAudioFrameObserver(int engineHandle) {
return _channel.invokeMethod('registerAudioFrameObserver', engineHandle);
}
static Future<void> unregisterAudioFrameObserver() {
return _channel.invokeMethod('registerAudioFrameObserver');
}
static Future<void> registerVideoFrameObserver(int engineHandle) {
return _channel.invokeMethod('registerVideoFrameObserver', engineHandle);
}
static Future<void> unregisterVideoFrameObserver() {
return _channel.invokeMethod('unregisterVideoFrameObserver');
}
}
copied to clipboard
The plugin changes the color of the video stream by the default:
Change local video to green
Change remote video to pink
You can find the code at:
Android: AgoraRtcRawdataPlugin.kt
Local video: onCaptureVideoFrame
Remote video: onRenderVideoFrame
iOS: AgoraRawdata.swift
Local video: onCapture
Remote video: onRenderVideoFrame
If you can program with C++, you should process raw data on the C++ layer to improve performance and remove code about
calling Android and iOS.
You can find the code at:
Android:
Audio: AudioFrameObserver.cpp
Video: VideoFrameObserver.cpp
iOS:
Audio: AgoraAudioFrameObserver.mm
Video: AgoraVideoFrameObserver.mm
Installation #
You should fork this repository, and modify the code to implement your requirement, such as use third-party beauty SDK.
Usage #
import 'package:agora_rtc_engine/rtc_engine.dart';
import 'package:agora_rtc_rawdata/agora_rtc_rawdata.dart';
_initEngine() async {
var engine = await RtcEngine.create(config.appId);
await AgoraRtcRawdata.registerAudioFrameObserver(
await engine.getNativeHandle());
await AgoraRtcRawdata.registerVideoFrameObserver(
await engine.getNativeHandle());
}
copied to clipboard
Resources #
Doc for agora_rtc_engine
Doc for Android raw video
data
Doc for iOS raw video data
License #
MIT
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.