现在很多 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 这个库进行推流)
(但我只会推没有滤镜处理的那个流,处理后变成一个图片了,不知道怎么推流了)
想知道把滤镜处理后的效果推流到服务器?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.