现在很多 app 提供主播视频直播时候美颜滤镜功能,有点问题想下大家
A:主播
B:观众
方案 1 :
获取 A 主播手机摄像头的每一帧图滤镜处理 然后显示在 A 主播手机屏幕上 然后推流到服务器
B 观众从服务器获取流 播放的时候再用滤镜把美颜效果显示出来
方案 2 :
获取 A 主播手机摄像头的每一帧图滤镜处理 然后显示在手机屏幕上 然后推流到服务器,由服务器再把流处理加上美颜滤镜
B 观众从服务器获取流直接播放
方案 3 :
获取 A 主播手机摄像头的每一帧图滤镜处理 然后显示在手机屏幕上 然后再把滤镜处理过的再推流到服务器
B 观众从服务器获取流直接播放
我个人感觉方案 3 比较靠谱。大家看看觉得哪种方式才是正确的做法?
我目前按方案 3 的方式做
目前实现了
1.摄像头图片实时滤镜(iOS 的 CoreImage 实现的,也许后面会去用 GPUImage)
- (void)captureOutput:(AVCaptureOutput *)captureOutput
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
fromConnection:(AVCaptureConnection *)connection
根据 sampleBuffer 来生成图片,然后把图片通过 CoreImage 去滤镜处理,然后把处理后的 Image 显示在 Layer 上
2.成功推流到 RTMP 服务器(通过 VideoCore 这个库进行推流)
(但我只会推没有滤镜处理的那个流,处理后变成一个图片了,不知道怎么推流了)
想知道把滤镜处理后的效果推流到服务器?
