作者回复: 1 理解准确; 2 对的,编码节点将每一帧从显存中获取到YUV数据,在进行编码操作;但是iOS使用CoreVideoFramework有快速的操作,具体看源码 3 底层原理不是特别清楚,我理解的是iOS本身做了映射,毕竟手机中的显存都是内存的一部分;
作者回复: 无论是什么协议形式的视频直播,采集画面都是第一步,都离不开各自平台摄像头采集API的调用。 replayKit只是录屏的一种手段,他最终也是产生CMSampleBuffer,ffmpeg更多的用在编解码(muxer/demuxer protocol)层,这俩是属于一个系统中不同层的技术实现手段。在详细一点说,replaykit你可以理解为是代替了摄像头和录音器,但是采集到裸数据(YUV、PCM)之后还是需要ffmpeg的软件编码或者平台的硬件编码器来编码成为最终的视频文件或者推流出去的。
作者回复: 不能正常生成的。 你可以检查一下状态,AVAssetWriter的状态,如果他的状态不是“可写入”状态就不能去appendBuffer,而是看看状态为什么错误,比如文件路径之类的问题。
作者回复: 你说的应该是歌声合成,现在业界内有几种实现方式,可以参考https://github.com/oxygen-dioxide/vogen,但是效果都不是特别好,要么机械声过于严重,要么不像,之前阿里有一个产品叫鲸鸣做过这种类型的修音,起码在直接toC的产品上没有那么大的爆发力,和当时的ZAO这种利用DeepFake的视觉生成给用户的感染力不一样。