直播系统开发环境与搭建需要哪些步骤_直播软件搭建

直播系统开发环境与搭建需要哪些步骤_直播软件搭建,第1张

一个视频直播系统开发平台的技术搭建,按照程序开发的顺序,直播系统搭建过程如下:

1、采集端:

视频直播系统通过摄像头拍摄直播画面并录制声音做架构时一定要注意多终端适配,另外,离线采集技术,人工聚焦等都会影响用户体验

2、前处理:

视频直播系统开发最重要的部分是实时GPU渲染美感。实时美颜的算法本身,就相当考验APP厂商的技术经济实力;如何发展能够充分利用能力有限的GPU资源管理进行美颜处理,也是我们一个很关键的点。国内研究很多网络直播系统产品迭代都比较快,所以没有直接影响后果就是信息技术适配做得差,很多常见的机型都会闪退和骤停。前处理中还要去除是水印、时间戳等,因为现在很多小平台,会互相偷链,恶性竞争,这是必要的防范措施。

3、 编码:

我们都知道,视频直播系统上传到视频网站就是源码的过程,现场也如此。但是,前者依靠云计算,这是由手机本身的CPU性能编码。考虑到大量的网络流量的现状有一个编码的流程,以及适应当地网络速度后,一次上传编码就完成有点不现实。

在有的问题是发热程度,因为CPU和GPU同时在用于在没有很好地优化条件很长的时间全部容量。这会带来双重问题,一个是用户体验差,二是电力消耗很快。

4、算法:

一方面要减小CPU的使用率,另一重要方面我们又要进行控制码率更低。如果你自己企业或者网络服务商的编码技术标准问题不是H264或者H265,基本上就可以一票否决了。

5、传输:

视频直播系统开发重点是推流:因为如果传输路径上只有一个点有故障,只有一些人看不到,但如果推出问题,所有的人都看不到。 而且,移动直播平台的竞争非常激烈,如果技术不通过,一旦停机影响用户体验,后果将非常严重。

这是一种实时传输技术。这样基本上最成熟的国内直播平台,都选择把专业的CDN供应商去做。毕竟,能源初创公司通常专注于自己的业务,甚至许多非技术操作人员和维修人员不理解,再加上服务器,带宽成本等,做它自己非常困难的。这涉及到一个CDN的选择。

6、CDN节点:

视频直播系统开发最核心的资源比拼就是研究内容分发节点,但是我们如果没有涉及到直播的话,流传输的技术管理架构也同样具有重要。

我做过SIP的开发sip是一种类似http的协议,比H323简单多了特别适合JAVA开发

准备工具:java环境,开发工具eclipse等,测试工具ethereal必要的

SIP:会话初始化协议(Session Initiation Protocol)

会话初始化协议(SIP)是一种应用层控制协议,它可用来创建、修改或终止多媒体会话,如因特网电话呼叫。 SIP 能够邀请参与者加入已存在的会话,如组播会议。现有的会话中可以添加或删除媒体。 SIP 支持名称映射和重定向服务,其支持用户移动性。不管用户网络位置在哪,用户只需维持单一外部可视标识符。

SIP 在五个方面支持创建和终止多媒体通信:

用户定位:决定用于通信的终端系统的确定;

用户可用性:决定被叫方是否愿意加入通信;

用户能力:媒体和媒体参数的确定;

呼叫建立:“响铃“,主叫方和被叫方的会话参数的建立;

呼叫管理:包括传输和终止会话、修改呼叫参数和调用服务。

SIP 可以结合其它 IETF 协议来建立完善的多媒体结构,如提供实时数据传输和服务质量(QOS)反馈的实时传输协议(RTP)、提供流媒体发送控制的实时流协议(RTSP)、为公用交换电话网络(PSTN)提供网关控制的媒体网关控制协议(MEGACO),以及描述多媒体会话的会话描述协议(SDP)。因此, SIP 需要与其它协议协同作用来为用户提供完善的服务。然而 SIP 的基本功能和操作并不依赖于这些协议。

SIP 提供了一组安全服务,包括防止拒绝服务攻击、认证(用户对用户和代理对用户)、完整性保护和加密及隐私服务。

SIP 同时支持 IPv4 and IPv6 。关于因特网电话会话, SIP 做如下工作:

