直播技术整理2.前处理

Posted by boredream on February 17, 2017

视频推流前一半要进行些处理,包括 美颜、水印、其他滤镜、连麦

美颜

iOS大部分基于GPUImage库,安卓也有个android-GPUImage 美颜现在主要有磨皮、美白和红润三种处理

磨皮实质上是模糊模糊,现在大部分都是基于双边滤波进行处理,尽量保证去除皮肤瑕疵还要保留皮肤细节更加真实自然 美白有几种方法,叠加平衡什么的,常用的是用颜色映射 红润?

水印

国家要求直播必须加 一般分播放器水印和内嵌水印 播放器水印直接拿到视频流的话就可以直接在其他地方播放了 内嵌水印最好,直接嵌入到视频数据里,无法剥离

其他滤镜

美颜其实也是一种滤镜处理,除了美白磨皮其实还有各种图像处理效果 比如可以用GPUImage中提供的各种去自定义实现

连麦

一个或多个观众和主播进行交流,其他观众可以看到

难点在于:

  • 低延迟互动:主播和互动观众直接要像视频电话一样音画都不能有延迟,保证沟通实时性
  • 音画同步:连麦互动中对延迟要求更好,所以声音和画面也要注意必须一致
  • 音视频实时合成:其他观众要实时观看连麦对话结果,因此要在主播客户端将声音画面实时合成,要注意性能和质量

方案:

思科WebEx等是闭源的,也比较贵 现在主流的方案是试用WebRTC live2

多人连麦方案有几种,几个人流都推给服务端进行合流,或者观众的流推送至主播端这里合流后上传服务器

连麦和主播推流的区别 主播推流是将主播本地设备采集到的音视频信息推送到CDN服务器上,然后再推送给观众端

CDN的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的 Internet 中增加一层新的网络架构,将网站的内容发布到最接近用户的网络 “边缘”,使用户可以就近取得所需的内容,解决 Internet 网络拥挤的状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题。 直播这种对网络要求较高数据流量和并发量都很大的用CDN会很好的解决卡顿延迟等问题。

而连麦则是用户跟用户直连