关于pc端直播

写这篇文章首先是想给自己一个总结、整理,还有就是给那些 没有特别明白直播是怎么回事的人一点 思路

最近公司想要做pc端直播,作为一个自认为很菜的前端实在是不知从何下手,所以只能用国人最爱的百度,搜索了很多资料、文章,得出的第一个结论就是 直播很烧钱,但是烧不烧钱 这个我可能管不了,我也没有办法管,所以只能继续探索我的直播之路,根据我的查找有了一些结论,当然这些结论可能多事别人说过的 ,我拿来用一下,总结一下,还望各位见谅,以下有一些都是我自己的见解。

首先直播分为两个端,主播端和看直播的一端(这是我自己的理解)

主播端肯定是录视频,将录的视频传给后台

看直播的一端  是从后台将视频拉取过来 播放  淡然 还有什么 评论、送礼物等等。

所以 总结一下 官方的说法就是  视频直播可以分为 采集、前处理、编码、传输、解码、渲染 这几个环节。

采集---一般都是移动端,IOS比较简单,机型比较同意,Android则相对复杂,因为有很多机型,需要做适配,PC最麻烦 ,各种不一样的摄像头,麦克风,比较凌乱 不好处理。

前处理 ---就是美颜什么的 ,得让主播好看,好多大牛都说美颜算法要用到GPU编程(这个还是不太了解)

编码 --- 应该是将录的视频做一下处理(还不太了解,自我理解是这样)

传输 ---  这个很贵 涉及到流量什么的

解码 --- 应该是观看直播时,将视频拉取过来要做一些处理(还不太了解,自我理解是这样)

渲染 --- 播放视频时 音画同步

直播包括 推流和拉流

目前web上主流的视频直播方案有HLS和RTMP,移动端主要以HLS为主(HLS存在延迟性问题,也可以借助video.jscaiyong RTMP),PC端主要用RTMP 为主 实时性较好(这段话是从别人的博客里看到的 但是忘记是谁了  作者看到 见谅)

下面说一下 推送协议

1.RTMP(Real Time Messaging Protocol)实时消息传输协议
 该协议基于TCP
 优点:
    CDN支持良好,主流的CDN厂商都支持
    协议简单,在各平台上实现容易
 缺点:
    基于TCP,传输成本高,在弱网环境丢包率高的情况下问题显著
    不支持浏览器**
    Adobe私有协议,Adobe已经不再更新
2.WebRTC 名称源自网页即时通信(英语:Web Real-Time Communication)的缩写
是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。
优点
    W3C标准,主流浏览器支持程度高
    Google在背后支撑,并在各平台有参考实现
    底层基于SRTP和UDP,弱网情况优化空间大
    可以实现点对点通信,通信双方延时低
缺点
    ICE,STUN,TURN传统CDN没有类似的服务提供
3.基于UDP的私有协议
有些直播应用会使用UDP做为底层协议开发自己的私有协议,因为UDP在弱网环境下的优势通过一些定制化的调优可以达到比较好的弱网优化效果,但同样因为是私有协议也势必有现实问题:
优点
    更多空间进行定制化优化
缺点
    开发成本高
    CDN不友好,需要自建CDN或者和CDN达成协议
    独立作战,无法和社区一起演进

以上就是我在做直播准备时 找到资料,希望能对有些人有帮助,另外再次强调有一些是别人的话 借用一下 忘见谅

时间: 2024-10-22 01:13:29

关于pc端直播的相关文章

直播的本质(创业者应该要从商业模式的右边开始思考,你为用户创造了什么价值?找客户并不难,但要想办法让客户不离不弃;PC端功能的丰富很重要,因为手机版通常只是一个迷你版)

我想稍微给直播这件事浇点冷水. 的确,直播现在越来越火,YouTube凭着良好的基础建设平台前段时间也做起了直播,Facebook Live最近也加入了变脸.预定直播时间和双人录制的功能,更不用说国内的如火如荼:KTV在直播.电商行业在直播.金融行业在直播.不过想想以前的球赛.晚会也是直播,这并不稀奇.真正带来巨大改变的是移动端直播的兴起,让人具备了随时随地观看的可能,所以说关键是技术创新的整体“生产率提升”效应,而不是创新本身提高了“生产力”水平.我们对互联网连接一切这种文化所做的选择,结果却