通过 SIP 地址识别主叫方和被叫方。当建立一个 SIP 呼叫时,主叫方首先定位适合的服务器,然后发出一个 SIP 请求。最通常的 SIP 行为是邀请。 SIP 请求会被代理重定向或者触发一系列的新 SIP 请求,而不是直接到达目的被叫方。用户可以通过 SIP 服务器注册他们的位置。 SIP 地址 (URL) 可以嵌入到网页中,因此只要点击一下就可以和对方建立呼叫会话。

闫薇 杨阳

“三网融合试点政策的制定将围绕着‘双方都不满意,但是让广电更为满意的方向进行’。”接近三网融合领导小组的消息人士告诉记者。一场有关于三网融合的保卫战已经上演至最炙热阶段。

广电与电信实力悬殊或许是导致这种结果的最大原因。2009年,广电行业总收入不足电信业务总收入的五分之一;根据中国入世承诺,电信增值业务向外资开放,并允许外资持有不超过49%的股权,而有线网络业务没有开放义务,出于信息安全考虑,需要选择非对称准入。

不久前,电信业运营商还深信广电业不足以成为他们的对手,一家电信运营商面对广电系接二连三的政策管控,直白地宣称,“我们不怕,我们可以再等一等”。这种想法很快便消失了。

随着政策方向渐明,电信业不得不提前启动攻城略地式的业务争夺。而广电业则作出了悲观的预测:此间,他们正多方面努力,保卫曾深受政策庇护的庞大帝国。

电信利器

如无意外,以广电获得更多政策优惠的非对称准入很快就将成事实。可能在5月底出台的试点政策,或将使广电系获得增值业务和部分电信基础业务、互联网业务经营权,对基础电信运营商造成冲击,使已经打破垄断,三足鼎立的电信运营商们,又平添一个对手;而电信业难以获得IPTV和手机电视等的节目集成播控权,依然处于视听节目运营产业链的从属地位。

在等待三网融合试点政策下发的一个月来,电信运营商到底做了什么?作为在纯市场环境中经验丰富的电信领导者们,管理学论文资料,在过往的运营中逐渐领悟了简单的道理:现有广电网络是采用媒体广告+用户收费模式,互联网采用免费+媒体广告模式,而电信是采用用户收费模式,一旦用户收费+媒体广告模式实现,未来三网融合的盈利空间将被极大提升。

电信业认识到,视频业务是传统的固网运营商的重要出路,视频业务不仅可以促进宽带的持续发展,而且为电信业的转型提供了更加广阔的空间——以视听业务为主体的娱乐产业和以传媒业为主体的信息内容产业,同时可以通过业务捆绑,降低用户的离网率,减缓业务增长乏力的趋势。

正是意识到这一点,电信运营商率先在视频业务上展开进攻,一改过去的商业规则——他们团结一致推送电视“免费服务”,即使过去用户怨声载道的流媒体视频服务,电信运营商们也在本月通过降低资费,来降低进入门槛。试想,当消费者能够真正观看免费节目,谁还会支付有线电视费用?

前不久,重庆电信、联通两家电信运营商竞相推出“电视”业务。免费的CMMB(中国移动多媒体广播电视)也已发展了10万用户。手机,车载GPS等也能免费看电视。此外,中移动与广电合作共同推广TD+CMMB手机,论文代写,深圳移动与深圳广电集团合作,提供“移动通信+宽带接入+无线上网+数字电视”的全业务方案。他们以与广电合作的形式,事实上入侵了广电过去垄断的领地。

三家运营商手中掌握着近10亿手机用户,很容易在需要付费的有线电视网络和免费的无线电视网络之间进行选择。

蓬勃发展的视频网站也是电信业的利器。早在2008年之前搜狐就已向电视节目制作商购买版权,通过其网站上的高清频道,向观众推送免费的视频服务,其更新速度紧跟电视台黄金时段节目表。各种大小不等的视频网站数不胜数,他们在电视台和**院之外,开辟了受众可控、广告投放精准的电视渠道,对于电视台来说,这些视频新秀不仅争夺观众,也争夺广告客户。

广电警觉

对于电信运营商不断通过互联网提供电视节目及**的现象,广电系表现出高度警觉。

广电业开始思考横跨于电视台和互联网之间的商业模式,前提是可管可控。从中央电视台网站平移而成的央视网,所提供的互联网电视模式将成为未来一段时间内,最容易在产业链上找到结合点的试验田。

