CN105049896A - 一种基于hls协议的流媒体广告插入方法及系统 - Google Patents
一种基于hls协议的流媒体广告插入方法及系统 Download PDFInfo
- Publication number
- CN105049896A CN105049896A CN201510436768.8A CN201510436768A CN105049896A CN 105049896 A CN105049896 A CN 105049896A CN 201510436768 A CN201510436768 A CN 201510436768A CN 105049896 A CN105049896 A CN 105049896A
- Authority
- CN
- China
- Prior art keywords
- media
- media fragment
- address
- server
- class
- 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
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2668—Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- 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/81—Monomedia components thereof
- H04N21/812—Monomedia components thereof involving advertisement data
Abstract
本发明公开了一种基于HLS协议的流媒体广告插入方法及系统,所述方法包括:客户端向服务器发送第一流媒体视频播放请求;获取基本码流格式为H.264的第一流媒体片段的第一视频基本码流参数及容器格式;将获取的第一视频基本码流参数与准备插入的广告的图像和音频编码,输出插入广告后的第二流媒体片段;将第二流媒体片段及对应的第二流媒体片段地址存储到服务器上;客户端获取第二流媒体片段地址,修改第一流媒体片段列表,按照更新后的第一流媒体片段列表进行播放。本发明通过在HLS流媒体播放时,对广告片段进行编码,可将编码后的广告片段对应地址加入流媒体的片段列表的任意位置,加入广告后的流媒体播放流畅,方便便捷。
Description
技术领域
本发明涉及流媒体技术领域,尤其涉及一种基于HLS协议的流媒体广告插入方法及系统。
背景技术
当前动态码率自适应技术(HTTPLiveStreaming,简称HLS,以下都用HLS代替)流媒体的广告增加方式是在HLS流媒体流生成前配置完成,插入广告的位置仅在视频开始前。片头的广告基本码(ElementaryStream,简称ES,以下用ES代替)流格式没有限制,所以实现很容易,生成前广告方便插入,流程为插入广告YUV数据,再编码,切片,发布,其中YUV是采用明亮度、色度来表征彩色视频信号。其中“Y”表示明亮度,“U”表示色调,“V”表示饱和度。
对于流媒体的非发布方,由于其无法接触未发布的流媒体,只能使用已经发布的流媒体,其不能使用现有的在流媒体生成前的广告增加方式进行广告插入。
并且,根据HLS协议,发布后增加的广告视频流的容器格式、ES流格式等格式、参数必须与原视频对应的格式、参数基本相同,如ES流格式、profile、level、宽高、是否允许加权预测等等。如果ES流格式不相同,会导致编码器异常,无法解码。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于HLS协议的流媒体广告插入方法及系统,旨在解决现有技术中当流媒体视频开始后无法插入广告,容易出现编码异常,无法解码的缺陷。
本发明解决技术问题所采用的技术方案如下:
一种基于HLS协议的流媒体广告插入方法,其中,所述方法包括:
A、客户端向服务器发送第一流媒体视频播放请求;
B、服务器接收所述视频播放请求后,检测客户端请求播放的第一流媒体地址,且判断服务器中是否存在与第一流媒体地址对应的第二流媒体片段地址,如果存在则执行步骤E;如果不存在则获取流媒体中视频基本码流格式为H.264的第一流媒体片段的第一视频基本码流参数及容器格式;
C、服务器将获取的第一视频基本码流参数与准备插入的广告的图像数据和音频数据进行编码,输出插入的广告对应的第二流媒体片段;
D、将第二流媒体片段存储到服务器上,服务器生成对应的第二流媒体片段地址并保存;
E客户端获取第二流媒体片段地址,修改第一流媒体片段列表,按照更新后的第一流媒体片段列表进行播放。
所述的基于HLS协议的流媒体广告插入方法,其中,所述步骤B具体包括:
B1、服务器检测客户端请求播放的第一流媒体地址,判断服务器中是否存在与第一流媒体地址对应的第二流媒体片段地址,如果存在则执行步骤E;如果不存在则从所述第一流媒体地址中下载原始的第一流媒体片段;
B2、从第一流媒体片段中获取第一视频基本码流参数,判断当前第一视频基本码流是否是H.264格式;
B3、如果第一视频基本码流是H.264格式,获取H.264格式的第一流媒体片段的基本码流参数及容器格式;
B4、如果第一视频基本码流不是H.264格式,退出。
所述的基于HLS协议的流媒体广告插入方法,其中,所述步骤C具体包括:
C1、将第一视频基本码流参数及准备插入的广告的图像数据输入H264编码器,获得H.264格式的第二视频基本码流;
C2、将准备插入的广告的音频数据采用编码器进行编码,输出自动数据远程通信服务格式的音频流;
C3、根据第一流媒体的容器格式将生成的第二视频基本码流和音频流进行编码,输出插入的广告对应的第二流媒体片段。
所述的基于HLS协议的流媒体广告插入方法,其中,所述步骤D具体包括:
D1、将第二流媒体片段存储在服务器上,服务器生成对应的第二流媒体片段地址;
D2、服务器对第一流媒体地址和对应的第二流媒体片段地址进行存储。
所述的基于HLS协议的流媒体广告插入方法,其中,所述步骤E具体包括:
E1、服务器将第二流媒体片段地址发送给客户端;
E2、客户端将获取到的第二流媒体片段地址加入第一流媒体片段列表;
E3、客户端按照更新后的第一流媒体片段列表进行播放。
一种基于HLS协议的流媒体广告插入系统,其中,所述系统包括:
请求接收模块,用于客户端向服务器发送第一流媒体视频播放请求;
检测与获取模块,用于服务器接收所述视频播放请求后,检测客户端请求播放的第一流媒体地址,且判断服务器中是否存在与第一流媒体地址相同的第二流媒体片段地址,如果存在则客户端获取第二流媒体片段地址,修改第一流媒体片段列表,按照更新后的第一流媒体片段列表进行播放;如果不存在则获取流媒体中视频基本码流格式为H.264的第一流媒体片段的第一视频基本码流参数及容器格式;
编码与输出模块,用于服务器将获取的第一视频基本码流参数与准备插入的广告的图像数据和音频数据进行编码,输出插入的广告对应的第二流媒体片段;
存储模块,用于将第二流媒体片段存储到服务器上,服务器生成对应的第二流媒体片段地址并保存;
播放模块,用于客户端修改第一流媒体片段列表,按照更新后的第一流媒体片段列表进行播放。
所述的基于HLS协议的流媒体广告插入系统,其中,所述检测与获取模块具体包括:
检测与下载单元,用于服务器检测客户端请求播放的第一流媒体地址,判断服务器中是否存在与第一流媒体地址对应的第二流媒体片段地址,如果存在则客户端获取第二流媒体片段地址,修改第一流媒体片段列表,按照更新后的第一流媒体片段列表进行播放;如果不存在则从所述第一流媒体地址中下载原始的第一流媒体片段;
获取与判断单元,用于从第一流媒体片段中获取第一视频基本码流参数,判断当前第一视频基本码流是否是H.264格式;
第一控制单元,用于如果第一视频基本码流是H.264格式,获取H.264格式的第一流媒体片段的基本码流参数及容器格式;
第二控制单元,用于如果第一视频基本码流不是H.264格式,退出。
所述的基于HLS协议的流媒体广告插入系统,其中,所述编码与输出模块包括:
第一编码单元,用于将第一视频基本码流参数及准备插入的广告的图像数据输入H264编码器,获得H.264格式的第二视频基本码流;
第二编码单元,用于将准备插入的广告的音频数据采用编码器进行编码,输出自动数据远程通信服务格式的音频流;
第三编码与输出单元,用于根据第一流媒体的容器格式将生成的第二视频基本码流和音频流进行编码,输出插入的广告对应的第二流媒体片段。
所述的基于HLS协议的流媒体广告插入系统,其中,所述存储模块具体包括:
第一存储与地址生成单元,用于将第二流媒体片段存储在服务器上,服务器生成对应的第二流媒体片段地址;
第二存储单元,用于服务器对第一流媒体地址和对应的第二流媒体片段地址进行存储。
所述的基于HLS协议的流媒体广告插入系统,其中,所述播放模块具体包括:
发送单元,用于当服务器将第二流媒体片段地址发送给客户端;
列表增加单元,用于客户端将获取到的第二流媒体片段地址加入第一流媒体的片段列表;
播放单元,用于客户端按照更新后的第一流媒体片段列表进行播放。
有益效果:本发明通过在HLS流媒体播放时,对广告片段进行编码,可实现将广告片段地址加入流媒体的片段列表(m3u8文件)的需要位置,广告可以通过修改后的流媒体索引文件的形式进行插入,而且插入广告后的流媒体播放流畅,方便快捷。
附图说明
图1是本发明的一种基于HLS协议的流媒体广告插入方法的较佳实施例的流程图。
图2是本发明的一种基于HLS协议的流媒体广告插入系统的较佳实施例的功能原理框图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明第一实施例所述的一种基于HLS协议的流媒体广告插入方法,如图1所示,包括:
步骤S100、客户端向服务器发送第一流媒体视频播放请求。
具体实施时,用户通过视频网站例如优酷、爱奇艺、乐视等网站观看视频,而视频网站经常会在视频上增加广告。本发明中针对HLS流媒体数据中加入广告。HLS流媒体有发布的协议,该协议保证了符合HLS协议的流媒体能正常播放,如果HLS流媒体不符合该协议,将会导致各种异常,如无法播放,黑屏等等。优选的,当用户打开未插入广告的视频时,客户端向服务器请求播放视频,服务器接收该视频播放请求。
步骤S200、服务器接收所述视频播放请求后,检测客户端请求播放的第一流媒体地址,且判断服务器中是否存在与第一流媒体地址对应的第二流媒体片段地址,如果存在则执行步骤S600;如果不存在则执行步骤S300。
具体实施时,服务器通过判断客户端请求播放的流媒体地址是否在服务器中已存储,如果存储说明该流媒体已进行过插入广告操作,那么直接通过服务器将插入广告后的地址发送给客户端进行播放即可,如果不存在,则要对当前流媒体进行插入广告操作,具体的广告的插入方法如下步骤所述。
步骤S300、获取流媒体中视频基本码流格式为H.264的第一流媒体片段的第一视频基本码流参数及容器格式。
具体实施时,所述步骤S300具体包括:
步骤S301、服务器检测客户端请求播放的第一流媒体地址,判断服务器中是否存在与第一流媒体地址对应的第二流媒体片段地址,如果不存在则从所述第一流媒体地址中下载原始的第一流媒体片段;
步骤S302、从第一流媒体片段中获取第一视频基本码流参数,判断当前第一视频基本码流是否是H.264格式;
步骤S303、如果视频第一视频基本码流是H.264格式,获取第一流媒体片段的第一视频基本码流参数及容器格式;
步骤S304、如果视频第一视频基本码流不是H.264格式,退出。
具体实施时,为了使插入广告后的数据流符合HLS协议,需要保证广告视频的格式,编码参数信息与原视频流一致。
具体地,从用户输入的流媒体地址(播放器客户端上传给服务器)中下载流媒体片段,从片段中解析取出音视频ES流,如果当前视频ES流格式不是H264格式,则退出,不再进行广告插入。
其中,当前ES流是H264格式时,解析H264视频流,提取其中ES流参数信息,即PPS(图像参数集)和SPS(序列参数集)。这两个参数集包含了H264流媒体的帧层上所有的参数信息,同时获取当前多媒体流的容器格式。
步骤S400、服务器将获取的第一视频基本码流参数与准备插入的广告的图像数据和音频数据进行编码,输出插入的广告对应的第二流媒体片段。
具体实施时,所述步骤S400具体包括:
S401、将第一视频基本码流参数及准备插入的广告的图像数据输入H264编码器,获得H.264格式的第二视频基本码流;
S402、将准备插入的广告的音频数据采用编码器进行编码,输出自动数据远程通信服务格式的音频流;
S403、根据第一流媒体的容器格式将生成的第二视频基本码流和音频流进行编码,输出插入的广告对应的第二流媒体片段。
具体实施时,获取上述的视频ES流中提取的ES流参数信息,将该信息输入的H264编码器,同时将广告的YUV数据作为输入,进行编码,输出结果为H264的ES流,作为第二视频基本码流;
提取广告的PCM音频数据,使用AAC编码器进行编码,输出ADTS(AudioDataTransportStream)格式的音频流;
根据原流媒体的容器,使用对应容器格式的容器,将上述编码输出的es流和音频流作为输入,输出对应流媒体片段,作为第二流媒体片段。例如原流媒体片段为TS容器,则使用TS容器将上述音视频流加入容器,输出TS片段,作为第二流媒体片段。
为了视频可以同时播放,人们设定了不同的视频文件格式来把视频和音频放在一个文件中,这个文件格式叫容器。即在同一个容器格式文件里面包裹着不同的轨道。容器是用来区分不同文件的数据类型的,而编码格式则由音视频文件的压缩算法决定。一般所说的文件格式或者是后缀名即是指文件的容器格式。对于一种容器格式文件,可以包含不同编码格式的一种视频和音频。目前比较知名的容器格式包括AVI(.avi)、MPEG(.mpg,.mpeg)、QuickTime(.mov)、RealMedia(.rm)、MP4(.mp4)等。
步骤S500、将第二流媒体片段存储到服务器上,服务器生成对应的第二流媒体片段地址并保存。
具体实施时,所述步骤S500具体包括:
步骤S501、将第二流媒体片段存储在服务器上,服务器生成对应的第二流媒体片段地址;
步骤S502、服务器对第一流媒体地址和对应的第二流媒体片段地址进行存储。
具体实施时,将步骤S400生成的流媒体片段放到服务器上,并生成对应的片段URL地址;将原流媒体地址与对应的流媒体片段URL地址保存在服务器上。
步骤S600、客户端获取第二流媒体片段地址,修改第一流媒体片段列表,按照更新后的第一流媒体片段列表进行播放。
具体实施时,所述步骤S600具体包括:
步骤S601、服务器将第二流媒体片段地址发送给客户端;
步骤S602、客户端播放器将获取到的第二流媒体片段地址加入第一流媒体片段列表;
步骤S603、客户端播按照更新后的第一流媒体片段列表进行播放。
具体实施时,当服务器检测到客户端设备播放的流媒体地址与服务器上存储的流媒体地址相同时,表明该客户端设备请求播放的流媒体已经插入了广告,此时将服务器中存储对应的已插入广告的流媒体片段地址传送给客户端,客户端流媒体播放器将获取到的流媒体片段地址加入流媒体的片段列表(m3u8文件)中,让播放器使用修改过的流媒体片段列表即可。
本发明的实施例中,在广告编码完成之前,对于用户的流媒体播放请求,不进行处理,不插入广告。
由上述实施例可知,本发明提供了一种基于HLS协议的流媒体广告插入方法,服务器获取用户播放流媒体的地址后,将需要插入的广告与将要播放的视频输入编码器,编码器按照视频流H.264的格式进行编码,将插入广告对应的流媒体片段加入客户端的流媒体片段列表中进行播放。本发明可通过在HLS流媒体播放时,对广告片段进行编码,可实现将广告片段地址加入流媒体的片段列表(m3u8文件)的需要位置,广告可以在修改后的流媒体片段列表进行播放,而且播放流畅,不会出现卡死状态,为流媒体中插入广告提供了方便。
基于上述方法实施例,本发明还提供一种基于HLS协议的流媒体广告插入系统的较佳实施例的功能原理框图,如图2所示,所述系统包括:
请求接收模块510,用于检测到用户打开客户端,客户端向服务器发送第一流媒体视频播放请求;具体如上所述。
检测与获取模块520,用于服务器接收所述视频播放请求后,检测客户端请求播放的第一流媒体地址,且判断服务器中是否存在与第一流媒体地址对应的第二流媒体片段地址,如果存在则客户端获取第二流媒体片段地址,修改第一流媒体片段列表,按照更新后的第一流媒体片段列表进行播放;如果不存在则获取流媒体中视频基本码流格式为H.264的第一流媒体片段的第一视频基本码流参数及容器格式;具体如上所述。
编码与输出模块530,用于服务器将获取的第一视频基本码流参数与准备插入的广告的图像数据和音频数据进行编码,输出插入的广告对应的第二流媒体片段;具体如上所述。
存储模块540,用于将第二流媒体片段存储到服务器上,服务器生成对应的第二流媒体片段地址并保存;具体如上所述。
播放模块550,用于客户端修改第一流媒体片段列表,按照更新后的第一流媒体片段列表进行播放;具体如上所述。
所述的基于HLS协议的流媒体广告插入系统,其中,所述检测与获取模块具体包括:
检测与下载单元,用于服务器检测客户端请求播放的第一流媒体地址,判断服务器中是否存在与第一流媒体地址对应的第二流媒体片段地址,如果存在则客户端获取第二流媒体片段地址,修改第一流媒体片段列表,按照更新后的第一流媒体片段列表进行播放;如果不存在则从所述第一流媒体地址中下载原始的第一流媒体片段;具体如上所述。
获取与判断单元,用于从第一流媒体片段中获取第一视频基本码流参数,判断当前第一视频基本码流是否是H.264格式;具体如上所述。
第一控制单元,用于如果第一视频基本码流是H.264格式,获取H.264格式的第一流媒体片段的基本码流参数及容器格式;具体如上所述。
第二控制单元,用于如果第一视频基本码流不是H.264格式,退出;具体如上所述。
所述的基于HLS协议的流媒体广告插入系统,其中,所述编码与输出模块包括:
第一编码单元,用于将第一视频基本码流参数及准备插入的广告的图像数据输入H264编码器,获得H.264格式的第二视频基本码流;具体如上所述。
第二编码单元,用于将准备插入的广告的音频数据采用编码器进行编码,输出自动数据远程通信服务格式的音频流;具体如上所述。
第三编码与输出单元,用于根据第一流媒体的容器格式将生成的第二视频基本码流和音频流进行编码,输出插入的广告对应的第二流媒体片段;具体如上所述。
所述的基于HLS协议的流媒体广告插入系统,其中,所述存储模块具体包括:
第一存储与地址生成单元,用于将第二流媒体片段存储在服务器上,服务器生成对应的第二流媒体片段地址;具体如上所述。
第二存储单元,用于服务器对第一流媒体地址和对应的第二流媒体片段地址进行存储;具体如上所述。
所述的基于HLS协议的流媒体广告插入系统,其中,所述播放模块具体包括:
发送单元,用于服务器将第二流媒体片段地址发送给客户端;具体如上所述。
列表增加单元,用于客户端将获取到的第二流媒体片段地址加入第一流媒体片段列表;具体如上所述。
播放单元,用于客户端按照更新后的第一流媒体片段列表进行播放;具体如上所述。
综上所述,本发明提供了一种基于HLS协议的流媒体广告插入方法及系统,所述方法包括:客户端向服务器发送第一流媒体视频播放请求;获取流媒体中视频基本码流格式为H.264的第一流媒体片段的第一视频基本码流参数及容器格式;将获取的第一视频基本码流参数与准备插入的广告的图像数据和音频数据进行编码,输出插入广告对应的第二流媒体片段;将第二流媒体片段及对应的第二流媒体片段地址存储到服务器上;客户端获取第二流媒体片段地址,修改第一流媒体片段列表,按照更新后的第一流媒体片段列表进行播放。本发明通过在HLS流媒体播放时,对广告片段进行编码,可将广告片段地址加入流媒体的片段列表的需要位置,加入广告后的流媒体播放流畅,方便便捷。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种基于HLS协议的流媒体广告插入方法,其特征在于,所述方法包括:
A、客户端向服务器发送第一流媒体视频播放请求;
B、服务器接收所述视频播放请求后,检测客户端请求播放的第一流媒体地址,且判断服务器中是否存在与第一流媒体地址对应的第二流媒体片段地址,如果存在则执行步骤E;如果不存在则获取流媒体中视频基本码流格式为H.264的第一流媒体片段的第一视频基本码流参数及容器格式;
C、服务器将获取的第一视频基本码流参数与准备插入的广告的图像数据和音频数据进行编码,输出插入的广告对应的第二流媒体片段;
D、将第二流媒体片段存储到服务器上,服务器生成对应的第二流媒体片段地址并保存;
E、客户端获取第二流媒体片段地址,修改第一流媒体片段列表,按照更新后的第一流媒体片段列表进行播放。
2.根据权利要求1所述的基于HLS协议的流媒体广告插入方法,其特征在于,所述步骤B具体包括:
B1、服务器检测客户端请求播放的第一流媒体地址,判断服务器中是否存在与第一流媒体地址对应的第二流媒体片段地址,如果存在则执行步骤E;如果不存在则从所述第一流媒体地址中下载原始的第一流媒体片段;
B2、从第一流媒体片段中获取第一视频基本码流参数,判断当前第一视频基本码流是否是H.264格式;
B3、如果第一视频基本码流是H.264格式,获取H.264格式的第一流媒体片段的基本码流参数及容器格式;
B4、如果第一视频基本码流不是H.264格式,退出。
3.根据权利要求1所述的基于HLS协议的流媒体广告插入方法,其特征在于,所述步骤C具体包括:
C1、将第一视频基本码流参数及准备插入的广告的图像数据输入H264编码器,获得H.264格式的第二视频基本码流;
C2、将准备插入的广告的音频数据采用编码器进行编码,输出自动数据远程通信服务格式的音频流;
C3、根据第一流媒体的容器格式将生成的第二视频基本码流和音频流进行编码,输出插入的广告对应的第二流媒体片段。
4.根据权利要求1所述的基于HLS协议的流媒体广告插入方法,其特征在于,所述步骤D具体包括:
D1、将第二流媒体片段存储在服务器上,服务器生成对应的第二流媒体片段地址;
D2、服务器对第一流媒体地址和对应的第二流媒体片段地址进行存储。
5.根据权利要求1所述的基于HLS协议的流媒体广告插入方法,其特征在于,所述步骤E具体包括:
E1、服务器将第二流媒体片段地址发送给客户端;
E2、客户端将获取到的第二流媒体片段地址加入第一流媒体片段列表;
E3、客户端按照更新后的第一流媒体片段列表进行播放。
6.一种基于HLS协议的流媒体广告插入系统,其特征在于,所述系统包括:
请求接收模块,用于客户端向服务器发送第一流媒体视频播放请求;
检测与获取模块,用于服务器接收所述视频播放请求后,检测客户端请求播放的第一流媒体地址,且判断服务器中是否存在与第一流媒体地址对应的第二流媒体片段地址,如果存在则客户端获取第二流媒体片段地址,修改第一流媒体片段列表,按照更新后的第一流媒体片段列表进行播放;如果不存在则获取流媒体中视频基本码流格式为H.264的第一流媒体片段的第一视频基本码流参数及容器格式;
编码与输出模块,用于服务器将获取的第一视频基本码流参数与准备插入的广告的图像数据和音频数据进行编码,输出插入的广告对应的第二流媒体片段;
存储模块,用于将第二流媒体片段存储到服务器上,服务器生成对应的第二流媒体片段地址并保存;
播放模块,用于客户端修改第一流媒体片段列表,按照更新后的第一流媒体片段列表进行播放。
7.根据权利要求6所述的基于HLS协议的流媒体广告插入系统,其特征在于,所述检测与获取模块具体包括:
检测与下载单元,用于服务器检测客户端请求播放的第一流媒体地址,判断服务器中是否存在与第一流媒体地址对应的第二流媒体片段地址,如果存在则客户端获取第二流媒体片段地址,修改第一流媒体片段列表,按照更新后的第一流媒体片段列表进行播放;如果不存在则从所述第一流媒体地址中下载原始的第一流媒体片段;
获取与判断单元,用于从第一流媒体片段中获取第一视频基本码流参数,判断当前第一视频基本码流是否是H.264格式;
第一控制单元,用于如果第一视频基本码流是H.264格式,获取H.264格式的第一流媒体片段的基本码流参数及容器格式;
第二控制单元,用于如果第一视频基本码流不是H.264格式,退出。
8.根据权利要求6所述的基于HLS协议的流媒体广告插入系统,其特征在于,所述编码与输出模块包括:
第一编码单元,用于将第一视频基本码流参数及准备插入的广告的图像数据输入H264编码器,获得H.264格式的第二视频基本码流;
第二编码单元,用于将准备插入的广告的音频数据采用编码器进行编码,输出自动数据远程通信服务格式的音频流;
第三编码与输出单元,用于根据第一流媒体的容器格式将生成的第二视频基本码流和音频流进行编码,输出插入的广告对应的第二流媒体片段。
9.根据权利要求6所述的基于HLS协议的流媒体广告插入系统,其特征在于,所述存储模块具体包括:
第一存储与地址生成单元,用于将第二流媒体片段存储在服务器上,服务器生成对应的第二流媒体片段地址;
第二存储单元,用于服务器对第一流媒体地址和对应的第二流媒体片段地址进行存储。
10.根据权利要求6所述的基于HLS协议的流媒体广告插入系统,其特征在于,所述播放模块具体包括:
发送单元,用于服务器将第二流媒体片段地址发送给客户端;
列表增加单元,用于客户端将获取到的第二流媒体片段地址加入第一流媒体片段列表;
播放单元,用于客户端按照更新后的第一流媒体片段列表进行播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510436768.8A CN105049896B (zh) | 2015-07-23 | 2015-07-23 | 一种基于hls协议的流媒体广告插入方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510436768.8A CN105049896B (zh) | 2015-07-23 | 2015-07-23 | 一种基于hls协议的流媒体广告插入方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105049896A true CN105049896A (zh) | 2015-11-11 |
CN105049896B CN105049896B (zh) | 2019-11-12 |
Family
ID=54456022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510436768.8A Active CN105049896B (zh) | 2015-07-23 | 2015-07-23 | 一种基于hls协议的流媒体广告插入方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105049896B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959746A (zh) * | 2016-06-01 | 2016-09-21 | 北京奇艺世纪科技有限公司 | 一种文件生成方法及装置 |
CN106210809A (zh) * | 2016-08-09 | 2016-12-07 | 亦非云互联网技术(上海)有限公司 | 一种视频直播中插播广告的方法及系统 |
CN107948685A (zh) * | 2016-10-13 | 2018-04-20 | 腾讯科技(北京)有限公司 | 信息推广方法及信息推广装置 |
CN108076385A (zh) * | 2016-11-14 | 2018-05-25 | 腾讯科技(北京)有限公司 | 一种推广信息监测数据的上报方法及装置 |
CN109660843A (zh) * | 2018-12-29 | 2019-04-19 | 深圳市九洲电器有限公司 | 车载实时播放方法及系统 |
CN110248219A (zh) * | 2018-03-08 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置及设备 |
CN110495182A (zh) * | 2017-06-22 | 2019-11-22 | 谷歌有限责任公司 | 媒体流中媒体项目的有效插入 |
JP2019535191A (ja) * | 2016-09-30 | 2019-12-05 | アマゾン テクノロジーズ インコーポレイテッド | コンテンツ部分をストリーミングするための要求ベースのエンコーディング |
CN112218128A (zh) * | 2019-07-12 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 广告视频的播放方法、播放客户端及可读存储介质 |
CN112616069A (zh) * | 2020-12-01 | 2021-04-06 | 上海连尚网络科技有限公司 | 一种流媒体视频播放、生成方法及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102740159A (zh) * | 2011-03-31 | 2012-10-17 | 丛林网络公司 | 媒体文件存储格式和自适应传送系统 |
CA2840092A1 (en) * | 2011-06-21 | 2012-12-27 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
CN103686255A (zh) * | 2013-11-22 | 2014-03-26 | 乐视致新电子科技(天津)有限公司 | 一种基于hls协议的视频广告投放方法及其装置 |
CN104394443A (zh) * | 2014-09-16 | 2015-03-04 | 东方有线网络有限公司 | 一种在hls直播流媒体中进行节目动态插入播放的方法 |
CN104602046A (zh) * | 2013-11-01 | 2015-05-06 | 中国移动通信集团公司 | 一种基于hls协议的信息发布方法、设备及系统 |
CN104756505A (zh) * | 2012-06-28 | 2015-07-01 | 爱立信股份有限公司 | 用于过顶实况媒体递送中的广告插入的方法和系统 |
-
2015
- 2015-07-23 CN CN201510436768.8A patent/CN105049896B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102740159A (zh) * | 2011-03-31 | 2012-10-17 | 丛林网络公司 | 媒体文件存储格式和自适应传送系统 |
CA2840092A1 (en) * | 2011-06-21 | 2012-12-27 | The Nielsen Company (Us), Llc | Monitoring streaming media content |
CN104756505A (zh) * | 2012-06-28 | 2015-07-01 | 爱立信股份有限公司 | 用于过顶实况媒体递送中的广告插入的方法和系统 |
CN104602046A (zh) * | 2013-11-01 | 2015-05-06 | 中国移动通信集团公司 | 一种基于hls协议的信息发布方法、设备及系统 |
CN103686255A (zh) * | 2013-11-22 | 2014-03-26 | 乐视致新电子科技(天津)有限公司 | 一种基于hls协议的视频广告投放方法及其装置 |
CN104394443A (zh) * | 2014-09-16 | 2015-03-04 | 东方有线网络有限公司 | 一种在hls直播流媒体中进行节目动态插入播放的方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959746A (zh) * | 2016-06-01 | 2016-09-21 | 北京奇艺世纪科技有限公司 | 一种文件生成方法及装置 |
CN106210809A (zh) * | 2016-08-09 | 2016-12-07 | 亦非云互联网技术(上海)有限公司 | 一种视频直播中插播广告的方法及系统 |
JP2019535191A (ja) * | 2016-09-30 | 2019-12-05 | アマゾン テクノロジーズ インコーポレイテッド | コンテンツ部分をストリーミングするための要求ベースのエンコーディング |
CN107948685A (zh) * | 2016-10-13 | 2018-04-20 | 腾讯科技(北京)有限公司 | 信息推广方法及信息推广装置 |
CN107948685B (zh) * | 2016-10-13 | 2020-07-24 | 腾讯科技(北京)有限公司 | 信息推广方法及信息推广装置 |
CN108076385A (zh) * | 2016-11-14 | 2018-05-25 | 腾讯科技(北京)有限公司 | 一种推广信息监测数据的上报方法及装置 |
CN108076385B (zh) * | 2016-11-14 | 2020-05-08 | 腾讯科技(北京)有限公司 | 一种推广信息监测数据的上报方法及装置 |
CN110495182A (zh) * | 2017-06-22 | 2019-11-22 | 谷歌有限责任公司 | 媒体流中媒体项目的有效插入 |
US11405685B2 (en) | 2017-06-22 | 2022-08-02 | Google Llc | Efficient insertion of media items in media streams |
CN110248219A (zh) * | 2018-03-08 | 2019-09-17 | 腾讯科技(深圳)有限公司 | 视频播放方法、装置及设备 |
US11438646B2 (en) | 2018-03-08 | 2022-09-06 | Tencent Technology (Shenzhen) Company Limited | Video play method and apparatus, and device |
WO2020134232A1 (zh) * | 2018-12-29 | 2020-07-02 | 深圳市九洲电器有限公司 | 车载实时播放方法及系统 |
CN109660843A (zh) * | 2018-12-29 | 2019-04-19 | 深圳市九洲电器有限公司 | 车载实时播放方法及系统 |
CN112218128A (zh) * | 2019-07-12 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 广告视频的播放方法、播放客户端及可读存储介质 |
CN112616069A (zh) * | 2020-12-01 | 2021-04-06 | 上海连尚网络科技有限公司 | 一种流媒体视频播放、生成方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105049896B (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105049896A (zh) | 一种基于hls协议的流媒体广告插入方法及系统 | |
JP6630798B2 (ja) | 触覚データを符号化及びストリーミングする方法及びシステム | |
TWI700686B (zh) | 用於接收媒體資料之方法,器件及非暫時性電腦可讀儲存媒體 | |
CN102648609B (zh) | 通过将其它内容插入到主内容进行操作的流方法和装置 | |
US8869222B2 (en) | Second screen content | |
CN103141069B (zh) | 用于检索和传输多媒体数据的方法和系统 | |
US9538183B2 (en) | Audio-visual content delivery with partial encoding of content chunks | |
JP2007528144A (ja) | マルチメディア信号おいてトリガーマーカとして機能するフィンガープリントを生成及び検出する方法及び装置 | |
EP3146446A1 (en) | Media stream cue point creation with automated content recognition | |
CN106134146A (zh) | 处理连续的多周期内容 | |
KR20180100716A (ko) | 이벤트 스트리밍 프레젠테이션 확립 | |
TW200509658A (en) | Content distribution system, content distribution method, content distribution server, content reproduction apparatus, computer-readable medium that records the content distribution program, and content reproduction program | |
JP7468575B2 (ja) | 受信装置および受信方法 | |
CN106792154B (zh) | 视频播放器的跳帧同步系统及其控制方法 | |
TW201409998A (zh) | 第二內容串流在第二裝置上描繪時間之控制方法及控制裝置 | |
JP6992511B2 (ja) | 情報処理装置および情報処理方法 | |
KR20080064399A (ko) | Mp4 역다중화 장치 및 그의 동작 방법 | |
US20090089354A1 (en) | User device and method and authoring device and method for providing customized contents based on network | |
US20100188573A1 (en) | Media metadata transportation | |
CN106162380A (zh) | 一种在线视频调用方法及系统 | |
US8782689B2 (en) | Method of broadcasting content and at least one complementary element, utilizing a server and a terminal | |
CN111869225B (zh) | 信息处理装置、信息处理方法及非暂时性计算机可读存储介质 | |
KR101197225B1 (ko) | Epg 정보 삽입 및 추출 장치와 이를 이용한 epg 정보 삽입 및 추출 방법 | |
KR20110117568A (ko) | 멀티미디어 전송 시스템에서 서비스 발견 정보를 송수신하는 방법 및 장치와 이를 위한 파일 구조 | |
KR101656102B1 (ko) | 컨텐츠 파일 생성/제공 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |