历史上的今天
返回首页

历史上的今天

今天是:2025年06月28日(星期六)

2020年06月28日 | 解密百度进军直播行业 直播流切片方法

2020-06-28 来源:爱集微

5月15日晚八点,李彦宏亮相百度直播间,与樊登读书创始人樊登围绕“家·书”主题展开对话。值得注意的是,百度直播聚焦在信息和知识领域,避免了与抖音、快手直接“拼刺刀”,而李彦宏亲自上阵也彰显了百度重点发力直播业务的决心。

2012年YY直播率先推出了支持电竞直播的插件,在随后的几年时间里,一大批的直播平台如雨后春笋般的出现,例如斗鱼TV、虎牙直播、战旗直播等,由BAT所领头的大量资本涌入,“直播”成了互联网资本圈所追逐的宠儿。

而直播所涉及到的计算机技术,HLS (超文本直播流)绝对是一个,这个协议是基于HTTP (超文本传输协议)的流媒体传输协议,被广泛应用于互联网视频直播领域,是目前主流的互联网直播协议之一。

相对于其他常见的互联网直播协议,HLS协议最大的不同在于,HLS协议在服务器将直播流切片为连续的、很短时长的TS文件,而直播观看用户则不断地下载并播放这些TS文件。因为服务器总是会将最新的直播流生成新的TS文件,这样直播观看用户只要不停地按顺序播放从服务器获取到的TS文件,就实现了直播。

而百度就在19年1月24日申请了一项名为“直播流切片方法、装置和系统”的发明专利(申请号:201910068514.3),申请人为北京百度网讯科技有限公司。

根据目前公开的专利资料,让我们一起来看看这项直播方法吧。

如上图所示为该专利中设计的系统架构,系统架构100中可以包括直播源站服务器101、HLS源站服务器102、对象存储服务器103和网络104、105。网络104用以在直播源站服务器和HLS源站服务器之间提供通信链路的介质。网络105用以在HLS源站服务器和对象存储服务器103之间提供通信链路的介质。

HLS源站服务器可以通过网络104与直播源站服务器交互,还可以通过网络105与对象存储服务器交互,接收或者发送消息等。

直播源站服务器可以用于存储直播流,对象存储服务器可以用于存储直播流的索引文件和分片文件。HLS源站服务器可以用于从直播源站服务器获取直播流,对直播流进行切片,生成直播流的索引文件和分片文件,并且将直播流的索引文件和分片文件发送给对象存储服务器,以使对象存储服务器对直播流的索引文件和分片文件进行存储。

如上图为直播流切片方法的流程图,首先从直播源站服务器获取直播流,HLS源站服务器可以从直播源站服务器获取直播流。其中,直播流是直播提供用户利用其终端设备录制的直播视频。

其次,对直播流进行切片,生成直播流的索引文件和分片文件。HLS源站服务器对直播流进行切片,以生成直播流的索引文件和分片文件。其中,索引文件是M3U8文件,分片文件是TS文件。通常根据M3U8文件记录的索引可以查找TS文件,不停地按顺序播放所查找到的TS文件,即可实现播放直播流。

最后,将直播流的索引文件和分片文件发送给对象存储服务器。HLS源站服务器将直播流的索引文件和分片文件发送给对象存储服务器,使得对象存储服务器对直播流的索引文件和分片文件进行存储。

其中,对象存储服务器是BOS服务器,当直播观看用户发起直播请求时,HLS源站服务器从对象存储服务器查找所请求的直播流的索引文件和分片文件,并返回给直播观看用户的终端设备。直播观看用户的终端设备基于直播流的索引文件播放直播流的分片文件,以实现直播。

接下来我们再通过一个应用场景来理解这个直播流切片系统。

如上图所示,直播观看用户的终端设备向CDN调度服务器发送直播域名解析请求,CDN调度服务器将直播域名解析请求中的直播域名解析成CDN边缘节点的VIP,并返回给直播观看用户的终端设备。