对于一位电视迷而言,互联网电视的出现无疑是一个奇迹,无论错过了多么精彩的节目的首播,你都可以通过这个平台观看。尽管央视网称其将通过授权视频版权与电视机厂捆绑分成,但是每个人都知道,这个网站很难赚钱,也没有实现稳定盈利的清晰潜力。但这是广电改变商业模式的一个方向。

不仅国家级有线电视网络公司在短期内实现公司化运营存在一定困难,广电系还面临着如何快速实现市场化运作的难题。此前数年,由于广电拥有舆论喉舌作用,才具有强大的内容控制力,获得政策倾向优势。一旦进入公平的市场竞争,它将无法回避运营体系混乱,各自为战、缺乏市场主体地位,运营模式单一,新业务开发能力差的弊端。而且,在用户规模、收入规模处于明显劣势——不到电信行业1/5,信息化程度低,没有形成全国统一的结算平台。

在缺乏足够的市场经验下,广电业急需推出可以效仿的业务模式范本。广电业内消息人士告诉记者,在三网融合中,广电将推“华数模式”,华数模式意味着业务先行,以业务为主导。据了解,华数数字电视传媒集团的大股东是杭州市文化广播电视集团,二股东是当地的电信运营商——曾经的网通,其第三大股东是省电视台。

作为目前国内第三个具有三网融合业务资质的公司,近日华数公司宣布正式推出融合电视屏、电脑屏、手机屏的跨屏内容系列产品和服务。在“5·17”电信日之前实现三屏融合,亦是广电对试点地区提出的目标。除杭州外,“智慧广州”门户网站下月起将加载到电视平台上,从而实现“电脑屏、手机屏、电视屏”三个屏幕的共同访问。

此外,湖南卫视获得国家广电总局下发的同意其开展3G手机视听节目服务相关业务的批复,近期有望获得正式牌照,拿到牌照的企业就可以与运营商合作,正式纳入运营商的增值服务系统。目前,湖南卫视旗下的快乐购正试图在全国范围内落地,更重要的是,除了电视渠道外,该公司正通过网站推广电子商务。快乐购内部人士告诉记者,广电总局非常鼓励其进军电子商务。广电业期望以创新见长的湖南广电开创一条广告盈利模式之外,且与互联网捆绑的业务模式。

并网艰难

按照年初的部署,只有组建与三大电信运营商并立的国家级有线电视网络公司,广电系才有条件与电信系竞争。广电规划,国家级有线电视网络公司将负担起对全国有线电视网络的升级改造,逐步实现全国有线电视网络统一规划、建设、运营、管理的重任。

不过,国家级有线电视网络公司在短期内实现公司化运营存在一定困难。易观国际分析师陈寿送认为,整改资金难到位、盈利模式不清晰、前期单向机顶盒难升级等一系列问题困扰着大部分有线运营商,短期内困境难以突破,经济论文资料。

一位专门做机顶盒CA卡的提供商透露,一些地方广电采购的CA卡提供商已经倒闭,这导致了这些地方广电要想升级机顶盒的业务就遭遇了无法解决的困难——要么重新采购,要么就不能推新的赚钱业务。

截至2010年5月,全国仅有13个省完成了省网并市网的整合,最早形成一张网的包括歌华有线、广电网络、东方有线、江苏有线等多个网络运营商,但其中一些省网仅仅是完成了名义上形式上的合并,人员、网络都尚且没有完成真正的整合。

广电系寄希望于拓宽融资渠道等办法来解决那百亿级双向改造的巨额资金缺口。但向金融机构贷款的做法已经让一些地方有线公司背上了沉重的利息负担。

也许当这一切都搞定之后,却可能已经失去了市场机会。

“五年之内,我们做不了什么全国性的业务,只能是各个省市自己试验性地上点项目。”一位地方有线网络有限公司副总经理透露,要等到双向改造、省网把市网整合完毕,全国形成一张网之后,广电系才能算是有了与电信一起较量的基础。

该副总称,广电系内其实一直弥漫着一种悲观情绪,因为广电起步较晚,资金缺口大,人才缺口也大,更不像电信系那样擅长市场化操作,如果运营得太不理想,甚至极端地认为未来没准会出现一家电信运营商收购国家广电网络的情况。