前端里移动端到底比pc端多哪些知识?

前端里移动端到底比pc端多哪些知识,为啥面试时好多公司都问h5水平如何? 我做过几年的web前端开发,就简单谈谈自己的感受吧. 首先来看看PC端和移动端在前端开发上的一些区别: (1)PC考虑的是浏览器兼容性,移动端开发考虑的更多的是手机兼容性,因为目前不管是android手机还是ios手机,一般浏览器用的都是webkit内核,所以做移动端开发,更多考虑的应该是手机分辨率的适配,和不同操作系统的略微差异化: (2)在部分事件的处理上,移动端自然是偏向于触屏的,所以触屏事件的一些规律要多摸索一下,

canvas实现移动端和PC端刮刮卡效果

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"

发布Cocos2d-x的PC端程序

发布Cocos2d-x的PC端程序 一.创建一个Release的项目 1.利用根目录下的解决方案生成Release.win32文件夹 2.新建一个cocos2d项目(比如解决方案名称MySolution,名称MyHelloWorld) 二.发布项目 1.得到运行所需文件 2.打包成exe文件 配置:win7+Cocos2d-x.2.0.3+VS2012 目标:发布MyHelloWorld项目为一个exe安装包. 根目录:D:\Program Files\Cocos2D\cocos2d-2.0-x

网站自动识别PC端或者移动端

平时在开发中经常会遇到这样的需求,除了开发PC端之外,还会同时开发移动端.对于简单的页面,可以使用bootstrap之类的框架实现响应式页面,可是当页面很复杂的时候,就需要开发一个移动端页面,一个PC端页面.这个时候,就会遇到这样的需求,想要访问同样的网址,然后根据设备不同显示不同的页面.之前一直想招相关的资料没有找到,到后来发现是我百度搜索的水平不行,心好累~~~下面就是我找到的通过js实现的浏览器判断. <script type="text/javascript"> v

CSS3及JS简单实现选项卡效果(适配手机端和pc端)

想要适配手机端和pc端,有几种简单的方法,本人使用的是百分比分配的方法. *{ padding: 0; margin: 0; } body,html{ width: 100%; height: 100%; overflow: hidden; } #bottom_box{ width: 100%; height: 50px; background-color: #eee; display: flex; //这是flex布局,父元素设置为flex,子元素设置几等份就是分成几等份 position:

Macaca自动化测试之PC端测试

Macaca是一套完整的自动化测试解决方案.由阿里巴巴公司开源: http://macacajs.github.io/macaca/ 特点: 同时支持PC端和移动端(Android.iOS)自动化测试. 支持JavaScript(Node.js).Java.Python. 本篇文章将介绍如何使用该工具时行PC端自动化测试. Install Macaca 1.Macaca由Node.js开发,所以需要安装Node.js. https://nodejs.org/en/ 2.安装Node.js完成.

PHP判断访问者手机移动端还是PC端的函数,亲测好用

,用手机访问PC端WWW域名的时候,自动判断跳转到移动端,用电脑访问M域名手机网站的时候,自动跳转到PC端,我们团队在开发erdaicms二代旅游CMS网站管理系统的时候(http://www.erdaicms.com),分别开发了PC端和手机端,需要实现,用手机访问PC端WWW域名的时候,自动判断跳转到移动端,用电脑访问M域名手机网站的时候,自动跳转到PC端,于是有了下面这个判断函数: 1 /*移动端判断*/ 2 function isMobile() 3 { 4 // 如果有HTTP_X_W

第 31 章 项目实战-PC 端固定布局[4]

学习要点: 1.热门旅游区 2.标题介绍区 3.旅游项目区 主讲教师:李炎恢 本章主要开始使用学习用 HTML5 和 CSS3 来构建 Web 页面,第一个项目采用 PC 端固定布局来实现. 一.热门旅游区 本节课,我们将探讨一下首页最核心的部分,旅游区.这块内容由两个部分组成,一个是大标题,表示热门旅游区域.其次就是旅游项目的图片展示区域.具体如下: //热门旅游区父元素 <div id="tour"> ... </div> //旅游父元素 #tour { w