项目:Sprint
Sprint是一个音视频项目,具备音视频采集、渲染、编解码、封装/解封装等功能。
在该项目中,我负责了音视频录制与播放两部分的架构设计以及全部功能实现。具体如下:AudioUnit实现音频的采集与渲染;Camera API实现视频采集,Metal实现视频渲染;
FFmpeg进行音视频文件的解封装与封装工作,提供软解、软编方案;
AudioToolBox和VideoToolBox提供音视频的硬解、硬编方案。
iOS端使用MVVM架构,Swift开发,SwiftUI实现界面UI,Moya进行网络请求,RxSwift处理异步数据流;后端使用Rust Warp Web框架实现Restful API接口。