除了资金缺口不容易摆平外,广电整合成一张网最大的困难在于其原有体制是25级办电视台,省级、市级和县级之间的利益和话语权难以平衡。省网整合市网的困难并非在一地发生,而是普遍现象,致使许多工作推进迟缓。但这个原本需要两到三年才能完成的任务,在广电总局上层的坚决要求下,被限制在2010年内必须结束——据一位接近广电高层的人士透露,省网整合是否完毕已经被列为今年各省广电负责人的业务考核内容,因此力度是够的。

省网并市网正经历着从利益到权力的斗争,广电内部的主要解决方案是交叉持股和对各级电视台人事上的调整。

省网要控制频道,因为广告市场是有限的,省台和地方台的广告份额是互相竞争关系。决定电视台生存空间主要靠两个因素:内容质量和频道数量。因此省网整合市网之后就会压缩地方的频道数量。

一位接近广电的人士透露,已经完成整合的江苏最终的省网整合就是在强硬之下进行的,而且江苏的省网整合充满了高明的“智慧”:当时是让苏州、无锡、常州的负责人当省网的副董事长,另外抽调了一个当时抵制整合最猛的人到省网去当副总。通过这样的方法来解决市网不愿被省网整合,以及整合后省网和市网之间的利益纠葛——“市网负责人也是省网负责人,行政级别上提了半级,他的考核里就包括了省网的任务,他自己也就不会只为市网的利益考虑了。”该人士称。

> 相关阅读: 三网融合试点方案第二稿被驳回 广电电信宽带竞速三网融合进展艰难或推迟:从各执一词到逐渐务虚三网融合:广电与电信势均力敌的拔河比赛电信运营商加速IPTV布局强硬化解广电封杀令

相关的主题文章:

创维签约三家互联网电视牌照运营商

节能空调财政补贴大幅降低 厂家将调高售价

720P新体验 联想乐phone行货售2950

关于IO会涉及到阻塞、非阻塞、多路复用、同步、异步、BIO、NIO、AIO等几个知识点。知识点虽然不难但平常经常容易搞混,特此Mark下,与君共勉。

阻塞IO情况下,当用户调用 read 后,用户线程会被阻塞,等内核数据准备好并且数据从内核缓冲区拷贝到用户态缓存区后 read 才会返回。可以看到是阻塞的两个部分。

非阻塞IO发出read请求后发现数据没准备好,会继续往下执行,此时应用程序会不断轮询polling内核询问数据是否准备好,当数据没有准备好时,内核立即返回EWOULDBLOCK错误。直到数据被拷贝到应用程序缓冲区,read请求才获取到结果。并且你要注意!这里最后一次 read 调用获取数据的过程,是一个同步的过程,是需要等待的过程。这里的同步指的是 内核态的数据拷贝到用户程序的缓存区这个过程

非阻塞情况下无可用数据时,应用程序每次轮询内核看数据是否准备好了也耗费CPU,能否不让它轮询,当内核缓冲区数据准备好了,以事件通知当机制告知应用进程数据准备好了呢?应用进程在没有收到数据准备好的事件通知信号时可以忙写其他的工作。此时 IO多路复用 就派上用场了。

IO多路复用中文比较让人头大,IO多路复用的原文叫 I/O multiplexing,这里的 multiplexing 指的其实是在单个线程通过记录跟踪每一个Sock(I/O流)的状态来同时管理多个I/O流 发明它的目的是尽量多的提高服务器的吞吐能力。实现一个线程监控多个IO请求,哪个IO有请求就把数据从内核拷贝到进程缓冲区,拷贝期间是阻塞的!现在已经可以通过采用mmap地址映射的方法,达到内存共享效果,避免真复制,提高效率。

select、poll、epoll 都是I/O多路复用的具体的实现。

select是第一版IO复用,提出后暴漏了很多问题。

poll 修复了 select 的很多问题。

但是poll仍然不是线程安全的, 这就意味着不管服务器有多强悍,你也只能在一个线程里面处理一组 I/O 流。你当然可以拿多进程来配合了,不过然后你就有了多进程的各种问题。

epoll 可以说是 I/O 多路复用最新的一个实现,epoll 修复了poll 和select绝大部分问题, 比如:

横轴 Dead connections 是链接数的意思,叫这个名字只是它的测试工具叫deadcon。纵轴是每秒处理请求的数量,可看到epoll每秒处理请求的数量基本不会随着链接变多而下降的。poll 和/dev/poll 就很惨了。但 epoll 有个致命的缺点是只有 linux 支持。