随后,直播观看用户的终端设备基于VIP向CDN边缘节点的负载均衡服务器发送直播请求,负载均衡服务器向HLS源站服务器发送直播请求。若对象存储服务器中未存储所请求的直播流的索引文件,HLS源站服务器从直播源站服务器获取所请求的直播流,对所请求的直播流进行切片,生成所请求的直播流的索引文件和分片文件,发送给对象存储服务器和负载均衡服务器。

最后,对象存储服务器对索引文件和分片文件进行存储。同时,负载均衡服务器将索引文件和分片文件发送给直播观看用户的终端设备,直播观看用户的终端设备基于索引文件播放分片文件,以实现播放直播流供直播观看用户观看。

以上就是百度发明的降低直播时延的发明专利,通过在直播观看用户的终端设备发起直播请求时,HLS源站服务器从直播源站服务器获取直播流进行切片,生成请求的直播流的M3U8文件和TS文件,从对象存储服务器获取所请求的直播流的M3U8文件和TS文件,并返回给直播观看用户的终端设备。这样的方式将有助于降低直播时延,极大地提升了直播服务的可用性!


推荐阅读

史海拾趣

CIF公司的发展小趣事

B公司原本是一家地区性的电子产品供应商,为了拓展国际市场,决定采用CIF交易模式。通过与国外客户的深入沟通和合作,B公司成功打开了多个海外市场。同时,B公司还积极参与国际电子产品展会,提升品牌知名度,进一步巩固了其在全球市场的地位。

Advanced Detector Corp公司的发展小趣事

ADC始终坚持以技术创新为核心竞争力,不断投入研发资源,探索新的技术领域。目前,公司正积极研发应用于物联网、人工智能等前沿领域的探测器技术,并计划推出更多具有创新性的产品。展望未来,ADC将继续致力于技术创新和市场拓展,努力成为电子行业的领军企业。

这五个故事展示了Advanced Detector Corp公司从创立初期到逐渐发展壮大的过程,体现了公司在技术创新、市场扩张、战略合作等方面的努力和成就。同时,这些故事也揭示了ADC在电子行业中的重要地位和影响力。

HTC Korea(TAEJIN Technology )公司的发展小趣事

在HTC的发展历程中,与微软的合作无疑是重要的一环。早在2002年,微软联合HTC推出了全球第一台搭载Windows mobile的Pocket PC,这一操作系统成为了日后WP 8的前身。得益于微软的信任和支持,HTC能够率先搭载最新的Windows mobile系统,从而成为Windows手机的顶级生产商。这种紧密的合作关系不仅提升了HTC的品牌影响力,还为其带来了大量的市场份额和利润。

AirBorn公司的发展小趣事

在航空航天领域,AirBorn的产品广泛应用于飞机、导弹系统、通信设备等关键领域。为了满足航空航天领域对连接器的严苛要求,AirBorn不断投入研发力量,推出了一系列具有高性能、高可靠性的连接器产品。这些产品不仅满足了航空航天领域的需求,还为公司带来了可观的收益。

A1 PROS公司的发展小趣事

在2000年,A1 PROS在韩国正式成立,初创期的它,主要专注于黑白CCD芯片的研发与生产。当时,随着数字技术的兴起,电子摄像头逐渐普及,市场对高质量的图像传感器需求日益增长。A1 PROS凭借其核心团队在半导体技术方面的深厚积累,成功研发出多款性能优越的黑白CCD芯片,并很快在市场上占据了一席之地。

为了拓展业务,A1 PROS积极寻求合作伙伴。2003年,它与台湾的昱生电子有限公司建立了合作关系,后者成为A1 PROS在台湾地区的主要经销商。这一合作不仅帮助A1 PROS打开了台湾市场,也为后续进军更广阔的亚洲市场奠定了基础。

GPD Optoelectronics Corp公司的发展小趣事

