然后我一怒之下决定重构,和 Codex 详细说明了计划,Codex 一直在反对,我和它说我有相关的开发经验,知道可以做。最后连续蹬了十几个小时,Codex 手搓 Objective-C ,不断改进,最后终于可以硬解主流的编码格式( AV1 HEVC H264 VP9 )的视频了。
其实原理没有太复杂,解封装视频流,剥离音轨,计算时间戳,最后通过 metal 来把视频与音频渲染出来。如果是人类程序员来写,虽然方向明确,但是具体实现上非常麻烦,但 AI 就没这个困扰,方向对了,力大砖飞。也可以很方便地自动化测试。
内存占用上,落在 35~50M 这个区间,已经显著优于市面上大量视频播放器了。当然我知道这是因为我不需要过分考虑兼容性,只需要应用于特定场景(电影,电视剧,游戏录像)。另外我还发现似乎大部分 macOS 的视频播放器没有默认 AV1 硬解,即便芯片支持 AV1 硬解,这其实是一个很重要的优化方向。
不管怎么说,花了十几个小时搓出来一个纯原生的 macOS 播放器,真的感觉很享受。我现在还在慢慢迭代它,已经初步可用了。
经历了以上这一切,我只能说,我原谅了 Codex ,真的。

