Резюме: Помогите разработчикам быстро получить визуальные функции ИИ в аудио- и видеосценах — красоту, фильтры, вырезание фона и т. д.
Текст|Команда разработчиков Native SDK
Как новая основная потребительская сила общества, поколение Z стремится к индивидуальности, любит новизну, отдает предпочтение классному и оригинальному игровому процессу и идет в ногу с тенденциями в сфере развлечений. Сочетание ИИ + аудио и видео в качестве опоры для инноваций игрового процесса третьей сцены в дополнение к аудио и видео просто соответствует атрибуту тренда.
На современном рынке трудно найти стабильных и надежных поставщиков с возможностями ИИ, аудио и видео. Соответствующие технические пороги ИИ, а также аудио и видео заставляют многие компании иметь комплексные технические возможности, и пользователям приходится подключаться к большему количеству поставщиков. , что также делает больше Интегрированная услуга, отвечающая потребностям пользователей, еще не появилась.
Медленный доступ?
Высокие затраты на обслуживание?
Не отвечаете вовремя?
ZEGO Technology запустила визуальный продукт AI «ZEGO Effects» в июне этого года, предоставляя более удобный и эффективный комплексный сервис со стабильными и надежными возможностями AI + аудио и видео, решая болевые точки отрасли, а также базовые аудио и видео услуги. Требования к визуальным функциям ИИ, таким как красота, фильтры и специальные эффекты ИИ в аудио- и видеосценах.
В этой статье мы познакомимКак использовать продукты Zego Express SDK и Effects SDK для быстрого создания аудио и видео + AI сцен на мобильном терминале.
1. Введение концепции
Прежде чем официально представить практику построения аудио и видео + AI сцены, давайте кратко представим основные концепции Express SDK и Effects SDK.
1. Экспресс SDK
Express SDK относится к аудио- и видео SDK ZEGO в реальном времени, который может предоставить разработчикам удобный доступ, высокую четкость и бесперебойную многоплатформенную совместимость, малую задержку, высокопараллельные аудио- и видеосервисы, а также может реализовать один к одному. -многие, многие ко многим в режиме реального времени аудио и видео взаимодействие, живое шоу, видеоконференции и другие сценарии.
2. SDK эффектов
SDK эффектов относится к SDK ZEGO AI Vision, который предоставляет ряд возможностей интеллектуального рендеринга изображений и алгоритмов, включая интеллектуальную красоту, спецэффекты дополненной реальности, сегментацию изображений и т. д. Его можно широко использовать в различных сценариях, таких как развлекательные прямые трансляции, онлайн-трансляции. образование и инструменты для фотографии.
Полное соответствие всем видам игрового процесса в общеразвлекательных сценариях, что позволяет предприятиям быстро приобретать инновационные возможности AI+ в области аудио и видео:
- Красота - интеллектуальная красота, продвинутая красота и естественная красота, основанная на точном мониторинге ключевых точек лица и 3D-модели;
- Специальные эффекты дополненной реальности. ZEGO Effects предоставляет множество специальных эффектов дополненной реальности, поддерживает 2D/3D-наклейки, наклейки с лицами и чрезвычайно устойчив к сложному фону, изменениям освещения и преувеличенным позам персонажей;
- Интеллектуальная сегментация. Точно сегментируя и изменяя фон экрана, пользователи могут свободно преобразовывать видео и живые сцены по мере необходимости, а дополняя их различными фоновыми материалами, можно реализовать более интересный игровой процесс;
- Разнообразные фильтры - Предоставляет множество изысканных фильтров, включая свежие, японские, мягкие, лесные, световые эффекты и другие различные темы, вы можете легко изменить стиль изображения.
Логика реализации ИИ-зрения в аудио- и видеокоде
Далее мы возьмем iOS и Android в качестве отправной точки и познакомим вас со всем процессом внедрения Express SDK + SDK эффектов.
1. Инициализировать эффекты SDK
Инициализация Effects SDK в основном предназначена для завершения создания объектов и настройки ресурсов.
Код Objective-C реализован следующим образом:
...
// 设置资源
[ZegoEffects setModels:@[faceDetectionModelPath, segmentationModelPath]];
[ZegoEffects setResources:@[pendantBundlePath, whitenBundlePath]];
// 创建 effects 实例
ZegoEffects *effects = [ZegoEffects create:@license];
// 保存 effects 实例
self.effects = effects;
// 初始化effects 对象
[self.effects initEnv:CGSizeMake(width, height)];
Java-код реализован следующим образом:
...
// 设置资源
ZegoEffects.setModels(aiModeInfos);
ZegoEffects.setResources(aiResources);
// 创建 effects 实例
ZegoEffects effects = ZegoEffects.create(license, getApplication());
// 初始化effects 对象
effects.initEnv(width, height);
2. Инициализировать Express SDK
Инициализация Express SDK в основном завершает настройку формата данных видеокадра, запускает пользовательскую функцию предварительной обработки и регистрирует объект обратного вызова. Здесь следует отметить, что форматы видеокадров, используемые на разных платформах, различаются.
Платформа | Формат данных видеокадра |
---|---|
iOS | ZegoVideoBufferTypeCVPixelBuffer |
Android | GL_TEXTURE_2D |
Код Objective-C реализован следующим образом:
// 创建 express 实例
[ZegoExpressEngine createEngineWithAppID:appID appSign:appSign isTestEnv:YES scenario:ZegoScenarioGeneral eventHandler:self];
// 选择 CVPixelBuffer 类型视频帧数据
ZegoCustomVideoProcessConfig *processConfig = [[ZegoCustomVideoProcessConfig alloc] init];
processConfig.bufferType = ZegoVideoBufferTypeCVPixelBuffer;
// 开启自定义前处理
[[ZegoExpressEngine sharedEngine] enableCustomVideoProcessing:YES config:processConfig channel:ZegoPublishChannelMain];
// 设置视频前处理回调对象
[[ZegoExpressEngine sharedEngine] setCustomVideoProcessHandler:self];
Java-код реализован следующим образом:
// 创建 express 实例
engine = ZegoExpressEngine.createEngine(appID, appSign, true, ZegoScenario.GENERAL, getApplication(), null);
// 选择 GL_TEXTURE_2D 类型视频帧数据
ZegoCustomVideoProcessConfig config = new ZegoCustomVideoProcessConfig();
config.bufferType = ZegoVideoBufferType.GL_TEXTURE_2D;
// 开启自定义前处理
engine.enableCustomVideoProcessing(true, config, ZegoPublishChannel.MAIN);
//设置视频前处理回调对象
engine.setCustomVideoProcessHandler(myHandler);
3. Логика реализации Express SDK + Effects SDK
Пользовательская предварительная обработка видео, предоставляемая Express SDK, отлично работает с Effects SDK. Пользовательская функция предварительной обработки видео не требует от разработчика управления источником ввода устройства. Разработчику нужно только обработать необработанные данные в функции обратного вызова сбора, предоставляемой Express SDK, а затем отправить данные обратно в Express SDK. Пакет Effects SDK отвечает за обработку необработанных данных в этом процессе.
Код Objective-C реализован следующим образом:
- (void)onCapturedUnprocessedCVPixelBuffer:(CVPixelBufferRef)buffer timestamp:(CMTime)timestamp channel:(ZegoPublishChannel)channel {
...
// 把Express SDK采集的数据传给Effects SDK进行处理
[self.effects processImageBuffer:buffer];
// 把Effects SDK处理后数据抛回给Express SDK
[[ZegoExpressEngine sharedEngine] sendCustomVideoProcessedCVPixelBuffer:output timestamp:timestamp channel:channel];
...
}
Java-код реализован следующим образом:
public void onCapturedUnprocessedTextureData(int textureID, int width, int height, long referenceTimeMillisecond, ZegoPublishChannel channel) {
ZegoEffectsVideoFrameParam param = new ZegoEffectsVideoFrameParam();
param.format = ZegoEffectsVideoFrameFormat.BGRA32;
param.width = width;
param.height = height;
// 把Express SDK采集的数据传给Effects SDK进行处理
int processedTextureID = effects.processTexture(textureID, param);
// 把Effects SDK处理后数据抛回给Express SDK
express.sendCustomVideoProcessedTextureData(processedTextureID, width, height, referenceTimeMillisecond);
}
4. Настройка визуальных эффектов ИИ
Effects_SDK также обеспечивает красоту, красоту, сегментацию фона, распознавание лиц, подвески, фильтры и другие функции, которые широко используются в развлекательных прямых трансляциях, онлайн-образовании, инструментах камеры и др. Разработчики могут вызывать соответствующий интерфейс по мере необходимости.
Код Objective-C реализован следующим образом:
// 开启美白功能
[self.effects enableWhiten:YES];
// 设置美白强度,范围 [0, 100],默认为 50
ZegoEffectsWhitenParam *param = [[ZegoEffectsWhitenParam alloc] init];
param.intensity = 100;
[self.effects setWhitenParam:param];
Java-код реализован следующим образом:
// 开启美白功能
effects.enableWhiten(true);
// 设置美白强度,范围 [0, 100],默认为 50
ZegoEffectsWhitenParam param = new ZegoEffectsWhitenParam();
param.intensity = 100;
effects.setWhitenParam(param);
Суммировать
Выше приведена интерпретация создания аудио и видео + Al на мобильной стороне с использованием Express SDK и Effects_SDK.
Как визуальный продукт AI, ZEGO Effects предоставляет ряд возможностей интеллектуального рендеринга изображений и алгоритмов, включая интеллектуальную красоту, обнаружение портретов, сегментацию изображений и т. д. Он широко используется в развлекательных прямых трансляциях, онлайн-обучении, инструментах фотографии и других сценариях.
Это органичное сочетание возможностей ИИ, аудио и видео, и мы также с нетерпением ожидаем реализации более инновационных приложений аудио, видео и ИИ в будущем.