在竞争激烈的电子行业中,A1 PROS始终保持对技术创新的追求。公司不断投入研发资金,引进先进的生产设备和技术人才,致力于开发更高性能、更环保、更节能的产品。同时,A1 PROS还积极关注行业动态和市场需求变化,不断调整和优化产品结构和市场策略。正是凭借这种持续创新的精神和对市场变化的敏锐洞察,A1 PROS得以在电子行业中保持领先地位,并引领着行业的发展方向。

以上便是关于A1 PROS公司在电子行业里发展起来的五个故事。这些故事展示了A1 PROS从初创期的黑白CCD业务起步,到成功研发彩色CCD传感器、获得技术认可、拓展国际市场以及持续创新引领行业发展的全过程。虽然这些故事是基于虚构的,但它们反映了电子行业发展的一般规律和趋势,也展现了A1 PROS作为一家优秀电子企业在行业中的成长轨迹和贡献。

问答坊 | AI 解惑

兼职:寻找有经验人编写ARM 、PIC单片机开发类图书

我们现有关于PIC单片机、ARM应用开发的2本图书选题,诚找有写书意向的作者合作。要求作者实战经验和写作资源丰富,有一定的业余时间、能够保证写作进度。有意者请直接发信,写明自己最擅长的领域。 联系方式:haohong99@163.com、478057587(Q ...…

查看全部问答>

基于Windows CE的手机信号测试系统的设计和实现.pdf

基于Windows CE的手机信号测试系统的设计和实现.pdf…

查看全部问答>

用pb导出的SDK在vs2008中的编译错误

大家好 我在 platform builder 中导出了一个sdk 。 然后安装, 再在 vs2008中建立了一个选择了这个sdk的win32程序。不做任何修改就进行编译报以下错误 1>C:\\Program Files\\Windows CE Tools\\wce500\\minitest\\include\\ARMV4I\\commctrl.h(6 ...…

查看全部问答>

romimage.exe执行ce.bib时报访存错误?

我在命令行方式下,用romimage.exe ce.bib 生成nk,执行到 compacting bin file 时报指令访问了0x0内存. 而在PB下makeimg却正常。哪位大侠知道什么原因? …

查看全部问答>

activesync同步导致应用软件线程卡住

    如题,当应用程序在运行的时候,通过usb和电脑同步,发现应用软件某些线程停在sleep。当断开usb连接后,线程有时能继续进行,有时不能(这个相当懊恼),写了个简单软件,里面就开一个线程,做如上测试,照样发现问题(排除程序复杂 ...…

查看全部问答>

数字频率计闸门信号怎么控制

要设计一个频率计,其他的部分都差不多搞定了,可是频率控制这块总弄不懂。要求:可测量0——999999的频率,闸门电路时钟信号为 2HZ ,产生计数周期1s,清零周期 0.5s,4s为一个周期测量一次信号。。。。 帮帮忙了,急需。…

查看全部问答>

VHDL编程问题

编辑了一段程序,却无法下载到FPGA开发板中(xc2s50)晶振40m,错误是:Signal qmh cannot be synthesized, bad synchronous description.请高人指点主要是数字钟用数码管显示,用4*4矩阵按键中的两个键去控制数字钟的调时功能,当按下按键key—cod ...…

查看全部问答>

自制电阻

请问各位大虾如何自制一个0.1欧的电阻5W,如何测得这小电阻…

查看全部问答>

求救用16单片机控制16*16点阵轮流显示从一到十的程序

求救用16单片机控制16*16点阵轮流显示从一到十的程序…

查看全部问答>

关于ADC12IFG为0的问题

同志们,最近做一个项目,用的是MSP430F149,用AD进行数据采集,我用的是查询功能,发现如下问题: 程序运行起来后,一直是正常的,忽然有天发现AD采集不对了,后来在线调试程序,运行若干天后再次出现问题, 问题原因是ADC12IFG始终为0了。系统 ...…

查看全部问答>