CN104618798A - 面向互联网视频直播的播放时刻控制方法及装置 - Google Patents
面向互联网视频直播的播放时刻控制方法及装置 Download PDFInfo
- Publication number
- CN104618798A CN104618798A CN201510076793.XA CN201510076793A CN104618798A CN 104618798 A CN104618798 A CN 104618798A CN 201510076793 A CN201510076793 A CN 201510076793A CN 104618798 A CN104618798 A CN 104618798A
- Authority
- CN
- China
- Prior art keywords
- data
- video
- audio
- code stream
- possibility
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 169
- 230000005540 biological transmission Effects 0.000 claims abstract description 96
- 230000033228 biological regulation Effects 0.000 claims abstract description 27
- 230000003111 delayed effect Effects 0.000 claims description 69
- 230000001143 conditioned effect Effects 0.000 claims description 68
- 239000012634 fragment Substances 0.000 claims description 60
- 238000012544 monitoring process Methods 0.000 claims description 52
- 238000002715 modification method Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 33
- 238000012217 deletion Methods 0.000 claims description 28
- 230000037430 deletion Effects 0.000 claims description 28
- 230000008859 change Effects 0.000 claims description 25
- 230000010076 replication Effects 0.000 claims description 24
- 238000012937 correction Methods 0.000 claims description 20
- 238000005070 sampling Methods 0.000 claims description 12
- 230000015572 biosynthetic process Effects 0.000 claims description 6
- 235000014510 cooky Nutrition 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 230000003068 static effect Effects 0.000 claims description 3
- 230000003139 buffering effect Effects 0.000 description 42
- 238000005538 encapsulation Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000003750 conditioning effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44004—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及互联网技术领域,尤其涉及面向互联网视频直播的播放时刻控制方法及装置。面向互联网视频直播的播放时刻控制方法,包括:获取视频直播内容的播放时刻调节策略S及所述视频直播内容的传输链路的传输状态ST,其中所述视频直播内容中包含一个或多个音视频码流;依据所述S及所述ST,选择并修改传输的所述音视频码流。本发明提供的面向互联网视频直播的播放时刻控制方法及装置,能够基于互联网视频直播需求对视频直播内容进行时刻控制。
Description
技术领域
本发明涉及互联网技术领域,具体而言,涉及面向互联网视频直播的播放时刻控制方法及装置。
背景技术
视频直播,因其实时性,越来越成为互联网视频的重要形式,互联网视频直播可用于体育、新闻、教育、娱乐等多种业务。
利用互联网进行视频直播,传输缓冲成为一个较为严重的制约因素,目前常见的互联网直播服务,其画面与传统的有线电视相比,通常会慢几秒乃至几分钟。
目前的视频直播优化工作较多关注于编码器端的低延迟编码、分发端实现尽快的数据转发,播放端的高性能、低延迟解码,但较少关注于传输缓冲出现后如何减少。
在不少应用场景下,播放的延迟不是越低越好,而是需要不同用户终端在同一时刻看到的视频内容基本一致,即存在同步播放的需求。若无法实现同步播放,则在基于直播内容的用户竞猜时,每个用户看到的画面内容不同,将无法保证竞猜的公平性。
而互联网的开放、分布式特定,决定了不同网络节点的接入带宽、传输拓扑都是不同的,自然其视频传输延迟也难于一致。目前尚未有公开的资料说明如何实现互联网视频直播的同步播放。
同步播放这就意味着有时需要有延迟某个用户终端播放时刻的需要。采用暂停播放一段时间在继续播放的方法,可以实现延迟的增加,但用户体验较差。在保持音视频连续流畅播放的前提下,如何增大延迟,也是个新的课题。
以上分析说明针对互联网的视频直播进行灵活的播放时刻控制,是一个有意义且新颖的课题。
在互联网视频直播中进行播放时刻控制,也是一个具挑战性的课题:
1、如果单纯的基于某一个分发端服务节点来进行传输环节的控制,无法解决因播放端解码能力等因素导致的播放缓冲区增加。
2、如果单纯基于播放端进行控制,则:通用的播放器,如flashplayer、ios内嵌播放器,所能支持和使用的调整手段有限,如果需要在客户端下载专门的视频接收和处理插件,将降低用户接受度;同时这种方法也无法应对因网络带宽有限而导致的卡顿和时延增大等现象。
3、互联网的开放性决定了其网络环境是动态的、难于预测的。有时为了低延迟,可以采用降低播放端缓冲区初始值的方法,但这样网络带宽不稳定时,则会导致视频播放频繁缓冲,反之为了保证流畅播放,加大缓冲区初始值,则网络较好时,缓冲区数据较为浪费,且会导致延迟较大。
4、不同的终端类型、不同的传输协议,难于用同一种方法实现播放时刻控制,更难于实现终端之间的同步播放时刻控制。
5、互联网直播目前较多采用分布式的CDN架构,视频传输由编码器、源站、各级节点、用户播放端等多个环节构成,这更增加了对最终用户播放端的播放时刻控制的复杂度。
6、播放时刻控制的调整应以保证用户体验为前提,应尽量避免或减少因调整而出现视频马赛克、停顿、跳跃等现象。
7、传统的调整手段较为单一,基本都是通过改变播放时间戳来进行的,这样做的问题在于:调整时间戳并未改变实际传输和播放的数据量,如果因为播放端解码能力有限或网络带宽受限,则无法达到播放时刻控制的目的。
8、播放时刻控制还应适应目前在互联网上逐渐流行的多码率自适应协议,采用此类协议时,用户播放端可动态选择视频码率,同时视频数据通常采用分片下载而不是始终保持传输连接,这都为播放时刻控制带来了新的挑战。
因此,现在急需一种面向互联网的、适应多种传输协议与播放终端的、分布式的视频直播的播放时刻控制方法。
发明内容
本发明提供的面向互联网视频直播的播放时刻控制方法及装置,能够基于互联网视频直播需求对视频直播内容进行时刻控制。
本发明实施例提供了一种面向互联网视频直播的播放时刻控制方法,主要处理步骤包括:
步骤S1:获取视频直播内容的播放时刻调节策略S及视频直播内容的传输链路的传输状态ST,其中视频直播内容中包含一个或多个音视频码流;
上述视频直播内容,包含一个或多个不同码率的音视频码流,其中音视频码流可以是一个音视频码流或是一个纯视频流或是一个纯音频流。
上述视频直播内容的传输链路的传输状态ST包含一个或多个传输节点内部数据缓冲,还包含一个或多个相邻传输节点之间的传输数据缓冲。其中,传输节点可以包含视频流媒体系统、分发系统、视频编码系统、用户播放系统等多种类型。一个视频直播内容,存在着多个不同的传输链路。
步骤S2:依据S及ST,选择并修改传输的音视频码流。
在S2执行中,依据服务端与用户播放端之间采用的视频传输协议,将数据进行封装处理并输出。更进一步:若数据已有某种封装格式,且与该传输协议不匹配,则将数据进行封装转换处理。
本发明中,根据视频直播内容的播放时刻调节策略S及传输状态ST,从视频直播内容中选择音视频码流并进行修改,使用户播放端的视频直播内容的播放时刻延迟或提前,从而实现对用户播放端视频直播内容的直播时刻的控制。
步骤S2中,选择并修改传输的音视频码流,包括:
音视频流选择操作,其中,随播放请求的播放时间推移,从视频直播内容中选择相同或不同码率的音视频码流;
本发明中,通过在播放过程中从视频直播内容中选择相同或不同的音视频码流,可在进行播放时刻控制的同时,提升用户的播放体验。例如:在某次播放过程中的某个时刻的网络传输带宽较低,引起客户端播放停顿和延迟增大,导致播放时刻不可控,则可选择一路比当前码流码率低的码流继续播放,从而可更快进行视频传输,使播放停顿的可能性降低,使播放时刻变得可控;
音视频流修改操作,其中,对所述音视频码流,可以采用以下一种或多种数据修改方法进行修改:
增大数据的时间戳的数据修改方法fsa;
减小数据的时间戳的数据修改方法fsd;
删除数据的数据修改方法fd;
复制数据的数据修改方法fc;
增加数据对应播放时间的重新转码的数据修改方法fea;
减少数据对应播放时间的重新转码的数据修改方法fed;
调整数据排序的数据修改方法fs。
通过上述方法,可调整音视频码流的播放时刻,其中:
使用fsa方法以增大数据的时间戳,从而增大该数据的播放时刻;
使用fsd方法以减小数据的时间戳,从而减小该数据的播放时刻;
使用fd方法删除数据,使可播放的数据减少,从而减小后续数据的播放时刻;
使用fc方法复制数据,使可播放的数据增加,从而增大后续数据的播放时刻;
使用fea方法重新转码并增加数据对应播放时间,从而增加后续数据的播放时刻;
使用fed方法重新转码并减少数据对应播放时间,从而减小后续数据的播放时刻;
使用fs方法对数据进行重新排序,以保持数据时间戳递增。
对音视频码流进行修改时,所采用的修改方法在一个传输节点上实现,或在多个传输节点上分别实现修改的一部分。
当用户播放端采用分片传输协议播放一个视频直播内容,且该用户播放端对该视频直播内容的分片数据获取请求所请求的分片数据,采用了所述音视频流修改操作时,该方法中还包括:记录当前分片数据获取请求所请求的分片数据的时间戳的修正幅度,并利用该修正幅度去修正同一用户播放端对同一个视频直播内容的后续分片数据获取请求所请求的分片数据的时间戳。
用户播放端所采用的分片传输协议可以包括HLS、HDS及MPEG-DASH等传输协议。
对于同一个用户播放端对同一个视频直播内容的分片数据获取请求,保证顺序的分片数据之间的时间戳是连续的。
本发明实施例的时刻控制方法中,当接收到多个分片数据获取请求时,采用cookie或URL中包含的特定标记或HTTP协议中包含的特定标记或所述多个分片数据获取请求是否在一个HTTPKeep-Alive的长连接中来判断多个分片数据获取请求是否来自同一个用户播放端对同一个视频直播内容的分片数据获取请求。
当用户播放端采用分片传输协议时,针对不同用户,采用与播放时刻调节策略S、传输状态ST相适应的分片策略,其中分片策略包括切片的起止位置及切片索引文件的构成。
不同用户,为其设置不同的第一个切片的开始时间、切片时长,且后续的切片时长还依据S、ST动态调整。S要求的延迟较大时,切片时长可较大,S要求的延迟较小时,切片时长可较小。ST中用户端的数据缓冲较小时,可增加当前切片的时长。不同用户由此具有不同的切片索引文件。
对于同一个视频直播内容,不同的用户播放端采用相同或不同的播放时刻调节策略S。
在时刻调节策略S中包含视频直播内容的延迟模式,其中延迟模式为低延迟模式LD或同步延迟模式FD。
延迟模式为LD时,在时刻调节策略S中包含延迟参量DL和/或CB,其中,所述DL为最低延迟,所述CB为用户播放端初始缓冲区大小。
延迟模式为FD时,在时刻调节策略S中包含延迟参量DF,其中,所述DF为直播延迟所趋近的目标值。
当直播需求为低延迟播放需求时,预测用户播放端的播放发生停顿的可能性;依据可能性的预测结果,对S中的延迟参量进行修改。
本发明中,依据可能性的预测结果,对S中的延迟参量进行修改,可采用如下一种或多种方法的组合:
判断可能性是否满足第一预设条件,其中第一预设条件为判断用户播放端发生停顿的可能性是否为大可能性的判断条件,如果是,则增加DL;
判断可能性是否满足第二预设条件,其中第二预设条件为判断用户播放端发生停顿的可能性是否为小可能性的判断条件,如果是,则降低DL;
判断可能性是否满足第三预设条件,其中第三预设条件为判断用户播放端发生停顿的可能性是否为大可能性的判断条件,如果是,则增加CB;
判断可能性是否满足第四预设条件,其中第四预设条件为判断用户播放端发生停顿的可能性是否为小可能性的判断条件,如果是,则降低CB。
本发明中,判断用户播放端发生停顿的可能性是否满足第一预设条件,可以采用如下一种或几种方法的组合:
判断在监测时间段内用户播放端的播放发生停顿的次数是否大于设定的第一数值;
判断在监测时间段内用户播放端的播放发生停顿的次数的加权统计是否大于设定的第二数值,当前时刻与停顿时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区低于第一设定阈值的次数是否大于设定的第三数值;
判断在监测时间段内用户播放端的缓冲区低于第二设定阈值的次数的加权统计是否大于设定的第四数值,当前时刻与用户播放端的缓冲区低于第二设定阈值的时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区平均数值是否低于设定的第五数值。
本发明中,判断用户播放端发生停顿的可能性是否满足第二预设条件,可以采用如下一种或几种方法的组合:
判断在监测时间段内用户播放端的播放发生停顿的次数是否小于设定的第六数值;
判断在监测时间段内用户播放端的播放发生停顿的次数的加权统计是否小于设定的第七数值,当前时刻与停顿时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区低于第三设定阈值的次数是否小于设定的第八数值;
判断在监测时间段内用户播放端的缓冲区低于第四设定阈值的次数的加权统计是否小于设定的第九数值,当前时刻与用户播放端的缓冲区低于第四设定阈值的时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区平均数值是否大于设定的第十数值。
本发明中,判断用户播放端发生停顿的可能性是否满足第三预设条件,可以采用如下一种或几种方法的组合:
判断在监测时间段内用户播放端的播放发生停顿的次数是否大于设定的第十一数值;
判断在监测时间段内用户播放端的播放发生停顿的次数的加权统计是否大于设定的第十二数值,当前时刻与停顿时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区低于第五设定阈值的次数是否大于设定的第十三数值;
判断在监测时间段内用户播放端的缓冲区低于第六设定阈值的次数的加权统计是否大于设定的第十四数值,当前时刻与用户播放端的缓冲区低于第六设定阈值的时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区平均数值是否低于设定的第十五数值。
本发明中,判断用户播放端发生停顿的可能性是否满足第四预设条件,可以采用如下一种或几种方法的组合:
判断在监测时间段内用户播放端的播放发生停顿的次数是否小于设定的第十六数值;
判断在监测时间段内用户播放端的播放发生停顿的次数的加权统计是否小于设定的第十七数值,当前时刻与停顿时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区低于第七设定阈值的次数是否小于设定的第十八数值;
判断在监测时间段内用户播放端的缓冲区低于第八设定阈值的次数的加权统计是否小于设定的第十九数值,当前时刻与用户播放端的缓冲区低于第八设定阈值的时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区平均数值是否大于设定的第二十数值。
本发明中,依据S及ST,选择并修改传输的所述音视频码流,包括:
依据所述ST确定当前传输的总延迟DN;
依据所述S及所述DN,选择所述音视频码流;
依据所述S及所述DN,修改所述音视频码流。
其中,依据S及DN,修改音视频码流,包括:
当S中的延迟模式为LD,且DN>DL时,采用以下修改方法中的一种或多种:fsd、fd、fs、fed;
当S中的延迟模式为FD,且DN>DF时,采用以下修改方法中的一种或多种:fsd、fd、fs、fed;
当S中的延迟模式为FD,且DN<DF时,采用以下修改方法中的一种或多种:fsa、fc、fs、fea。
依据S及DN,选择所述音视频码流,包括:当用户播放端改变播放码率时,依据该用户播放端的直播需求、当前总的传输延迟DN、当前选择的音视频码流的码率及用户播放端欲更改的码率,改变当前所选择的音视频码流。
改变当前所选择的音视频码流,包括:当S中的延迟模式为LD且S包含最低延迟DL时,若DN<=DL,且在目标监测时间段内用户播放端停顿可能性小于预设的第一停顿阈值,且存在比Ox码率更高的Oi,则令Ox=Oi;当S中的延迟模式为FD时,若DN<=DF,且在目标监测时间段内用户播放端的停顿可能性小于预设的第二停顿阈值,且存在比当前Ox码率更高的Oi,则令Ox=Oi;当S中的延迟模式为LD时,若在目标监测时间段内用户播放端的停顿可能性大于或等于预设的第三停顿阈值,且存在比当前Ox码率更低的Oi,则令Ox=Oi;当S中的延迟模式为FD时,若在目标监测时间段内用户播放端的停顿可能性大于或等于预设的第四停顿阈值,且存在比当前Ox码率更低的Oi,则令Ox=Oi;其中,Ox为当前所选择的码流,Oi为直播内容中的一个除Ox码流外的码流。
播放端选择改变播放码率时:若播放端选择比当前播放码流的码率低的码流,则从视频直播内容中选择一个比当前音视频流Ox码率低的音视频流;若播放端选择比当前播放码流的码率高的码流,则从视频直播内容中选择一个比当前音视频流Ox码率高的音视频流;若播放端给出所希望码率,则从视频直播内容中选择一个与的希望码率一致或接近的音视频流。
上述步骤中,依据ST得到当前传输的延迟DN,可采用如下一种或多种方法的组合:
通过缓存在传输节点内数据的时间戳差值获取传输节点内的数据传输延迟;
将相邻节点间的传输通道内传输的数据量除以当前传输数据的平均带宽以获取相邻节点间的传输通道内的数据传输延迟。
在步骤S2中,选择的音视频码流为不同码流,且采用了所述音视频流修改操作时,该方法还包括:记录当前音视频码流的时间戳修正幅度,并利用当前音视频码流的时间戳修正幅度去修正要选择的目标音视频码流的时间戳,由此使得音视频流选择操作前后的数据的时间戳是连续的。
本发明采用fd修改方法对所述音视频码流进行修改时,fd修改方法可以包含如下一种或多种方法的组合:
设置可连续删除的最大删除数据标记;
设置两次连续删除数据之间的最小删除间隔标记;
设置可开始删除数据的删除起始标记;
设置可结束删除数据的删除结束标记;
设置是否可删除视频数据的第一删除标记;
设置是否可删除音频数据的第二删除标记;
设置是否可删除音频数据、视频数据之外的其它数据的第三删除标记。
其中,最大删除数据标记可包括下述一种或多种方式的组合,包括可连续删除数据的最大数据时间长度及可连续删除数据的最大数据量。
最小删除间隔标记可包括下述一种或多种方式的组合:两次连续删除数据之间的最小数据时间长度以及两次连续删除数据之间的最小数据量。
删除起始标记可包括下述一种或多种条件的组合:可开始删除数据的时间、可开始删除数据的数据类型。
删除结束标记可包括下述一种或多种条件的组合:可结束删除数据的时间、可结束删除数据的数据类型。
依据上述标记执行fd方法。
本发明采用fc修改方法对所述音视频码流进行修改时,fc修改方法可以包含如下一种或多种方法的组合:
设置可连续复制的最大复制数据标记;
设置两次连续复制数据之间的最小复制间隔标记;
设置可开始复制数据的复制起始标记;
设置可结束复制数据的复制结束标记;
设置是否可复制视频数据的第一复制标记;
设置是否可复制音频数据的第二复制标记;
设置是否可复制音频数据、视频数据之外的其它数据的第三复制标记。
其中,最大复制数据标记可包括下述一种或多种方式的组合:可连续复制数据的最大数据时间长度及可连续复制数据的最大数据量。
最小复制间隔标记可包括下述一种或多种方式的组合:两次连续复制数据之间的最小数据时间长度及两次连续复制数据之间的最小数据量。
复制起始标记可包括下述一种或多种条件的组合:可开始复制数据的时间及可开始复制数据的数据类型。
复制结束标记可包括下述一种或多种条件的组合:可结束复制数据的时间及可结束复制数据的数据类型。
依据上述标记执行fc方法。
本发明采用fea修改方法对所述音视频码流进行修改时,fea方法可以包含如下一种或多种方法的组合:
对音视频码流中的音频数据进行转码,包括:对音频数据进行解码得到未压缩的音频数据;对未压缩的音频数据进行补零、复制、插值或利用N个音频采样数据构造N+Ma个音频采样数据的处理;对处理后的未压缩音频数据进行编码;
对音视频码流中的视频数据进行转码,包括:对视频数据进行解码得到未压缩的视频数据;对未压缩的视频数据进行复制帧、线性或非线性插值构造插入帧、插入纯色帧或静态帧、插入循环帧序列、利用N帧视频数据来构造N+Mv帧视频数据的处理;对处理后的未压缩视频数据进行编码;
本发明中,采用fed修改方法对所述音视频码流进行修改时,fed修改方法可以包含如下一种或多种方法的组合:
对音视频码流中的音频数据进行转码,包括:对音频数据进行解码得到未压缩的音频数据;对未压缩的音频数据进行删减或利用N个音频采样数据来构造N-Ma’个音频采样数据的处理;对处理后的未压缩音频数据进行编码;
对音视频码流中的视频数据进行转码包括:对视频数据进行解码得到未压缩的视频数据;对未压缩的视频数据进行删减或利用N帧视频数据来构造N-Mv’帧视频数据的处理;对处理后的未压缩视频数据进行编码。
本发明实施例中还提供了一种面向互联网视频直播的播放时刻控制装置,该装置包括:
获取模块,用于获取视频直播内容的播放时刻调节策略S及视频直播内容的传输链路的传输状态ST,其中视频直播内容中包含一个或多个音视频码流;
选择修改模块,用于依据S及ST,选择并修改传输的音视频码流。
选择修改模块,包括:选择模块,用于音视频流选择操作,其中,随播放请求的播放时间推移,从视频直播内容中选择相同或不同码率的音视频码流。
选择修改模块,包括:码流修改模块,用于音视频流修改操作,其中,对音视频码流,采用以下一种或多种数据修改方法进行修改:
增大数据的时间戳的数据修改方法fsa;
减小数据的时间戳的数据修改方法fsd;
删除数据的数据修改方法fd;
复制数据的数据修改方法fc;
增加数据对应播放时间的重新转码的数据修改方法fea;
减少数据对应播放时间的重新转码的数据修改方法fed;
数据排序的数据修改方法fs。
码流修改模块,包括:第一修正模块,用于当用户播放端采用分片传输协议播放一个视频直播内容,且该用户播放端对该视频直播内容的分片数据获取请求所请求的分片数据,采用了所述音视频流修改操作时,记录当前分片数据获取请求所请求的分片数据的时间戳的修正幅度,并利用该修正幅度去修正同一用户播放端对同一个视频直播内容的后续分片数据获取请求所请求的分片数据的时间戳。
码流修改模块还包括:第一判断模块,用于当接收到多个分片数据获取请求时,采用cookie或URL中包含的特定标记或HTTP协议中包含的特定标记或所述多个分片数据获取请求是否在一个HTTP Keep-Alive的长连接中来判断多个分片数据获取请求是否来自同一个用户播放端对同一个视频直播内容的分片数据获取请求。
选择模块,还用于当用户播放端采用分片传输协议时,针对不同用户,选择与播放时刻调节策略S、传输状态ST相适应的分片策略,其中分片策略包括切片的起止位置及切片索引文件的构成。
获取模块,包括:延迟模式子模块,用于获取S中包含的视频直播内容的延迟模式,其中延迟模式为低延迟模式LD或同步延迟模式FD。
延迟模式子模块,还用于延迟模式为LD时,获取S中包括的延迟参量:最低延迟DL和/或用户播放端初始缓冲区大小CB。
延迟模式子模块,还用于延迟模式为FD时,获取S中包含的延迟参量:直播延迟所趋近的目标值DF。
选择修改模块还包括:延迟参量修改模块,用于当直播需求为低延迟播放需求时,预测用户播放端的播放发生停顿的可能性;依据可能性的预测结果,对S中的延迟参量进行修改。
延迟参量修改模块,包括:
第二判断模块,用于判断可能性是否满足第一预设条件,其中第一预设条件为判断用户播放端发生停顿的可能性是否为大可能性的判断条件;延迟参量修改子模块,用于当可能性满足第一预设条件时,增加DL;
第二判断模块,还用于判断可能性是否满足第二预设条件,其中第二预设条件为判断用户播放端发生停顿的可能性是否为小可能性的判断条件;延迟参量修改子模块,还用于,当可能性满足第二预设条件时,降低DL;
第二判断模块,还用于判断可能性是否满足第三预设条件,其中第三预设条件为判断用户播放端发生停顿的可能性是否为大可能性的判断条件;延迟参量修改子模块,还用于当可能性满足第三预设条件时,增加CB;
第二判断模块,还用于判断可能性是否满足第四预设条件,其中第四预设条件为判断用户播放端发生停顿的可能性是否为小可能性的判断条件;延迟参量修改子模块,还用于当可能性满足第四预设条件时,降低CB。
选择修改模块,还包括:总延迟确定模块,用于依据ST确定当前传输的总延迟DN;
选择模块21,还包括:选择子模块,用于依据S及DN,选择所述音视频码流;
码流修改模块22,还包括:修改子模块,用于依据S及DN,修改所述音视频码流。
修改子模块,包括:第一修改单元、第二修改单元及第三修改单元,其中,第一修改单元,用于当S中的延迟模式为LD,且DN>DL时,采用以下修改方法中的一种或多种:fsd、fd、fs、fed;
第二修改单元,用于当S中的延迟模式为FD,且DN>DF时,采用以下修改方法中的一种或多种:fsd、fd、fs、fed;
第三修改单元,用于当S中的延迟模式为FD,且DN<DF时,采用以下修改方法中的一种或多种:fsa、fc、fs、fea。
选择子模块,包括:选择单元,用于当用户播放端改变播放码率时,依据该用户播放端的直播需求、当前总的传输延迟DN、当前选择的音视频码流的码率及用户播放端欲更改的码率,改变当前选择的音视频码流。
本发明实施例提供的面向互联网视频直播的播放时刻控制方法及装置,依据视频直播内容的播放时刻调节策略S及传输链路的传输状态ST,从视频直播内容中选择音视频码流并进行修改,从而实现对视频直播内容播放时刻的控制。
本发明实施例的该种播放时刻控制方法是一种面向互联网直播的动态全链路播放时刻控制方法,该方法采用动态和自适应的播放时刻控制机制,能够实现视频直播内容的低延迟和同步延迟等多种延迟控制;并且该方法支持互联网直播的多种主流协议,包括面向长连接的流传输协议和OTT业务中广泛采用的分片协议,并可和多码率技术相结合,在进行延迟控制的同时保证用户的收看体验。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例中面向互联网视频直播的播放时刻控制方法的流程图;
图2示出了本发明实施例中面向互联网视频直播的播放时刻控制装置的一种结构示意图;
图3示出了本发明实施例中面向互联网视频直播的播放时刻控制装置的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种面向互联网视频直播的播放时刻控制方法,如图1所示,主要处理步骤包括:
步骤S1:获取视频直播内容的播放时刻调节策略S及视频直播内容的传输链路的传输状态ST,其中视频直播内容中包含一个或多个音视频码流;
上述视频直播内容,包含一个或多个不同码率的音视频码流,其中音视频码流可以是一个音视频码流或是一个纯视频流或是一个纯音频流。
上述音视频码流可以根据实际需要进行配置。本发明中还进一步提供了音视频码流的一种具体编码参数配置方式,包括:音视频码流可采用H.264编码器,对一个输入源,配置为H.264的多码率编码输出模式,带宽分别为600Kbps、400Kbps和250Kbps,输出分辨率均设置为480*360。编码时,设置对同一内容的不同码流的视频帧类型与时间戳一致,关键帧最大间隔为2000ms。
上述视频直播内容的传输链路的传输状态ST包含一个或多个传输节点内部数据缓冲,还包含一个或多个相邻传输节点之间的传输数据缓冲。其中,传输节点可以包含视频流媒体系统、分发系统、视频编码系统、用户播放系统等多种类型。一个视频直播内容,存在着多个不同的传输链路。
例如:用户播放终端为iphone5s或PC上的flash player,当用户访问一个CDN系统获取视频直播内容的传输链路为:CDN包含两级传输节点:1个1级节点,多个2级节点。编码器向CDN的1级节点推送直播流,即视频码流首先进入1级节点,2级节点以“拉”模式从1级节点获取视频流。
获取播放时刻调节策略S的方法,可采用预先设置的方式,或从播放端的访问请求中进行提取,如:播放端可在访问视频直播内容的URL中携带表示播放时刻调节策略的参数。
步骤S2:依据S及ST,选择并修改传输的音视频码流。
在S2执行中,依据服务端与用户播放端之间采用的视频传输协议,将数据进行封装处理并输出。更进一步:若数据已有某种封装格式,且与该传输协议不匹配,则将数据进行封装转换处理。
本发明中,根据视频直播内容的播放时刻调节策略S及传输状态ST,从视频直播内容中选择音视频码流并进行修改,使用户播放端的视频直播内容的播放时刻延迟或提前,从而实现对用户播放端视频直播内容的直播时刻的控制。
步骤S2中,选择并修改传输的音视频码流,包括:音视频流选择操作和音视频流修改操作。
其中,音视频流选择操作包括随播放请求的播放时间推移,从视频直播内容中选择相同或不同码率的音视频码流;
本发明中,通过在播放过程中从视频直播内容中选择相同或不同的音视频码流,可在进行播放时刻控制的同时,提升用户的播放体验。例如:在某次播放过程中的某个时刻的网络传输带宽较低,引起客户端播放停顿和延迟增大,导致播放时刻不可控,则可选择一路比当前码流码率低的码流继续播放,从而可更快进行视频传输,使播放停顿的可能性降低,使播放时刻变得可控;
音视频流修改操作包括对所述音视频码流,可以采用以下一种或多种数据修改方法进行修改:
增大数据的时间戳的数据修改方法fsa;
减小数据的时间戳的数据修改方法fsd;
删除数据的数据修改方法fd;
复制数据的数据修改方法fc;
增加数据对应播放时间的重新转码的数据修改方法fea;
减少数据对应播放时间的重新转码的数据修改方法fed;
调整数据排序的数据修改方法fs。
通过上述方法,可调整音视频码流的播放时刻,其中:
使用fsa方法以增大数据的时间戳,从而增大该数据的播放时刻;
使用fsd方法以减小数据的时间戳,从而减小该数据的播放时刻;
使用fd方法删除数据,使可播放的数据减少,从而减小后续数据的播放时刻;
使用fc方法复制数据,使可播放的数据增加,从而增大后续数据的播放时刻;
使用fea方法重新转码并增加数据对应播放时间,从而增加后续数据的播放时刻;
使用fed方法重新转码并减少数据对应播放时间,从而减小后续数据的播放时刻;
使用fs方法对数据进行重新排序,以保持数据时间戳递增。
对所述音视频码流进行修改时,所采用的修改方法在一个传输节点上实现,或在多个传输节点上分别实现修改的一部分。
当用户播放端采用分片传输协议播放一个视频直播内容,且该用户播放端对该视频直播内容的分片数据获取请求所请求的分片数据,采用了所述音视频流修改操作时,该方法中还包括:记录当前分片数据获取请求所请求的分片数据的时间戳的修正幅度,并利用该修正幅度去修正同一用户播放端对同一个视频直播内容的后续分片数据获取请求所请求的分片数据的时间戳。
用户播放端所采用的分片传输协议可以包括HLS、HDS及MPEG-DASH等传输协议。
对于同一个用户播放端对同一个视频直播内容的分片数据获取请求,保证顺序的分片数据之间的时间戳是连续的。
本发明实施例的时刻控制方法中,当接收到多个分片数据获取请求时,采用cookie或URL中包含的特定标记或HTTP协议中包含的特定标记或所述多个分片数据获取请求是否在一个HTTPKeep-Alive的长连接中来判断多个分片数据获取请求是否来自同一个用户播放端对同一个视频直播内容的分片数据获取请求。
用户利用iphone5s终端通过Safari浏览器,访问直播页面,直播页面采用HTML5video播放控件,包含1个指向CDN2级节点的与该直播内容对应的m3u8地址,且该m3u8地址包含“?userid=testusera”后缀,testusera标识该终端。
M3u8所包含的TS切片的URL也将包含“?userid=testusera”后缀。
接收后续m3u8和TS切片请求时,通过userid的value,可知道是哪一个终端发送的请求,进而得知用户的历史信息。
当用户播放端采用分片传输协议时,针对不同用户,采用与播放时刻调节策略S、传输状态ST相适应的分片策略,其中分片策略包括切片的起止位置及切片索引文件的构成。
不同用户,为其设置不同的第一个切片的开始时间、切片时长,且后续的切片时长还依据S、ST动态调整。S要求的延迟较大时,切片时长可较大,S要求的延迟较小时,切片时长可较小。ST中用户端的数据缓冲较小时,可增加当前切片的时长。不同用户由此具有不同的切片索引文件。
对于同一个视频直播内容,不同的用户播放端采用相同或不同的播放时刻调节策略S。
在时刻调节策略S中包含视频直播内容的延迟模式,其中延迟模式为低延迟模式LD或同步延迟模式FD。
延迟模式为LD时,在时刻调节策略S中包含延迟参量DL和/或CB,其中,所述DL为最低延迟,所述CB为用户播放端初始缓冲区大小。
延迟模式为FD时,在时刻调节策略S中包含延迟参量DF,其中,所述DF为直播延迟所趋近的目标值。
当直播需求为低延迟播放需求时,预测用户播放端的播放发生停顿的可能性;依据可能性的预测结果,对S中的延迟参量进行修改。
采用flash player作为用户播放端时,可通过设置NetStream类的bufferTime属性,实现对用户播放端的CB进行设置。
本发明中,依据可能性的预测结果,对S中的延迟参量进行修改,可采用如下一种或多种方法的组合:
判断可能性是否满足第一预设条件,其中第一预设条件为判断用户播放端发生停顿的可能性是否为大可能性的判断条件,如果是,则增加DL;
判断可能性是否满足第二预设条件,其中第二预设条件为判断用户播放端发生停顿的可能性是否为小可能性的判断条件,如果是,则降低DL;
判断可能性是否满足第三预设条件,其中第三预设条件为判断用户播放端发生停顿的可能性是否为大可能性的判断条件,如果是,则增加CB;
判断可能性是否满足第四预设条件,其中第四预设条件为判断用户播放端发生停顿的可能性是否为小可能性的判断条件,如果是,则降低CB。
本发明中,判断用户播放端发生停顿的可能性是否满足第一预设条件,可以采用如下一种或几种方法的组合:
判断在监测时间段内用户播放端的播放发生停顿的次数是否大于设定的第一数值;
判断在监测时间段内用户播放端的播放发生停顿的次数的加权统计是否大于设定的第二数值,当前时刻与停顿时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区低于第一设定阈值的次数是否大于设定的第三数值;
判断在监测时间段内用户播放端的缓冲区低于第二设定阈值的次数的加权统计是否大于设定的第四数值,当前时刻与用户播放端的缓冲区低于第二设定阈值的时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区平均数值是否低于设定的第五数值。
本发明中,判断用户播放端发生停顿的可能性是否满足第二预设条件,可以采用如下一种或几种方法的组合:
判断在监测时间段内用户播放端的播放发生停顿的次数是否小于设定的第六数值;
判断在监测时间段内用户播放端的播放发生停顿的次数的加权统计是否小于设定的第七数值,当前时刻与停顿时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区低于第三设定阈值的次数是否小于设定的第八数值;
判断在监测时间段内用户播放端的缓冲区低于第四设定阈值的次数的加权统计是否小于设定的第九数值,当前时刻与用户播放端的缓冲区低于第四设定阈值的时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区平均数值是否大于设定的第十数值。
本发明中,判断用户播放端发生停顿的可能性是否满足第三预设条件,可以采用如下一种或几种方法的组合:
判断在监测时间段内用户播放端的播放发生停顿的次数是否大于设定的第十一数值;
判断在监测时间段内用户播放端的播放发生停顿的次数的加权统计是否大于设定的第十二数值,当前时刻与停顿时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区低于第五设定阈值的次数是否大于设定的第十三数值;
判断在监测时间段内用户播放端的缓冲区低于第六设定阈值的次数的加权统计是否大于设定的第十四数值,当前时刻与用户播放端的缓冲区低于第六设定阈值的时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区平均数值是否低于设定的第十五数值。
本发明中,判断用户播放端发生停顿的可能性是否满足第四预设条件,可以采用如下一种或几种方法的组合:
判断在监测时间段内用户播放端的播放发生停顿的次数是否小于设定的第十六数值;
判断在监测时间段内用户播放端的播放发生停顿的次数的加权统计是否小于设定的第十七数值,当前时刻与停顿时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区低于第七设定阈值的次数是否小于设定的第十八数值;
判断在监测时间段内用户播放端的缓冲区低于第八设定阈值的次数的加权统计是否小于设定的第十九数值,当前时刻与用户播放端的缓冲区低于第八设定阈值的时刻的差值越小,则权重越大;
判断在监测时间段内用户播放端的缓冲区平均数值是否大于设定的第二十数值。
本发明中,依据S及ST,选择并修改传输的所述音视频码流,包括:
依据所述ST确定当前传输的总延迟DN;
依据所述S及所述DN,选择所述音视频码流;
依据所述S及所述DN,修改所述音视频码流。
其中,依据S及DN,修改音视频码流,包括:
当S中的延迟模式为LD,且DN>DL时,采用以下修改方法中的一种或多种:fsd、fd、fs、fed;
当S中的延迟模式为FD,且DN>DF时,采用以下修改方法中的一种或多种:fsd、fd、fs、fed;
当S中的延迟模式为FD,且DN<DF时,采用以下修改方法中的一种或多种:fsa、fc、fs、fea。
依据S及DN,选择所述音视频码流,包括:当用户播放端改变播放码率时,依据该用户播放端的直播需求、当前总的传输延迟DN、当前选择的音视频码流的码率及用户播放端欲更改的码率,改变当前所选择的音视频码流。
改变当前所选择的音视频码流,包括:当S中的延迟模式为LD且S包含最低延迟DL时,若DN<=DL,且在目标监测时间段内用户播放端停顿可能性小于预设的第一停顿阈值,且存在比Ox码率更高的Oi,则令Ox=Oi;当S中的延迟模式为FD时,若DN<=DF,且在目标监测时间段内用户播放端的停顿可能性小于预设的第二停顿阈值,且存在比当前Ox码率更高的Oi,则令Ox=Oi;当S中的延迟模式为LD时,若在目标监测时间段内用户播放端的停顿可能性大于或等于预设的第三停顿阈值,且存在比当前Ox码率更低的Oi,则令Ox=Oi;当S中的延迟模式为FD时,若在目标监测时间段内用户播放端的停顿可能性大于或等于预设的第四停顿阈值,且存在比当前Ox码率更低的Oi,则令Ox=Oi;其中,Ox为当前所选择的码流,Oi为直播内容中的一个除Ox码流外的码流。
播放端选择改变播放码率时:若播放端选择比当前播放码流的码率低的码流,则从视频直播内容中选择一个比当前音视频流Ox码率低的音视频流;若播放端选择比当前播放码流的码率高的码流,则从视频直播内容中选择一个比当前音视频流Ox码率高的音视频流;若播放端给出所希望码率,则从视频直播内容中选择一个与的希望码率一致或接近的音视频流。
上述步骤中,依据ST得到当前传输的延迟DN,可采用如下一种或多种方法的组合:
通过缓存在传输节点内数据的时间戳差值获取传输节点内的数据传输延迟;
将相邻节点间的传输通道内传输的数据量除以当前传输数据的平均带宽以获取相邻节点间的传输通道内的数据传输延迟。
在步骤S2中,选择的音视频码流为不同码流,且采用了所述音视频流修改操作时,该方法还包括:记录当前音视频码流的时间戳修正幅度,并利用当前音视频码流的时间戳修正幅度去修正要选择的目标音视频码流的时间戳,由此使得音视频流选择操作前后的数据的时间戳是连续的。
本发明采用fd修改方法对所述音视频码流进行修改时,fd修改方法可以包含如下一种或多种方法的组合:
设置可连续删除的最大删除数据标记;
设置两次连续删除数据之间的最小删除间隔标记;
设置可开始删除数据的删除起始标记;
设置可结束删除数据的删除结束标记;
设置是否可删除视频数据的第一删除标记;
设置是否可删除音频数据的第二删除标记;
设置是否可删除音频数据、视频数据之外的其它数据的第三删除标记。
其中,最大删除数据标记可包括下述一种或多种方式的组合,包括可连续删除数据的最大数据时间长度及可连续删除数据的最大数据量。
最小删除间隔标记可包括下述一种或多种方式的组合:两次连续删除数据之间的最小数据时间长度以及两次连续删除数据之间的最小数据量。
删除起始标记可包括下述一种或多种条件的组合:
可开始删除数据的时间,例如可从任意完整视频帧或音频数据包的开始删除数据;
可开始删除数据的数据类型,例如可从视频关键帧的结束处开始删除数据。
删除结束标记可包括下述一种或多种条件的组合:可结束删除数据的时间、可结束删除数据的数据类型。
依据上述标记执行fd方法。
本发明采用fc修改方法对所述音视频码流进行修改时,fc修改方法可以包含如下一种或多种方法的组合:
设置可连续复制的最大复制数据标记;
设置两次连续复制数据之间的最小复制间隔标记;
设置可开始复制数据的复制起始标记;
设置可结束复制数据的复制结束标记;
设置是否可复制视频数据的第一复制标记;
设置是否可复制音频数据的第二复制标记;
设置是否可复制音频数据、视频数据之外的其它数据的第三复制标记。
其中,最大复制数据标记可包括下述一种或多种方式的组合:可连续复制数据的最大数据时间长度及可连续复制数据的最大数据量。
最小复制间隔标记可包括下述一种或多种方式的组合:两次连续复制数据之间的最小数据时间长度及两次连续复制数据之间的最小数据量。
复制起始标记可包括下述一种或多种条件的组合:可开始复制数据的时间及可开始复制数据的数据类型。
复制结束标记可包括下述一种或多种条件的组合:可结束复制数据的时间及可结束复制数据的数据类型。
依据上述标记执行fc方法。
本发明采用fea修改方法对所述音视频码流进行修改时,fea方法可以包含如下一种或多种方法的组合:
对音视频码流中的音频数据进行转码,包括:对音频数据进行解码得到未压缩的音频数据;对未压缩的音频数据进行补零、复制、插值或利用N个音频采样数据构造N+Ma个音频采样数据的处理;对处理后的未压缩音频数据进行编码;
对音视频码流中的视频数据进行转码,包括:对视频数据进行解码得到未压缩的视频数据;对未压缩的视频数据进行复制帧、线性或非线性插值构造插入帧、插入纯色帧或静态帧、插入循环帧序列、利用N帧视频数据来构造N+Mv帧视频数据的处理;对处理后的未压缩视频数据进行编码;
本发明中,采用fed修改方法对所述音视频码流进行修改时,fed修改方法可以包含如下一种或多种方法的组合:
对音视频码流中的音频数据进行转码,包括:对音频数据进行解码得到未压缩的音频数据;对未压缩的音频数据进行删减或利用N个音频采样数据来构造N-Ma’个音频采样数据的处理;对处理后的未压缩音频数据进行编码;
对音视频码流中的视频数据进行转码,包括:对视频数据进行解码得到未压缩的视频数据;对未压缩的视频数据进行删减或利用N帧视频数据来构造N-Mv’帧视频数据的处理;对处理后的未压缩视频数据进行编码。
在一实施例中,如果采用LD模式,用户终端为flash player,采用RTMP协议时,需要降低延迟时,可采用数据修改方法:fsd、fd、fs。
在执行fsd时,可进一步采用如下方法:
对一帧音频或视频数据,设置降低时间戳所导致的该帧数据对应的播放时长的最大降幅为d1,d1可为10ms;
在降低音频或视频数据时间戳时,设置降低后相邻的视频数据与音频数据之间的差值与原差值的最大偏差为d2,d2可为40ms。
对于fd,可采用如下具体参数:
设置可连续删除的最大数据标记时,可设置可连续删除的最大数据时间长度为1000ms,或设置可连续删除的最大数据量为10帧;
设置两次连续删除数据之间的最小删除间隔标记时,可设置两次连续删除数据之间的最小数据时间长度为4000ms,或设置两次连续删除数据之间的最小数据量为40帧;
设置可开始删除数据的删除起始标记时,可设置从任意完整视频帧或音频数据包的开始删除数据,或设置可从视频关键帧结束开始删除数据;
设置可结束删除数据的删除结束标记时,可设置从任意完整视频帧或音频数据包的结束位置结束删除数据,或设置可从下一个视频关键帧之前结束删除数据;
第一删除标记可设置为可删除视频数据;
第二删除标记可设置为可删除音频数据;
第三删除标记可设置不可删除音、视频之外的其他数据。
对于fs,可采用如下具体方法:
对音视频码流中的音频数据进行排序,以消除音频数据的时间戳非递增的情况;
对音视频码流中的视频数据进行排序,以消除视频数据的时间戳非递增的情况。
在一实施例中,如果采用LD模式,用户终端为iphone,采用HLS协议时,需要降低延迟时,可采用数据修改方法:fsd、fd、fs。
在执行fsd时,可进一步采用如下方法:
对一帧音频或视频数据,设置降低时间戳所导致的该帧数据对应的播放时长的最大降幅为d3,d3可为5ms;
在降低音频或视频数据时间戳时,设置降低后相邻的视频数据与音频数据之间的差值与原差值的最大偏差为d4,d4可为20ms。
对于fd,可采用如下具体参数:
设置可连续删除的最大数据标记时,可设置可连续删除的最大数据时间长度为100ms,或设置可连续删除的最大数据量为2帧;
设置两次连续删除数据之间的最小删除间隔标记时,可设置两次连续删除数据之间的最小数据时间长度为4000ms,或设置两次连续删除数据之间的最小数据量为40帧;
设置可开始删除数据的删除起始标记时,可设置从任意完整视频帧或音频数据包的开始删除数据,或设置可从视频关键帧结束开始删除数据;
设置可结束删除数据的删除结束标记时,可设置从任意完整视频帧或音频数据包的结束位置结束删除数据,或设置可从下一个视频关键帧之前结束删除数据;
第一删除标记可设置为可删除视频数据;
第二删除标记可设置为可删除音频数据;
第三删除标记可设置不可删除音、视频之外的其他数据。
对于fs,具体方法为:
对音视频码流中的音频及视频数据进行排序,解决音频与视频数据之间的交织情况;
对音视频码流中的音频数据进行排序,以消除音频数据的时间戳非递增的情况;
对音视频码流中的视频数据进行排序,以消除视频数据的时间戳非递增的情况。
在一实施例中,如果采用FD模式,用户终端为flash player,采用RTMP协议时,需要增加延迟时,可采用数据修改方法:fsa及fs。
在执行fsa时,可进一步采用如下方法:对一帧音频或视频数据,设置增加时间戳所导致的该帧数据对应的播放时长的最大增幅为a1,a1可为10ms;在增加音频或视频数据时间戳时,设置增加后相邻的视频数据与音频数据之间的差值与原差值的最大偏差为a2,a2可为40ms。
对于fs,具体方法为:对音视频码流中的音频数据按时间戳排序,以消除音频数据的时间戳非递增的情况;对音视频码流中的视频数据按时间戳排序,以消除视频数据的时间戳非递增的情况。
本发明实施例中还提供了一种面向互联网视频直播的播放时刻控制装置,如图2所示,该装置包括:
获取模块1,用于获取视频直播内容的播放时刻调节策略S及视频直播内容的传输链路的传输状态ST,其中视频直播内容中包含一个或多个音视频码流;
选择修改模块2,用于依据S及ST,选择并修改传输的音视频码流。
选择修改模块2,包括:选择模块21,用于音视频流选择操作,其中,随播放请求的播放时间推移,从视频直播内容中选择相同或不同码率的音视频码流。
选择修改模块2,包括:码流修改模块22,用于音视频流修改操作,其中,对音视频码流,采用以下一种或多种数据修改方法进行修改:
增大数据的时间戳的数据修改方法fsa;
减小数据的时间戳的数据修改方法fsd;
删除数据的数据修改方法fd;
复制数据的数据修改方法fc;
增加数据对应播放时间的重新转码的数据修改方法fea;
减少数据对应播放时间的重新转码的数据修改方法fed;
数据排序的数据修改方法fs。
码流修改模块22,包括:第一修正模块,用于当用户播放端采用分片传输协议播放一个视频直播内容,且该用户播放端对该视频直播内容的分片数据获取请求所请求的分片数据,采用了所述音视频流修改操作时,记录当前分片数据获取请求所请求的分片数据的时间戳的修正幅度,并利用该修正幅度去修正同一用户播放端对同一个视频直播内容的后续分片数据获取请求所请求的分片数据的时间戳。
码流修改模块22还包括:第一判断模块,用于当接收到多个分片数据获取请求时,采用cookie或URL中包含的特定标记或HTTP协议中包含的特定标记或所述多个分片数据获取请求是否在一个HTTP Keep-Alive的长连接中来判断多个分片数据获取请求是否来自同一个用户播放端对同一个视频直播内容的分片数据获取请求。
选择模块21,还用于当用户播放端采用分片传输协议时,针对不同用户,选择与播放时刻调节策略S、传输状态ST相适应的分片策略,其中分片策略包括切片的起止位置及切片索引文件的构成。
获取模块1,包括:延迟模式子模块,用于获取S中包含的视频直播内容的延迟模式,其中延迟模式为低延迟模式LD或同步延迟模式FD。
延迟模式子模块,还用于延迟模式为LD时,获取S中包括的延迟参量:最低延迟DL和/或用户播放端初始缓冲区大小CB。
延迟模式子模块,还用于延迟模式为FD时,获取S中包含的延迟参量:直播延迟所趋近的目标值DF。
选择修改模块2还包括:延迟参量修改模块23,用于当直播需求为低延迟播放需求时,预测用户播放端的播放发生停顿的可能性;依据可能性的预测结果,对S中的延迟参量进行修改。
延迟参量修改模块23,包括:
第二判断模块,用于判断可能性是否满足第一预设条件,其中第一预设条件为判断用户播放端发生停顿的可能性是否为大可能性的判断条件;延迟参量修改子模块,用于当可能性满足第一预设条件时,增加DL;
第二判断模块,还用于判断可能性是否满足第二预设条件,其中第二预设条件为判断用户播放端发生停顿的可能性是否为小可能性的判断条件;延迟参量修改子模块,还用于,当可能性满足第二预设条件时,降低DL;
第二判断模块,还用于判断可能性是否满足第三预设条件,其中第三预设条件为判断用户播放端发生停顿的可能性是否为大可能性的判断条件;延迟参量修改子模块,还用于当可能性满足第三预设条件时,增加CB;
第二判断模块,还用于判断可能性是否满足第四预设条件,其中第四预设条件为判断用户播放端发生停顿的可能性是否为小可能性的判断条件;延迟参量修改子模块,还用于当可能性满足第四预设条件时,降低CB。
选择修改模块2,还包括:总延迟确定模块24,用于依据ST确定当前传输的总延迟DN;
选择模块21,还包括:选择子模块,用于依据S及DN,选择所述音视频码流;
码流修改模块22,还包括:修改子模块,用于依据S及DN,修改所述音视频码流。
修改子模块中包括:第一修改单元、第二修改单元及第三修改单元,其中,第一修改单元,用于当S中的延迟模式为LD,且DN>DL时,采用以下修改方法中的一种或多种:fsd、fd、fs、fed;
第二修改单元,用于当S中的延迟模式为FD,且DN>DF时,采用以下修改方法中的一种或多种:fsd、fd、fs、fed;
第三修改单元,用于当S中的延迟模式为FD,且DN<DF时,采用以下修改方法中的一种或多种:fsa、fc、fs、fea。
选择子模块中包括:选择单元,用于当用户播放端改变播放码率时,依据该用户播放端的直播需求、当前总的传输延迟DN、当前选择的音视频码流的码率及用户播放端欲更改的码率,改变当前选择的音视频码流。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (32)
1.面向互联网视频直播的播放时刻控制方法,其特征在于,包括:
获取视频直播内容的播放时刻调节策略S及所述视频直播内容的传输链路的传输状态ST,其中所述视频直播内容中包含一个或多个音视频码流;
依据所述S及所述ST,选择并修改传输的所述音视频码流。
2.根据权利要求1所述的方法,其特征在于,依据所述S及所述ST,选择并修改传输的所述音视频码流,包括如下一种或两种操作的组合:
音视频流选择操作,其中,随播放请求的播放时间推移,从所述视频直播内容中选择相同或不同码率的音视频码流;
音视频流修改操作,其中,对所述音视频码流,采用以下一种或多种数据修改方法进行修改:
增大数据的时间戳的数据修改方法fsa;
减小数据的时间戳的数据修改方法fsd;
删除数据的数据修改方法fd;
复制数据的数据修改方法fc;
增加数据对应播放时间的重新转码的数据修改方法fea;
减少数据对应播放时间的重新转码的数据修改方法fed;
调整数据排序的数据修改方法fs。
3.根据权利要求2所述的方法,其特征在于,对所述音视频码流进行修改时,所述修改在一个传输节点上实现,或在多个传输节点上分别实现所述修改的一部分。
4.根据权利要求2所述的方法,其特征在于,当用户播放端采用分片传输协议播放一个视频直播内容,且该用户播放端对该视频直播内容的分片数据获取请求所请求的分片数据,采用了所述音视频流修改操作时,该方法中还包括:记录当前所述分片数据获取请求所请求的分片数据的时间戳的修正幅度,并利用该修正幅度去修正所述同一用户播放端对同一个视频直播内容的后续分片数据获取请求所请求的分片数据的时间戳。
5.根据权利要求4所述的方法,其特征在于,该方法还包括:当接收到多个分片数据获取请求时,采用cookie或URL中包含的特定标记或HTTP协议中包含的特定标记或所述多个分片数据获取请求是否在一个HTTP Keep-Alive的长连接中来判断多个所述分片数据获取请求是否来自同一个用户播放端对同一个视频直播内容的分片数据获取请求。
6.根据权利要求2所述的方法,其特征在于,当用户播放端采用分片传输协议时,针对不同用户,采用与播放时刻调节策略S、传输状态ST相适应的分片策略,其中所述分片策略包括切片的起止位置及切片索引文件的构成。
7.根据权利要求2所述的方法,其特征在于,所述S中包含所述视频直播内容的延迟模式,其中所述延迟模式为低延迟模式LD或同步延迟模式FD。
8.根据权利要求7所述的方法,其特征在于,所述延迟模式为LD时,所述S中包含延迟参量DL和/或CB,其中,所述DL为最低延迟,所述CB为用户播放端初始缓冲区大小。
9.根据权利要求8所述的方法,其特征在于,所述延迟模式为FD时,所述S中包含延迟参量DF,其中,所述DF为直播延迟所趋近的目标值。
10.根据权利要求8所述的方法,其特征在于,该方法还包括:当所述直播需求为低延迟播放需求时,预测用户播放端的播放发生停顿的可能性;依据所述可能性的预测结果,对S中的延迟参量进行修改。
11.根据权利要求10所述的方法,其特征在于,所述依据所述可能性的预测结果,对S中的延迟参量进行修改,包括如下一种或多种方法的组合:
判断所述可能性是否满足第一预设条件,其中所述第一预设条件为判断用户播放端发生停顿的可能性是否为大可能性的判断条件,如果是,则增加DL;
判断所述可能性是否满足第二预设条件,其中所述第二预设条件为判断用户播放端发生停顿的可能性是否为小可能性的判断条件,如果是,则降低DL;
判断所述可能性是否满足第三预设条件,其中所述第三预设条件为判断用户播放端发生停顿的可能性是否为大可能性的判断条件,如果是,则增加CB;
判断所述可能性的是否满足第四预设条件,其中所述第四预设条件为判断用户播放端发生停顿的可能性是否为小可能性的判断条件,如果是,则降低所述CB。
12.根据权利要求9所述的方法,其特征在于,所述依据所述S及所述ST,选择并修改传输的所述音视频码流,包括:
依据所述ST确定当前传输的总延迟DN;
依据所述S及所述DN,选择所述音视频码流;
依据所述S及所述DN,修改所述音视频码流。
13.根据权利要求12所述的方法,其特征在于,依据所述S及所述DN,修改所述音视频码流,包括:
当所述S中的延迟模式为LD,且所述DN>DL时,采用以下修改方法中的一种或多种:fsd、fd、fs、fed;
当所述S中的延迟模式为FD,且DN>DF时,采用以下修改方法中的一种或多种:fsd、fd、fs、fed;
当所述S中的延迟模式为FD,且DN<DF时,采用以下修改方法中的一种或多种:fsa、fc、fs、fea。
14.根据权利要求12所述的方法,其特征在于,依据所述S及所述DN,选择所述音视频码流,包括:当用户播放端改变播放码率时,依据该用户播放端的直播需求、当前总的传输延迟DN、当前选择的所述音视频码流的码率及用户播放端欲更改的码率,改变当前所选择的所述音视频码流。
15.根据权利要求14所述的方法,其特征在于,改变当前所选择的所述音视频码流,包括:
当S中的延迟模式为LD且S包含最低延迟DL时,若DN<=DL,且在目标监测时间段内用户播放端停顿可能性小于预设的第一停顿阈值,且存在比Ox码率更高的Oi,则令Ox=Oi;
当S中的延迟模式为FD时,若DN<=DF,且在目标监测时间段内用户播放端的停顿可能性小于预设的第二停顿阈值,且存在比当前Ox码率更高的Oi,则令Ox=Oi;
当S中的延迟模式为LD时,若在目标监测时间段内用户播放端的停顿可能性大于或等于预设的第三停顿阈值,且存在比当前Ox码率更低的Oi,则令Ox=Oi;
当S中的延迟模式为FD时,若在目标监测时间段内用户播放端的停顿可能性大于或等于预设的第四停顿阈值,且存在比当前Ox码率更低的Oi,则令Ox=Oi;
其中,Ox为当前所选择的码流,Oi为所述直播内容中的一个除Ox码流外的码流。
16.根据权利要求2所述的方法,其特征在于,选择的所述音视频码流为不同码流,且采用了所述音视频流修改操作时,该方法还包括:记录当前音视频码流的时间戳修正幅度,并利用当前所述音视频码流的所述时间戳修正幅度去修正要选择的目标音视频码流的时间戳。
17.根据权利要求2所述的方法,其特征在于,fd包含如下一种或多种方法的组合:
设置可连续删除的最大删除数据标记;
设置两次连续删除数据之间的最小删除间隔标记;
设置可开始删除数据的删除起始标记;
设置可结束删除数据的删除结束标记;
设置是否可删除视频数据的第一删除标记;
设置是否可删除音频数据的第二删除标记;
设置是否可删除音频数据、视频数据之外的其它数据的第三删除标记。
18.根据权利要求2所述的方法,其特征在于,fc包含如下一种或多种方法的组合:
设置可连续复制的最大复制数据标记;
设置两次连续复制数据之间的最小复制间隔标记;
设置可开始复制数据的复制起始标记;
设置可结束复制数据的复制结束标记;
设置是否可复制视频数据的第一复制标记;
设置是否可复制音频数据的第二复制标记;
设置是否可复制音频数据、视频数据之外的其它数据的第三复制标记。
19.根据权利要求2所述的方法,其特征在于,fea方法包含如下一种或多种方法的组合:
对所述音视频码流中的音频数据进行转码,包括:对所述音频数据进行解码得到未压缩的音频数据;对未压缩的所述音频数据进行补零、复制、插值或利用N个音频采样数据构造N+Ma个音频采样数据的处理;对所述处理后的未压缩音频数据进行编码;
对所述音视频码流中的视频数据进行转码,包括:对所述视频数据进行解码得到未压缩的视频数据;对未压缩的所述视频数据进行复制帧、线性或非线性插值构造插入帧、插入纯色帧或静态帧、插入循环帧序列、利用N帧视频数据来构造N+Mv帧视频数据的处理;对所述处理后的未压缩视频数据进行编码;
fed方法包含如下一种或多种方法的组合:
对所述音视频码流中的音频数据进行转码,包括:对所述音频数据进行解码得到未压缩的音频数据;对未压缩的所述音频数据进行删减或利用N个音频采样数据来构造N-Ma’个音频采样数据的处理;对所述处理后的未压缩音频数据进行编码;
对所述音视频码流中的视频数据进行转码包括:对所述视频数据进行解码得到未压缩的视频数据;对未压缩的视频数据进行删减或利用N帧视频数据来构造N-Mv’帧视频数据的处理;对所述处理后的未压缩视频数据进行编码。
20.面向互联网视频直播的播放时刻控制装置,其特征在于,包括:
获取模块,用于获取视频直播内容的播放时刻调节策略S及所述视频直播内容的传输链路的传输状态ST,其中所述视频直播内容中包含一个或多个音视频码流;
选择修改模块,用于依据所述S及所述ST,选择并修改传输的所述音视频码流。
21.根据权利要求20所述的装置,其特征在于,所述选择修改模块,包括:
选择模块,用于音视频流选择操作,其中,随播放请求的播放时间推移,从所述视频直播内容中选择相同或不同码率的音视频码流;
码流修改模块,用于音视频流修改操作,其中,对所述音视频码流,采用以下一种或多种数据修改方法进行修改:
增大数据的时间戳的数据修改方法fsa;
减小数据的时间戳的数据修改方法fsd;
删除数据的数据修改方法fd;
复制数据的数据修改方法fc;
增加数据对应播放时间的重新转码的数据修改方法fea;
减少数据对应播放时间的重新转码的数据修改方法fed;
数据排序的数据修改方法fs。
22.根据权利要求21所述的装置,其特征在于,所述码流修改模块,包括:第一修正模块,用于当用户播放端采用分片传输协议播放一个视频直播内容,且该用户播放端对该视频直播内容的分片数据获取请求所请求的分片数据,采用了所述音视频流修改操作时,记录当前所述分片数据获取请求所请求的分片数据的时间戳的修正幅度,并利用该修正幅度去修正所述同一用户播放端对同一个视频直播内容的后续分片数据获取请求所请求的分片数据的时间戳。
23.根据权利要求22所述的装置,其特征在于,所述码流修改模块还包括:第一判断模块,用于当接收到多个分片数据获取请求时,采用cookie或URL中包含的特定标记或HTTP协议中包含的特定标记或所述多个分片数据获取请求是否在一个HTTPKeep-Alive的长连接中来判断多个所述分片数据获取请求是否来自同一个用户播放端对同一个视频直播内容的分片数据获取请求。
24.根据权利要求21所述的装置,其特征在于,所述选择模块,还用于当用户播放端采用分片传输协议时,针对不同用户,选择与播放时刻调节策略S、传输状态ST相适应的分片策略,其中所述分片策略包括切片的起止位置及切片索引文件的构成。
25.根据权利要求21所述的装置,其特征在于,所述获取模块,包括:延迟模式子模块,用于获取所述S中包含的所述视频直播内容的延迟模式,其中所述延迟模式为低延迟模式LD或同步延迟模式FD。
26.根据权利要求25所述的装置,其特征在于,所述延迟模式子模块,还用于所述延迟模式为LD时,获取所述S中包括的延迟参量:最低延迟DL和/或用户播放端初始缓冲区大小CB。
27.根据权利要求26所述的装置,其特征在于,所述延迟模式子模块,还用于所述延迟模式为FD时,获取所述S中包括的延迟参量:直播延迟所趋近的目标值DF。
28.根据权利要求26所述的装置,其特征在于,所述选择修改模块还包括:延迟参量修改模块,用于当所述直播需求为低延迟播放需求时,预测用户播放端的播放发生停顿的可能性;依据所述可能性的预测结果,对S中的延迟参量进行修改。
29.根据权利要求28所述的装置,其特征在于,所述延迟参量修改模块,包括:
第二判断模块,用于判断所述可能性是否满足第一预设条件,其中所述第一预设条件为判断用户播放端发生停顿的可能性是否为大可能性的判断条件;延迟参量修改子模块,用于当所述可能性满足所述第一预设条件时,增加DL;
所述第二判断模块,还用于判断所述可能性是否满足第二预设条件,其中所述第二预设条件为判断用户播放端发生停顿的可能性是否为小可能性的判断条件;所述延迟参量修改子模块,还用于,当所述可能性满足第二预设条件时,降低DL;
所述第二判断模块,还用于判断所述可能性是否满足第三预设条件,其中所述第三预设条件为判断用户播放端发生停顿的可能性是否为大可能性的判断条件;所述延迟参量修改子模块,还用于当所述可能性满足第三预设条件时,增加CB;
所述第二判断模块,还用于判断所述可能性是否满足第四预设条件,其中所述第四预设条件为判断用户播放端发生停顿的可能性是否为小可能性的判断条件;所述延迟参量修改子模块,还用于当所述可能性满足第四预设条件时,降低所述CB。
30.根据权利要求27所述的装置,其特征在于,
所述选择修改模块,还包括:总延迟确定模块,用于依据所述ST确定当前传输的总延迟DN;
所述选择模块,包括:选择子模块,用于依据所述S及所述DN,选择所述音视频码流;
所述码流修改模块,包括:修改子模块,用于依据所述S及所述DN,修改所述音视频码流。
31.根据权利要求30所述的装置,其特征在于,所述修改子模块,包括:
第一修改单元,用于当所述S中的延迟模式为LD,且所述DN>DL时,采用以下修改方法中的一种或多种:fsd、fd、fs、fed;
第二修改单元,用于当所述S中的延迟模式为FD,且DN>DF时,采用以下修改方法中的一种或多种:fsd、fd、fs、fed;
第三修改单元,用于当所述S中的延迟模式为FD,且DN<DF时,采用以下修改方法中的一种或多种:fsa、fc、fs、fea。
32.根据权利要求30所述的装置,其特征在于,所述选择子模块,包括:选择单元,用于当用户播放端改变播放码率时,依据该用户播放端的直播需求、当前总的传输延迟DN、当前选择的所述音视频码流的码率及用户播放端欲更改的码率,改变当前选择的所述音视频码流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510076793.XA CN104618798B (zh) | 2015-02-12 | 2015-02-12 | 面向互联网视频直播的播放时刻控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510076793.XA CN104618798B (zh) | 2015-02-12 | 2015-02-12 | 面向互联网视频直播的播放时刻控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104618798A true CN104618798A (zh) | 2015-05-13 |
CN104618798B CN104618798B (zh) | 2016-01-20 |
Family
ID=53153041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510076793.XA Active CN104618798B (zh) | 2015-02-12 | 2015-02-12 | 面向互联网视频直播的播放时刻控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104618798B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704504A (zh) * | 2016-01-28 | 2016-06-22 | 腾讯科技(深圳)有限公司 | 视频直播中插入推送信息的方法和装置 |
CN106454388A (zh) * | 2016-09-20 | 2017-02-22 | 北京百度网讯科技有限公司 | 一种用于确定直播设置信息的方法与设备 |
CN107124668A (zh) * | 2016-01-22 | 2017-09-01 | 纳宝株式会社 | 流式传输装置及方法、流式传输服务系统及记录介质 |
CN108024126A (zh) * | 2017-11-28 | 2018-05-11 | 北京潘达互娱科技有限公司 | 网络直播视频调整方法、装置、电子设备和存储介质 |
WO2018127824A1 (en) * | 2017-01-09 | 2018-07-12 | International Business Machines Corporation | Intelligent insertion of secondary content in live streaming |
CN108605016A (zh) * | 2016-08-12 | 2018-09-28 | 华为技术有限公司 | 业务数据传输的方法、网络设备和终端设备 |
CN108737905A (zh) * | 2018-06-12 | 2018-11-02 | 中国联合网络通信集团有限公司 | 直播互动同步方法及架构、时延同步系统、视频播放器 |
CN110460790A (zh) * | 2018-05-02 | 2019-11-15 | 北京视联动力国际信息技术有限公司 | 一种视频帧的抽取方法和装置 |
CN110545452A (zh) * | 2018-05-28 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 网络直播方法、装置、终端及服务器 |
CN111031338A (zh) * | 2019-12-17 | 2020-04-17 | 杭州当虹科技股份有限公司 | 一种改善在线信源速率异常的方法 |
CN107666593B (zh) * | 2017-08-28 | 2020-04-21 | 中国电子科技集团公司第二十八研究所 | 一种波动网络环境下的视频实时传输方法 |
CN112104904A (zh) * | 2019-06-17 | 2020-12-18 | 北京我声我视科技有限公司 | 一种多用户同步观看视频和实时互动的方法和系统 |
CN112188286A (zh) * | 2020-10-09 | 2021-01-05 | 上海网达软件股份有限公司 | 一种用于直播流的时间戳标定方法及系统 |
CN113645470A (zh) * | 2020-05-11 | 2021-11-12 | 北京易真学思教育科技有限公司 | 视频播放方法、设备及计算机存储介质 |
CN114885198A (zh) * | 2022-07-07 | 2022-08-09 | 中央广播电视总台 | 面向混合网络的伴音与视频协同呈现系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729363A (zh) * | 2012-10-12 | 2014-04-16 | 上海聚力传媒技术有限公司 | 利用用户软硬件环境提供个性化视频服务的方法及装置 |
CN103856787A (zh) * | 2012-12-04 | 2014-06-11 | 上海文广科技(集团)有限公司 | 基于公网的带解说音频回传的直播系统及其直播方法 |
CN104125429A (zh) * | 2013-04-27 | 2014-10-29 | 杭州海康威视数字技术股份有限公司 | 视频数据传输的调节方法及装置 |
-
2015
- 2015-02-12 CN CN201510076793.XA patent/CN104618798B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729363A (zh) * | 2012-10-12 | 2014-04-16 | 上海聚力传媒技术有限公司 | 利用用户软硬件环境提供个性化视频服务的方法及装置 |
CN103856787A (zh) * | 2012-12-04 | 2014-06-11 | 上海文广科技(集团)有限公司 | 基于公网的带解说音频回传的直播系统及其直播方法 |
CN104125429A (zh) * | 2013-04-27 | 2014-10-29 | 杭州海康威视数字技术股份有限公司 | 视频数据传输的调节方法及装置 |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107124668A (zh) * | 2016-01-22 | 2017-09-01 | 纳宝株式会社 | 流式传输装置及方法、流式传输服务系统及记录介质 |
CN107124668B (zh) * | 2016-01-22 | 2020-10-02 | 纳宝株式会社 | 流式传输装置及方法、流式传输服务系统及记录介质 |
CN105704504A (zh) * | 2016-01-28 | 2016-06-22 | 腾讯科技(深圳)有限公司 | 视频直播中插入推送信息的方法和装置 |
CN105704504B (zh) * | 2016-01-28 | 2021-02-12 | 腾讯科技(深圳)有限公司 | 视频直播中插入推送信息的方法、装置、设备及存储介质 |
CN108605016B (zh) * | 2016-08-12 | 2021-03-23 | 华为技术有限公司 | 业务数据传输的方法、网络设备和终端设备 |
US11140701B2 (en) | 2016-08-12 | 2021-10-05 | Huawei Technologies Co., Ltd. | Service data transmission method, network device, and terminal device |
CN108605016A (zh) * | 2016-08-12 | 2018-09-28 | 华为技术有限公司 | 业务数据传输的方法、网络设备和终端设备 |
CN106454388A (zh) * | 2016-09-20 | 2017-02-22 | 北京百度网讯科技有限公司 | 一种用于确定直播设置信息的方法与设备 |
CN106454388B (zh) * | 2016-09-20 | 2019-08-16 | 北京百度网讯科技有限公司 | 一种用于确定直播设置信息的方法与设备 |
CN110169075B (zh) * | 2017-01-09 | 2021-06-25 | 国际商业机器公司 | 在直播中智能插入次要内容 |
CN110169075A (zh) * | 2017-01-09 | 2019-08-23 | 国际商业机器公司 | 在直播中智能插入次要内容 |
GB2573899A (en) * | 2017-01-09 | 2019-11-20 | Ibm | Intelligent insertion of secondary content in live streaming |
US10270833B2 (en) | 2017-01-09 | 2019-04-23 | International Business Machines Corporation | Intelligent insertion of secondary content in live streaming |
GB2573899B (en) * | 2017-01-09 | 2020-04-22 | Ibm | Intelligent insertion of secondary content in live streaming |
WO2018127824A1 (en) * | 2017-01-09 | 2018-07-12 | International Business Machines Corporation | Intelligent insertion of secondary content in live streaming |
CN107666593B (zh) * | 2017-08-28 | 2020-04-21 | 中国电子科技集团公司第二十八研究所 | 一种波动网络环境下的视频实时传输方法 |
CN108024126A (zh) * | 2017-11-28 | 2018-05-11 | 北京潘达互娱科技有限公司 | 网络直播视频调整方法、装置、电子设备和存储介质 |
CN110460790A (zh) * | 2018-05-02 | 2019-11-15 | 北京视联动力国际信息技术有限公司 | 一种视频帧的抽取方法和装置 |
US12034986B2 (en) | 2018-05-28 | 2024-07-09 | Alibaba Group Holding Limited | Network live-broadcasting method and apparatus |
CN110545452B (zh) * | 2018-05-28 | 2022-04-12 | 阿里巴巴集团控股有限公司 | 网络直播方法、装置、终端及服务器 |
CN110545452A (zh) * | 2018-05-28 | 2019-12-06 | 阿里巴巴集团控股有限公司 | 网络直播方法、装置、终端及服务器 |
CN108737905A (zh) * | 2018-06-12 | 2018-11-02 | 中国联合网络通信集团有限公司 | 直播互动同步方法及架构、时延同步系统、视频播放器 |
CN108737905B (zh) * | 2018-06-12 | 2021-04-13 | 中国联合网络通信集团有限公司 | 直播互动同步方法及架构 |
CN112104904A (zh) * | 2019-06-17 | 2020-12-18 | 北京我声我视科技有限公司 | 一种多用户同步观看视频和实时互动的方法和系统 |
CN111031338A (zh) * | 2019-12-17 | 2020-04-17 | 杭州当虹科技股份有限公司 | 一种改善在线信源速率异常的方法 |
CN111031338B (zh) * | 2019-12-17 | 2021-09-28 | 杭州当虹科技股份有限公司 | 一种改善在线信源速率异常的方法 |
CN113645470A (zh) * | 2020-05-11 | 2021-11-12 | 北京易真学思教育科技有限公司 | 视频播放方法、设备及计算机存储介质 |
CN112188286A (zh) * | 2020-10-09 | 2021-01-05 | 上海网达软件股份有限公司 | 一种用于直播流的时间戳标定方法及系统 |
CN112188286B (zh) * | 2020-10-09 | 2022-06-10 | 上海网达软件股份有限公司 | 一种用于直播流的时间戳标定方法及系统 |
CN114885198A (zh) * | 2022-07-07 | 2022-08-09 | 中央广播电视总台 | 面向混合网络的伴音与视频协同呈现系统 |
CN114885198B (zh) * | 2022-07-07 | 2022-10-21 | 中央广播电视总台 | 面向混合网络的伴音与视频协同呈现系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104618798B (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104618798B (zh) | 面向互联网视频直播的播放时刻控制方法及装置 | |
CN102123303B (zh) | 一种音视频文件播放方法、系统及传输控制装置 | |
US8244901B2 (en) | Methods and apparatus to facilitate client controlled sessionless adaptation | |
US12088652B2 (en) | Deadline signaling for streaming of media data | |
CN103843301B (zh) | 经译码多媒体数据的网络串流期间的表示之间的切换 | |
CN110099288B (zh) | 发送媒体数据的方法及装置 | |
CN101889425B (zh) | 通过可变带宽信道进行同播的设备和方法 | |
CN102232298B (zh) | 媒体内容的传输处理方法、装置与系统 | |
CN101242359B (zh) | 动态码率分配方法、分组域流媒体服务器 | |
CN100456678C (zh) | 为不同类型的终端提供iptv业务的方法和iptv业务系统 | |
KR20060114080A (ko) | 멀티미디어 스트리밍 서비스 시스템 및 방법 | |
EP1603046B1 (en) | Reception apparatus and information browsing method | |
CN102739627A (zh) | 视频切换播放方法及系统 | |
US20150312303A1 (en) | Determining whether to use sidx information when streaming media data | |
US11432038B2 (en) | Video fragment file processing | |
CN112104885B (zh) | 一种直播中加快m3u8起始播放速度的系统及方法 | |
JP2005094769A (ja) | マルチメディアコンテンツの高速ダウンロードサービス装置及びその方法 | |
CN101420420A (zh) | 一种数据流式传输的方法和装置 | |
KR101055169B1 (ko) | 스트리밍 시스템의 트래픽 제어 방법 및 그 장치 | |
US10523409B2 (en) | Method of synchronization during the processing, by a multimedia player, of an item of multimedia content transmitted by an MBMS service | |
US20240364768A1 (en) | Deadline signaling for streaming of media data | |
KR102597653B1 (ko) | 무선 스트리밍 방법 | |
EP2790371A1 (en) | Device and method for adapting a manifest sent by at least one server. | |
CN117596442A (zh) | 融合通信方法及平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |