直播 背景 技术体系 乐视云直播Demo
背景
乐视云直播测试案例
- 进入移动直播"应用管理"界面,点击创建应用,只需输入名字、类型、平台就可以了,之后我们会看到几个很重要的参数:推流域名、播放域名、发布点名称(live)以及签名密钥,有了这几个东西,我们就可以开始直播测试了。
应用名称:包晴天直播推流域名:17546.mpush.live.lecloud.com播放域名:17546.mpull.live.lecloud.com发布点名称:live签名密钥:V86NL7KWKW1SL530F1KN直播推流与播放地址规则:rtmp://{推流域名}/发布点名称/{直播流名称}直播流名称可自定义使用,可允许数字或字母的任意字符,但不超过50位。
- 我们可以进行清晰度选择、录制、安全等设置
转码后,播放流名称的生成规则:流名称+清晰度标识清晰度标识说明,流畅:"_10",标清:"_13",高清:"_16",原画:""。例如:播放地址:rtmp://{域名}/发布点/{直播流名称}转成高清码率后,高清码率的播放地址为:rtmp://{域名}/发布点/{直播流名称_16}
- 推流端配置。打开手机的推流端应用,依次输入推流域名,签名密钥,以及流名称。然后点击开始直播,就可以直播推流了。
- 播放端配置。只需设置播放地址即可,如【rtmp://17546.mpush.live.lecloud.com/live/bqt】
- 直播过程中,可对所有"直播流"进行控制

