直播平台搭建所涉及的事项非常的广泛, 不仅需要直播源码、 直播系统开发、 后台服务 器、专门的运维人员等, 还需要技术团队切实的把控。下面, 小编就给大家确切的说下直播 平台搭建需要用到哪些步骤。

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天以上。这就要用到水印、截图和录制等功能,水印从某种意义上就是直播的身 份证当内容违规时就可以根据水印追究责任人; 截图和录制则是为了保留证据。 不过这些功 能相对来说比较简单,目前基本上直播云计算服务商都能提供。

看着这些内容可能相对浅显一些, 不过直播平台搭建可不是一件很容易的事, 如果没有 技术还是建议找专业的团队合作共同开发。

直播 APP 的直播实现流程的更多相关文章

  1. 从0到1打造直播 App(直播流程介绍整理 <mark><转>)

    注明:原创 2016-10-27 李智文 腾讯Bugly 概要 分享内容: 互联网内容载体变迁历程,文字——图片/声音——视频——VR/AR——……..从直播1.0秀场时代(YY),2.0游戏直播(斗 ...

  2. 从0到1打造直播 App

    转自http://dev.qq.com/topic/5811d42e7fd6ec467453bf58 概要 分享内容: 互联网内容载体变迁历程,文字——图片/声音——视频——VR/AR——……..从直 ...

  3. 【如何快速的开发一个完整的iOS直播app】(原理篇)

    原文转自:袁峥Seemygo    感谢分享.自我学习 目录 [如何快速的开发一个完整的iOS直播app](原理篇) [如何快速的开发一个完整的iOS直播app](播放篇) [如何快速的开发一个完整的 ...

  4. 【腾讯Bugly干货分享】从0到1打造直播 App

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5811d42e7fd6ec467453bf58 作者:李智文 概要 分享内容: ...

  5. 如何快速的开发一个完整的iOS直播app(原理篇)

    目录 [如何快速的开发一个完整的iOS直播app](原理篇) [如何快速的开发一个完整的iOS直播app](播放篇) [如何快速的开发一个完整的iOS直播app](采集篇) 前言 大半年没写博客了,但 ...

  6. 移动直播app怎么做

    今年移动直播行业的兴起,诞生了一大批网红,甚至明星也开始直播了,因此不得不跟上时代的步伐,教你从零开始搭建一个完整的iOS直播app,希望能帮助到更多的人更快的了解直播. 了解直播 1 热门直播产品: ...

  7. 如何开发一个直播APP

    一.个人见解(直播难与易) 直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通 ...

  8. android黑科技系列——分析某直播App的协议加密原理以及调用加密方法进行协议参数构造

    一.前言 随着直播技术火爆之后,各家都出了直播app,早期直播app的各种请求协议的参数信息都没有做任何加密措施,但是慢慢的有人开始利用这个后门开始弄刷粉关注工具,可以让一个新生的小花旦分分钟变成网红 ...

  9. 抖音短视频爆火的背后到底是什么——如何快速的开发一个完整的直播app

    前言 今年移动直播行业的兴起,诞生了一大批网红,甚至明星也开始直播了,因此不得不跟上时代的步伐,由于第一次接触的原因,因此花了很多时间了解直播,今天我来教你从零开始搭建一个完整的直播app,希望能帮助 ...

随机推荐

  1. dh

    -.-- -.. --- -. --- - -.- -. --- .--

  2. 4-Three-Matterhorn man

    What was the main objective of early mountain climbers?   ①Modern alpinists try to climb mountains b ...

  3. 光学定位点(mark点)

     Mark点是使用机器焊接时用于定位的点.  表贴元件的pcb更需要设置Mark点,因为在大批量生产时,贴片机都是操作人员手动或者机器自动寻找Mark点进行校准.极少数不设置Mark点也可以,操作非常 ...

  4. (转载)MySQl数据库-批量添加数据的两种方法

    方法一:使用excel表格 方法二:使用insert语句(FileWriter批量写入) 使用excel表格 1.打开数据表,按照表的字段在excel中添加数据.注意:表中字段名必须和excel中的名 ...

  5. spring-tool-suite使用教程,并创建spring配置文件

    本文为博主原创,未经允许不得转载: 在应用springMVC框架的时候,每次创建spring的xml配置文件时,需要很多步骤,非常麻烦. 所以spring提供了spring-tool-suite插件, ...

  6. 解决 dpkg: warning: files list file for package 'x' missing 问题

    参考: dpkg: warning: files list file for package 'x' missing 解决 dpkg: warning: files list file for pac ...

  7. error: could not create '/System/Library/Frameworks/Python.framework/Versions/2.7/share': Operation not permitted

    参考: Python pip安装模块报错 Mac升级到EI Captain之后pip install 无法使用问题 error: could not create '/System/Library/F ...

  8. POJ 3414 Pots(罐子)

    POJ 3414 Pots(罐子) Time Limit: 1000MS    Memory Limit: 65536K Description - 题目描述 You are given two po ...

  9. 关于python的“重载”

    首先,关于python和java的区别: 1.Java有是通过方法名和方法列表来定义一个函数,python是通过方法名来定义一个函数(不允许方法名相同的函数存在) 2.java是通过定义多个相同方法名 ...

  10. python 安装包

    一般python的包都是.tar.gz结尾的压缩包,据说是linux下面的格式.但也是可以在windows上面安装的,安装过程,1,在 https://pypi.python.org/pypi 这个网 ...