metaRTC7 mac/ios编程指南

概述

metaRTC7.0最新版本完善了mac/ios支持,ios语音使用audioUnit实现,mac语音使用纯CoreAudio实现,新增了videoToolBox视频编码和解码的支持。

库编译

iOS编译

复制代码
sh cmake_lib_ios.sh

#cmake_lib_ios.sh
cd libmetartccore7
./cmake_ios64.sh
cd ../libyangwhip7
./cmake_ios64.sh
cd ../libmetartc7
./cmake_ios64.sh

MAC编译

复制代码
#cmake arch

SET(CMAKE_C_COMPILER /usr/bin/clang)
SET(CMAKE_CXX_COMPILER /usr/bin/clang++)

# 编译器设置

set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# macOS/Xcode特定设置
set(CMAKE_OSX_ARCHITECTURES "arm64")
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.0")

if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
    target_compile_options(mylib PRIVATE
       -Wdocumentation
        -Wdeprecated
    )

endif()

demo编译

demo/metapushstream7 和 demo/metaplayer7已经支持qt6

推流demo metapushstream7

qt打开文件CMakeLists.txt,mac下需用cmake编译

拉流demo metaplayer7

qt打开文件metaplayer7.pro,拉流demo qmake可以用。

MAC/iOS视频编码和解码

视频编码

复制代码
    if(videoInfo->videoEncHwType==0){//软编码

	    if (vcodec == Yang_VED_H264){
#if Yang_Enable_Openh264
	        return new YangOpenH264Encoder();
#else
	        return  new YangH264EncoderSoft();
#endif
        }else if (vcodec == Yang_VED_H265){
	        return new YangH265EncoderSoft();
       }
    }else{//硬编码
        //videoToolBox
        return new YangVideoEncoderMac();

    }

视频解码

复制代码
   if(videoInfo->videoDecHwType==0){//软解码
#if	Yang_Enable_H264Decoder
        return new YangH264DecoderSoft();
#else
        return new YangVideoDecoderFfmpeg(videoInfo,vcodec);
#endif
   }else{//硬解码
        return new YangVideoDecoderMac();
   }
相关推荐
x-cmd5 小时前
[260412] x-cmd v0.8.13:x free 新增进程内存显示,feishu、telegram REPL 机器人齐上线!
linux·macos·机器人·内存·x-cmd·telegram·feishu
疯狂的程序猴5 小时前
Flutter应用代码混淆完整指南:Android与iOS平台配置详解
后端·ios
SY.ZHOU6 小时前
移动端架构体系(五):终篇总结
flutter·ios·系统架构·安卓·鸿蒙
伴野星辰10 小时前
Pycharm打包教程:电脑(windows / macos)+ 手机(安卓 / IOS)全流程
macos·智能手机·pycharm
Digitally11 小时前
如何不用 iTunes 将 iPhone 备份到移动硬盘?
ios·iphone
sysinside11 小时前
Cisco Catalyst 9000 IOS XE 26.1.1 GA - 思科 Catalyst 9000 交换产品系列 IOS XE 系统软件
ios·cisco
简单点了11 小时前
mac安装wireshark
测试工具·macos·wireshark
tang74516396211 小时前
mac的ideal中调用driver = webdriver.Chrome() 启动不了的原因
chrome·python·macos
低保和光头哪个先来11 小时前
解决 ios 使用 video 全屏未铺满页面问题
前端·javascript·vue.js·ios·前端框架
报错小能手12 小时前
SwiftUI 框架 认识 SwiftUI 视图结构 + 布局
ui·ios·swift