乐视推流端部分代码(设置自己的参数)
private String default_streamid = "IMEI";
技术实现层面
直播优化层面
- 1.为加快首播时间,收流服务器主动推送 GOP :(Group of Pictures:策略影响编码质量)。所谓GOP,意思是画面组,一个GOP就是一组连续的画面至边缘节点,边缘节点缓存 GOP,播放端则可以快速加载,减少回源延迟
- 2.GOP丢帧,为解决延时,为什么会有延时,网络抖动、网络拥塞导致的数据发送不出去,丢完之后所有的时间戳都要修改,切记。要不客户端就会卡一个 GOP的时间,是由于 PTS(Presentation Time Stamp,PTS主要用于度量解码后的视频帧什么时候被显示出来) 和 DTS 的原因,或者播放器修正 DTS 和 PTS 也行(推流端丢GOD更复杂,丢 p 帧之前的 i 帧会花屏)
- 3.纯音频丢帧,要解决音视频不同步的问题,要让视频的delta增量到你丢掉音频的delta之后,再发音频,要不就会音视频不同步
- 4.源站主备切换和断线重连
- 5.根据TCP拥塞窗口做智能调度,当拥塞窗口过大说明节点服务质量不佳,需要切换节点和故障排查
- 6.增加上行、下行带宽探测接口,当带宽不满足时降低视频质量,即降低码率
- 7.定时获取最优的推流、拉流链路IP,尽可能保证提供最好的服务
- 8.监控必须要,监控各个节点的Qos状态,来做整个平台的资源配置优化和调度
- 9.如果产品从推流端、CDN、播放器都是自家的,保障 Qos 优势非常大
- 10.当直播量非常大时,要加入集群管理和调度,保障 Qos
- 11.播放端通过增加延时来减少网络抖动,通过快播来减少延时。
运营成本和客户体验
流媒体传输
- TCP:TCP为点对点的协议,虽然能保证了数据传输的可靠性,但是对服务器资源耗费较大,在数据流大的场合难以保证数据流传输的实时性。
- UDP:UDP为不可靠传输协议,不需要维护连接状态,也不认为每个数据包都必须到达接受端,因此网络负荷比TCP小,传输速度也要比TCP快;但在网络越拥挤时,越有更多的数据包丢失。
- RTMP:RTMP一个专门为高效传输视频、音频和数据而设计的协议,它通过建立一个二进制TCP连接或者连接HTTP隧道实现实时的视频和声音传输。
- FFmpeg:FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。
备用服务器
直播 背景 技术体系 乐视云直播Demo的更多相关文章
- ZEALER背后的乐视云视频
ZEALER是我非常喜欢的一个测评网站,经常访问看看手机.电动牙刷及机械键盘的测试视频,非常欣赏王自如的数据化测评理念.敬畏之心,以及不祛痘的视频. 刚好最近对网络视频应用比较感兴趣,觉得ZEALER ...
- iOS直播集成和问题总结(阿里云直播)
https://www.jianshu.com/p/714ce954e628 最近接手公司的直播项目,对以前遗留的问题做处理和优化, 于是顺便看了下阿里云直播的文档,在下面写下对直播的理解和遇到的问题 ...
- 乐视云监控数据存放到influxdb中
3.9 监控.告警系统 监控报警我们分PaaS平台和业务应用两大类. PaaS平台主要聚焦在基础设施和LeEngine的各个服务组件的监控报警(比如主机CPU,内存,IO,磁盘空间,LeEng ...
- 如何实现1080P延迟低于500ms的实时超清直播传输技术
再来当一次技术搬运工,内容来自高可用框架,学霸君工程师袁荣喜的如何实现1080P延迟低于500ms的实时超清直播传输技术. 导语:视频直播是很多技术团队及架构师关注的问题,在实时性方面,大部分直播是准 ...
- 我所了解的各公司使用的 Ceph 存储集群 (携程、乐视、有云、宝德云、联通等)
Ceph 作为软件定义存储的代表之一,最近几年其发展势头很猛,也出现了不少公司在测试和生产系统中使用 Ceph 的案例,尽管与此同时许多人对它的抱怨也一直存在.本文试着整理作者了解到的一些使用案例. ...
- 乐视云计算基于OpenStack的IaaS实践
本文作者岳龙广,现在就职于乐视云计算有限公司,负责IaaS部门的工作. 从开始工作就混在开源世界里,在虚拟化方面做过CloudStack/Ovirt开发,现在是做以OpenStack为基础的乐视云平台 ...
- TOP100summit【分享实录-网易】构建云直播分发网络
本篇文章内容来自2016年TOP100summit网易视频云.网易杭州研究院服务端技术专家邵峰的案例分享.编辑:Cynthia 邵峰:网易视频云.网易杭州研究院服务端技术专家浙江大学计算机专业博士毕业 ...
- 腾讯云直播+点播全线产品支持AV1,带来极致视频体验
日前,腾讯视频云直播.点播.媒体处理全线产品均已支持AV1标准,据悉,腾讯云也是国内首家直播+点播同时支持AV1视频处理业务的公有云厂商. 据悉,AV1(Alliance for Open Media ...
- vivo直播应用技术实践与探索
一.概述 2019年vivo直播平台立项,初期与优秀的顶部直播平台进行联运直播开发,进行市场,产品和技术的初步探索:再到后来为了丰富直播的内容和形式,开始自己独立探索:之后,我们结合vivo现阶段的直 ...
随机推荐
- 一次压力测试Loadrunner经验分享
一次压力测试Loadrunner经验分享 http://blog.csdn.net/lxlmj/article/category/553431 loadrunner测试socketstcpserver ...
- logstash收集nginx日志
(1)安装nginx 1.安装nginx yum install epel-release -y yum install nginx -y 2.修改日志文件格式为json #vim /etc/ngin ...
- 微信公共服务平台开发(.Net的实现)1 认证“成为开发者”
http://www.cnblogs.com/freeliver54/p/3725979.html http://www.it165.net/pro/html/201402/9459.html 这些代 ...
- 洛谷P2801 教主的魔法 [分块,二分答案]
题目传送门 教主的魔法 题目描述 教主最近学会了一种神奇的魔法,能够使人长高.于是他准备演示给XMYZ信息组每个英雄看.于是N个英雄们又一次聚集在了一起,这次他们排成了一列,被编号为1.2.…….N. ...
- Android之 内容提供器(1)——使用内容提供器访问其它程序共享的数据
(下面内容是阅读郭霖大神的<第一行代码>总结的) 1 概述 内容提供器是Android实现跨程序共享数据的标准方式. 内容提供器的的使用方法有两种, 一是使用已有的内容提供器对其他程序的数 ...
- 如果修改GeneXus Android的一些源码文件(FlexibleClient)
在使用GeneXus开发Android应用的过程中遇到了一个问题,使用tabs控件时发现默认高度过高,和UI设计要求的高度不一致,找了很久发现没有地方设置.后来联系了GeneXus中国厂商,得到了答复 ...
- [BZOJ4338][BJOI2015]糖果(扩展Lucas)
先求出式子$P_{C_{K+m-1}^{m}}^{n}$,然后对于排列直接$O(n)$求解,对于组合用扩展Lucas求解. 但这题数据并没有保证任何一个模数的质因子的$p^k$在可线性处理的范围内,于 ...
- 2018BNU校赛总决赛
题解是qls的题解我就懒得写了23333 A塞特斯玛斯塔 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld ...
- HihoCoder - 1756 打怪
题面在这里! 拆成两个部分分别算显然比较简单. 前面一个部分排个序枚举最大值算就好啦. 后面的就相当于把每一种数值的贡献加起来,也可以在排完序之后的a[]上面直接算出来. #include<bi ...
- [COGS2427][HZOI 2016]seq
[COGS2427][HZOI 2016]seq 题目大意: 一个长度为\(n(n\le10^6)\)的序列,\(q(q\le10^6)\)次操作,每次将所有\(a\)变成\(b\),求最后的序列. ...