直播体系

再次吐槽CSDN慢,真的好慢好慢好慢。
CSDN的博客会整理逐步搬迁。

随着直播行业越来越火。之前在优酷参与了优酷直播的开发。由于业务偏上层。设计核心知识不多。通过看资料,和相关人员讨论,相关技术视频。做一个整理。

直播分为前端APP

直播知识 直播SDK IM
直播特点 发起直播 聊天消息
直播流程 观看直播 弹幕消息
礼物消息

后端服务器

Servlet实现接口 MySql与接口
直播列表 直播房间存储
用户信息 用户新存储
直播房间的管理 房间成员的控制
直播介绍 需求分析 SDK的选型 开发编码
直播特点 竞品分析 IM SDK 实现APP
直播流程 功能拆解 直播 SDK 服务端API
界面模块 优化app
技术模块

直播入门

2016, 2017 年非常火

点播 直播
视频网站看电视剧 直播网站看主播
文件存在服务器上 数据实时发送
指定节目播放 内容可以更改

在移动互联网的语境下,通过互联网媒体媒介,将某人某物某事当下发生的及时情况给终端用户以满足用户各种需求的一种新的互动性的互联网新态势。

直播的基本流程

推流端 服务器 播放器 互动系统
采集 转码 拉流 聊天
前处理 录制 解码 礼物
编码 截图 渲染 送礼
推流 鉴黄

直播流程之采集

音频采集 图像采集 采集源
采样率 分辨率 摄像头
位宽 采样帧率 屏幕录制
声道数 采样格式 文件推流
音频帧 传输通道

采样率 8khz
双通道
位宽 16kit
20ms 为一帧
一帧的数据 8000 * 2 * 16 * 0.02 == 512bit = 640字节

Android采集 IOS采集 PC采集
setPreviewCallback AVFoundation.framework 摄像头
MediaRecorder mjpeg-stremer

我们为了增强一些现场的特效,在编码之前做一些处理
打上时间戳,美颜,水印

视频的处理
美颜 磨皮 加 美白
滤镜 复古风
水印 视频的直播中必须要打上水印 国家规定 要保存下来之后检查用

混音 把多个视频混合起来 伴奏加人唱出来的声音进行混合 在推出去
降燥 人耳 20hz - 2000hz 之间 需要通过去除相关的
特效 变声

美白 识别皮肤,调整色值
添加白色 调整透明度
磨皮 模糊处理 均值模糊 高斯模糊 中值滤波
水印 图像和水印图片的合并
滤镜 GPUImage

混音
声音是由物体震动发出的一种波,我们通过麦克风转化程电信号,抽样量化。 各个采样的数据进行采样的叠加。 音频信号的叠加,采样值溢出的处理。 平均算法,对其算法。

降噪,傅里叶变换。 音频文件会有噪音, 改进
自然噪声 认为噪声 和 沉浸噪声
玻璃纶巾 根据波长分解颜色
根据音频的频率分解音频。 噪声回销法。

变声
通过改变声音的频率。 音色和音调 开源库,SoundTuch变声和变调。

视频的编码和封装(1)
编码的性能 压缩比
分辨率 1280*720 采样格式 YUV420sp
fps = 30帧每秒
1帧的数据 = 1280 * 720 * 1.5 bit = 1382400bit = 172800byte = 172kb
1秒的数据量 172 * 30 = 215=60 = 5M

H264编码 172kb + 30的p帧的话 是 500k.

你可能感兴趣的:(直播体系)