比如平常Nginx为何可以支持4W的QPS是因为它会使用目标平台上面最高效的I/O多路复用模型。

然后你会发现上面的提到过的操作都不是真正的异步,因为两个阶段总要等待会儿!而真正的异步 I/O 是内核数据准备好和数据从内核态拷贝到用户态这两个过程都不用等待。

很庆幸,Linux给我们准备了 aio_read aio_write 函数实现真实的异步,当用户发起aio_read请求后就会自动返回。内核会自动将数据从内核缓冲区拷贝到用户进程空间,应用进程啥都不用管。

我强力推荐C++后端开发免费学习地址:C/C++Linux服务器开发/后台架构师零声教育-学习视频教程-腾讯课堂

同步跟异步的区别在于 数据从内核空间拷贝到用户空间是否由用户线程完成 ,这里又分为同步阻塞跟同步非阻塞两种。

我们以同步非阻塞为例,如下可看到,在将数据从内核拷贝到用户空间这一过程,是由用户线程阻塞完成的。

可发现,用户在调用之后会立即返回,由内核完成数据的拷贝工作,并通知用户线程,进行回调。

在Java中,我们使用socket进行网络通信,IO主要有三种模式,主要看 内核支持 哪些。

同步阻塞IO ,每个客户端的Socket连接请求,服务端都会对应有个处理线程与之对应,对于没有分配到处理线程的连接就会被阻塞或者拒绝。相当于是 一个连接一个线程 。

BIO特点

常量:

主类:

服务端监听线程:

服务端处理线程:

客户端:

同步非阻塞IO之NIO :服务器端保存一个Socket连接列表,然后对这个列表进行轮询,如果发现某个Socket端口上有数据可读时说明读就绪,则调用该socket连接的相应读操作。如果发现某个 Socket端口上有数据可写时说明写就绪,则调用该socket连接的相应写操作。如果某个端口的Socket连接已经中断,则调用相应的析构方法关闭该端口。这样能充分利用服务器资源,效率得到了很大提高,在进行IO操作请求时候再用个线程去处理,是 一个请求一个线程 。Java中使用Selector、Channel、Buffer来实现上述效果。

每个线程中包含一个 Selector 对象,它相当于一个通道管理器,可以实现在一个线程中处理多个通道的目的,减少线程的创建数量。远程连接对应一个channel,数据的读写通过buffer均在同一个 channel 中完成,并且数据的读写是非阻塞的。通道创建后需要注册在 selector 中,同时需要为该通道注册感兴趣事件(客户端连接服务端事件、服务端接收客户端连接事件、读事件、写事件), selector 线程需要采用 轮训 的方式调用 selector 的 select 函数,直到所有注册通道中有兴趣的事件发生,则返回,否则一直阻塞。而后循环处理所有就绪的感兴趣事件。以上步骤解决BIO的两个瓶颈:

下面对以下三个概念做一个简单介绍,Java NIO由以下三个核心部分组成:

channel和buffer有好几种类型。下面是Java NIO中的一些主要channel的实现:

正如你所看到的,这些通道涵盖了UDP和TCP网络IO,以及文件IO。以下是Java NIO里关键的buffer实现:

在微服务阶段,一个请求可能涉及到多个不同服务之间的跨服务器调用,如果你想实现高性能的PRC框架来进行数据传输,那就可以基于Java NIO做个支持长连接、自定义协议、高并发的框架,比如Netty。Netty本身就是一个基于NIO的网络框架, 封装了Java NIO那些复杂的底层细节,给你提供简单好用的抽象概念来编程。比如Dubbo底层就是用的Netty。

AIO是异步非阻塞IO,相比NIO更进一步,进程读取数据时只负责发送跟接收指令,数据的准备工作完全由操作系统来处理。

推荐一个零声教育C/C++后台开发的免费公开课程,个人觉得老师讲得不错,分享给大家:C/C++后台开发高级架构师,内容包括Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,C/C++Linux服务器开发/后台架构师零声教育-学习视频教程-腾讯课堂 立即学习

原文:阻塞、非阻塞、多路复用、同步、异步、BIO、NIO、AIO 一锅端

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 直播系统开发环境与搭建需要哪些步骤_直播软件搭建

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情