岗位职责:
负责iOS端音视频应用的架构设计与开发,涵盖 采集、编解码、渲染、传输、录制、直播 全链路功能。
详细模块开发需求如下:
1、蓝牙模块开发:
实现与相机设备的蓝牙通信(BLE 4.0+/Classic),支持数据传输、设备控制、状态同步。
2、局域网图传模块:
集成 RTSP、SRT、NDI 等协议,实现低延迟拉流与推流。
优化多协议适配与自动切换策略。
3、Socket通信模块:
基于TCP/UDP实现与相机设备的双向通信(如控制指令、元数据交换)。
4、视频流处理核心模块:
解协议:解析RTSP/RTP/私有协议流。
硬解码:使用VideoToolbox处理H.264/H.265码流(1080p60)。
渲染编辑:基于MetalKit/OpenGL ES实现低延迟渲染,支持滤镜、叠加图层等实时处理。
硬编码:通过VideoToolbox或FFmpeg实现高效编码(H.264/H.265/AV1)。
5、录制与直播模块:
封装MP4/MOV文件(支持分段录制、 metadata插入)。
集成RTMP/WebRTC等协议推流至CDN或私有服务器。
6、性能优化:
解决高分辨率(1080p60/4K)下的功耗、发热、内存问题。
跨平台兼容性适配(iOS/iPadOS/macOS Catalyst)。
技术要求:
1、必备技能
iOS原生开发:
精通Swift + Objective-C,熟悉C/C++ FFI交互。
熟悉AVFoundation、VideoToolbox、CoreBluetooth、Network框架。
音视频核心技术:
熟悉H.264/H.265编解码标准,掌握VideoToolbox硬编解码API。
熟悉RTSP/SRT/NDI/RTP等流媒体协议,能独立实现协议解析。
掌握Metal/OpenGL ES渲染管线,能优化高性能视频渲染。
网络与通信:
精通TCP/UDP Socket编程,熟悉WebSocket、QUIC等协议。
熟悉BLE蓝牙通信(中心/外设模式),了解ANT+等替代方案。
性能工具链:
熟练使用Instruments分析CPU/GPU/内存占用,优化功耗。
熟悉FFmpeg、GStreamer等开源工具链(加分项)。
2. 加分项
有无人机、运动相机、直播类App开发经验。
熟悉WebRTC底层实现或常用SDK(如Google WebRTC、LiveKit)。
了解Android音视频开发(跨平台协作能力)。
3. 软技能
具备复杂模块的架构设计能力,能输出技术文档。
对音视频技术有热情。