直播 APP 的直播实现流程
直播平台搭建所涉及的事项非常的广泛, 不仅需要直播源码、 直播系统开发、 后台服务 器、专门的运维人员等, 还需要技术团队切实的把控。下面, 小编就给大家确切的说下直播 平台搭建需要用到哪些步骤。
1、采集
音频采集:音频数据既能与图像结合组合成视频数据, 也能以纯音频的方式采集播放, 后者 在很多成熟的应用场景如在线电台和语音电台等起着非常重要的作用。 音频的采集过程主要 通过设备将环境中的模拟信号采集成 PCM 编码的原始数据,然后编码压缩成 MP3 等格 式的数据分发出去。 常见的音频压缩格式有:MP3, AAC , HE-AAC , Opus , FLAC , Vorbis (Ogg), Speex 和 AMR 等。
音频采集和编码主要面临的挑战在于:延时敏感、卡顿敏感、噪声消除(Denoise )、回声 消除(AEC )、静音检测(VAD )和各种混音算法等。
图像采集:图像采集图像采集的图片结果组合成一组连续播放的动画, 即构成视频中可肉眼 观看的内容。 图像的采集过程主要由摄像头等设备拍摄成 YUV 编码的原始数据, 然后经过 编码压缩成 H.264 等格式的数据分发出去。常见的视频封装格式有:MP4、 3GP 、 AVI 、 MKV 、 WMV 、 MPG 、 VOB 、 FLV 、 SWF 、 MOV 、 RMVB 和 WebM 等。
图像由于其直观感受最强并且体积也比较大, 构成了一个视频内容的主要部分。 图像采集和 编码面临的主要挑战在于:设备兼容性差、 延时敏感、 卡顿敏感以及各种对图像的处理操作 如美颜和水印等。
2、前处理
在这个环节主要是主播开播前的一些处理, 包括调整美颜萌颜、 连麦等效果。 现在美颜 功能几乎是直播的标配, 哪怕是非商用的企业直播平台, 也建议添加美颜功能, 毕竟没有人
希望自己在镜头前一脸憔悴不上镜。 但美颜有一个需要难点是, 要平衡美颜效果和功耗之间 的关系, 美颜效果越好, 程序功耗越大, 设备就会越发发热, 从而有可能影响到视频的采集。 所以前处理非常重要。
3、推流
需要直播的内容在采集、压缩处理好之后,还要上传到服务器,通过 CDN 进行分发, 用户提取想要看的压缩包,服务器进行解压才能向用户播放, 这就是推流。 推流有回源、直 推、转推等多种形式,各有优点。其中要按照实际情况具体部署。流媒体服务器有 RTMR 和 HLS 两种。其中 RTMP , Real Time Messaging Protocol(实时消息传输协议)的首 字母缩写。 该协议基于 TCP , 是一个协议族, 包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE等多种变种。 RTMP 是一种设计用来进行实时数据通信的网络协议, 主要用来在 Flash/AIR平台和支持 RTMP 协议的流媒体 /交互服务器之间进行音视频和数据通信。 RTMP 基于 flash 无法在 iOS 的浏览器里播放, 但是实时性比 HLS 要好。 HLS , HTTP Live Streaming (HTTP 直播流技术) , Apple 的动态码率自适应技术。 主要用于 PC 和 Apple 终端的音视 频服务。包括一个 m3u(8)的索引文件, TS 媒体分片文件和 key 加密串文件。
4、编码
如果把整个流媒体比喻成一个物流系统, 那么编解码就是其中配货和装货的过程, 这个 过程非常重要, 它的速度和压缩比对物流系统的意义非常大, 影响物流系统的整体速度和成 本。同样,对流媒体传输来说,编码也非常重要,它的编码性能、编码速度和编码压缩比会 直接影响整个流媒体传输的用户体验和传输成本。 简单来说原始视频数据存储空间大, 一个 1080P 的 7 s 视频需要 817 MB;原始视频数据传输占用带宽大, 10 Mbps 的带宽传输 上述 7 s 视频需要 11 分钟。而经过编码压缩之后,视频大小只有 708 k ,10 Mbps 的带 宽仅仅需要 500 ms ,可以满足实时传输的需求,所以从视频采集传感器采集来的原始视
希望自己在镜头前一脸憔悴不上镜。 但美颜有一个需要难点是, 要平衡美颜效果和功耗之间 的关系, 美颜效果越好, 程序功耗越大, 设备就会越发发热, 从而有可能影响到视频的采集。 所以前处理非常重要。
3、推流
需要直播的内容在采集、压缩处理好之后,还要上传到服务器,通过 CDN 进行分发, 用户提取想要看的压缩包,服务器进行解压才能向用户播放, 这就是推流。 推流有回源、直 推、转推等多种形式,各有优点。其中要按照实际情况具体部署。流媒体服务器有 RTMR 和 HLS 两种。其中 RTMP , Real Time Messaging Protocol(实时消息传输协议)的首 字母缩写。 该协议基于 TCP , 是一个协议族, 包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE等多种变种。 RTMP 是一种设计用来进行实时数据通信的网络协议, 主要用来在 Flash/AIR平台和支持 RTMP 协议的流媒体 /交互服务器之间进行音视频和数据通信。 RTMP 基于 flash 无法在 iOS 的浏览器里播放, 但是实时性比 HLS 要好。 HLS , HTTP Live Streaming (HTTP 直播流技术) , Apple 的动态码率自适应技术。 主要用于 PC 和 Apple 终端的音视 频服务。包括一个 m3u(8)的索引文件, TS 媒体分片文件和 key 加密串文件。
4、编码
如果把整个流媒体比喻成一个物流系统, 那么编解码就是其中配货和装货的过程, 这个 过程非常重要, 它的速度和压缩比对物流系统的意义非常大, 影响物流系统的整体速度和成 本。同样,对流媒体传输来说,编码也非常重要,它的编码性能、编码速度和编码压缩比会 直接影响整个流媒体传输的用户体验和传输成本。 简单来说原始视频数据存储空间大, 一个 1080P 的 7 s 视频需要 817 MB;原始视频数据传输占用带宽大, 10 Mbps 的带宽传输 上述 7 s 视频需要 11 分钟。而经过编码压缩之后,视频大小只有 708 k ,10 Mbps 的带 宽仅仅需要 500 ms ,可以满足实时传输的需求,所以从视频采集传感器采集来的原始视
希望自己在镜头前一脸憔悴不上镜。 但美颜有一个需要难点是, 要平衡美颜效果和功耗之间 的关系, 美颜效果越好, 程序功耗越大, 设备就会越发发热, 从而有可能影响到视频的采集。 所以前处理非常重要。
3、推流
需要直播的内容在采集、压缩处理好之后,还要上传到服务器,通过 CDN 进行分发, 用户提取想要看的压缩包,服务器进行解压才能向用户播放, 这就是推流。 推流有回源、直 推、转推等多种形式,各有优点。其中要按照实际情况具体部署。流媒体服务器有 RTMR 和 HLS 两种。其中 RTMP , Real Time Messaging Protocol(实时消息传输协议)的首 字母缩写。 该协议基于 TCP , 是一个协议族, 包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE等多种变种。 RTMP 是一种设计用来进行实时数据通信的网络协议, 主要用来在 Flash/AIR平台和支持 RTMP 协议的流媒体 /交互服务器之间进行音视频和数据通信。 RTMP 基于 flash 无法在 iOS 的浏览器里播放, 但是实时性比 HLS 要好。 HLS , HTTP Live Streaming (HTTP 直播流技术) , Apple 的动态码率自适应技术。 主要用于 PC 和 Apple 终端的音视 频服务。包括一个 m3u(8)的索引文件, TS 媒体分片文件和 key 加密串文件。
4、编码
如果把整个流媒体比喻成一个物流系统, 那么编解码就是其中配货和装货的过程, 这个 过程非常重要, 它的速度和压缩比对物流系统的意义非常大, 影响物流系统的整体速度和成 本。同样,对流媒体传输来说,编码也非常重要,它的编码性能、编码速度和编码压缩比会 直接影响整个流媒体传输的用户体验和传输成本。 简单来说原始视频数据存储空间大, 一个 1080P 的 7 s 视频需要 817 MB;原始视频数据传输占用带宽大, 10 Mbps 的带宽传输 上述 7 s 视频需要 11 分钟。而经过编码压缩之后,视频大小只有 708 k ,10 Mbps 的带 宽仅仅需要 500 ms ,可以满足实时传输的需求,所以从视频采集传感器采集来的原始视
频势必要经过视频编码。 而编码的核心思想是去除冗余信息, 包括空间冗余:图像相邻像素 之间有较强的相关性;时间冗余:视频序列的相邻图像之间内容相似; 编码冗余:不同像素 值出现的概率不同; 视觉冗余:人的视觉系统对某些细节不敏感; 知识冗余:规律性的结构 可由先验知识和背景知识得到。通过去除这些冗余,可以提高直播的质量。
5、转码
视频转码 (Video Transcoding) 是指将已经压缩编码的视频码流转换成另一个视频码 流, 以适应不同的网络带宽、 不同的终端处理能力和不同的用户需求。 转码本质上是一个先 解码, 再编码的过程, 因此转换前后的码流可能遵循相同的视频编码标准, 也可能不遵循相 同的视频编码标准, 比如将用户推流码率较高 (比如 720P) 实时转化成较低清晰度 (比如 360P) 的流以适应播放端的需求。 在视频转码时, 基本上都会选择直播云计算服务商, 目前国内一 线的云服务商都提供实时转码技术。
6、截图、录制、水印
为了更好的对直播行业进行监管, 于是国家明确提出了, 所有直播都必须打有水印并回 放留存 15天以上。这就要用到水印、截图和录制等功能,水印从某种意义上就是直播的身 份证当内容违规时就可以根据水印追究责任人; 截图和录制则是为了保留证据。 不过这些功 能相对来说比较简单,目前基本上直播云计算服务商都能提供。
看着这些内容可能相对浅显一些, 不过直播平台搭建可不是一件很容易的事, 如果没有 技术还是建议找专业的团队合作共同开发。