CN107517411B - 一种基于GStreamer框架的视频播放方法 - Google Patents

一种基于GStreamer框架的视频播放方法 Download PDF

Info

Publication number
CN107517411B
CN107517411B CN201710787541.7A CN201710787541A CN107517411B CN 107517411 B CN107517411 B CN 107517411B CN 201710787541 A CN201710787541 A CN 201710787541A CN 107517411 B CN107517411 B CN 107517411B
Authority
CN
China
Prior art keywords
url
new
video
current
player
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.)
Active
Application number
CN201710787541.7A
Other languages
English (en)
Other versions
CN107517411A (zh
Inventor
马立明
沙建鹤
秦英生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hisense Visual Technology Co Ltd
Original Assignee
Hisense Visual Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hisense Visual Technology Co Ltd filed Critical Hisense Visual Technology Co Ltd
Priority to CN201710787541.7A priority Critical patent/CN107517411B/zh
Publication of CN107517411A publication Critical patent/CN107517411A/zh
Application granted granted Critical
Publication of CN107517411B publication Critical patent/CN107517411B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供了一种基于GStreamer框架的视频播放方法,应用于HLS网络视频播放系统中的客户端,该HLS网络视频播放系统还包括服务器,根据当前URL对应的m3u8列表接收到ENDLIST标签,并向服务器请求目标URL,若服务器返回与当前URL不同的新URL,创建与新URL对应的新视频数据源,根据新URL对应的m3u8列表下载TS片段,并忽略当前URL对应的最后TS片段所解析出的标识,该标识用于通知客户端退出播放器。该方案通过在收到ENDLIST标签时主动请求更新URL,并在判断出返回的URL发生更新变化后,忽略当前URL对应的最后TS片段所解析出的标识,以确保播放器不退出,从而避免了视频播放过程中由于重建播放器所导致的中断,提高了用户的使用体验。

Description

一种基于GStreamer框架的视频播放方法
技术领域
本申请涉及视频播放领域,特别涉及一种基于GStreamer框架的视频播放方法。本申请还特别涉及一种基于GStreamer框架的视频播放装置。
背景技术
HLS(HTTP Live Streaming)是一种动态码率自适应技术。主要用于PC和苹果终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件。常用的流媒体协议主要有HTTP(HyperText Transfer Protocol,超文本传输协议)渐进下载方法。
HLS的目的在于,让用户可以在移动终端(包括MACOSX,基于UNIX核心的系统)上通过普通的网络服务完成流媒体的播放。HLS同时支持流媒体的实时广播和点播服务。同时也支持不同bit速率的多个备用流(平时根据当前网速去自适应视频的清晰度),这样客户端也能根据当前网络的带宽去只能调整当前使用的视频流。安全方面,HLS提供了通过HTTPS加密对媒体文件进行加密,并对用户进行验证,允许视频发布者去保护自己的网络。
随着智能电视设备及网络的逐渐普及,观看HLS视频的用户越来越多,其中电视剧、综艺节目等吸引了大多数用户的眼球。但视频在播放过程中会出现上下集的切换,在这过程中,由于智能系统框架限制,统一资源定位符URL改变后,就要重新创建播放器以保证视频的正常播放,所以不可避免的出现黑屏、缓冲等播放中断的情况,从而影响用户体验。
由此可见,如何避免重新创建播放器对视频播放造成的影响,进而提高用户的使用体验,成为本领域技术人员亟待解决的技术问题。
发明内容
有鉴于背景技术中的问题,本申请提供了一种基于GStreamer框架的视频播放方法,应用于HLS网络视频播放系统中的客户端,所述HLS网络视频播放系统还包括服务器,该方法包括:
根据当前统一资源定位符URL对应的m3u8列表接收到ENDLIST标签,并向所述服务器请求目标URL;
若所述服务器返回与所述当前URL不同的新URL,创建与所述新URL对应的新视频数据源,根据所述新URL对应的m3u8列表下载TS片段,并忽略所述当前URL对应的最后TS片段所解析出的标识,所述标识用于通知所述客户端退出播放器。
优选的,在根据所述当前URL对应的m3u8列表接收到ENDLIST标签之前,还包括:
从所述服务器获取HLS网络视频的URL列表;
根据所述URL列表中包含的所述当前URL创建所述播放器;
根据所述当前URL设置当前视频数据源,并通过所述当前视频数据源保存所述HLS网络视频的数据。
优选的,根据所述新URL对应的m3u8列表下载TS片段,具体为:
获取所述新URL对应的m3u8列表中的TS片段地址;
所述播放器通过所述TS片段地址下载所述TS片段以生成片源数据;
将所述片源数据存放在所述新视频数据源中。
优选的,在创建与所述新URL对应的新视频数据源之后,还包括:
将所述新视频数据源接入所述播放器中。
优选的,所述标识具体为EOS标志,还包括:
若所述服务器返回与所述当前URL相同的URL,接收所述当前URL对应的最后TS片段所解析出的标识,并根据所述标识退出所述播放器。
相应的,本申请还提出了一种基于GStreamer框架的视频播放装置,作为客户端应用于HLS网络视频播放系统中,所述HLS网络视频播放系统还包括服务器,所述装置包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序以实现如上任意一项所述的基于GStreamer框架的视频播放方法。
相应的,本申请还提出了一种计算机存储介质,所述装置包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序以实现如上任意一项所述的基于GStreamer框架的视频播放方法。
由此可见,与现有技术相比,本申请所提出的技术方案的有益技术效果包括:
本申请提供了一种基于GStreamer框架的视频播放方法,应用于HLS网络视频播放系统中的客户端,该HLS网络视频播放系统还包括服务器,根据当前URL对应的m3u8列表接收到ENDLIST标签,并向服务器请求目标URL,若服务器返回与当前URL不同的新URL,创建与新URL对应的新视频数据源,根据新URL对应的m3u8列表下载TS片段,并忽略当前URL对应的最后TS片段所解析出的标识,该标识用于通知客户端退出播放器。该方案通过在收到ENDLIST标签时主动请求更新URL,并在判断出返回的URL发生更新变化后,忽略当前URL对应的最后TS片段所解析出的标识,以确保播放器不退出,从而避免了视频播放过程中由于重建播放器所导致的中断,提高了用户的使用体验。
附图说明
图1为现有技术提供的创建流媒体应用程序管线GStreamer管道概念结构图;
图2为本申请提供的一种基于GStreamer框架的视频播放方法的步骤流程图;
图3为本申请提供的一种基于创建流媒体应用程序管线GStreamer管道实现HLS无缝播放的结构示意图;
图4为本申请提供的一种基于创建流媒体应用程序管线GStreamer管道实现HLS无缝播放的流程图;
图5为本申请提供的一种基于GStreamer框架的视频播放方法的结构示意图。
具体实施方式
如背景技术所述,目前观看HLS网络视频的用户越来越多,其中电视剧、综艺节目等吸引了大多数用户的眼球,当当前视频播放完毕后,上层应用会自动切换到下一集,但是在这个过程中,会因为URL地址的改变,重新退出和创建播放器,重新下载Ts片段数据进行播放,这样就会不可避免的出现黑屏、缓冲等播放中断的情况。造成该问题的主要原因是,Android框架下的播放器是根据URL地址创建的,而URL改变后,就要重新创建player以保证视频的正常播放。
为了解决上述问题,本申请提供一种视频播放的方法和视频播放装置,该方案通过在收到ENDLIST标签时主动请求更新URL,并在URL发生更新后通过忽略最后TS片段所解析出的标识的方式确保播放器不退出,从而避免了视频播放过程中由于重建播放器所导致的中断,提高了用户的使用体验。
本申请所提供的方法,是基于创建流媒体应用程序管线GStreamer框架实现HLS无缝播放的,每一个模块都为pipeline中的一环,在此需要说明的是,pipeline为外接程序编程模型中表示在外接程序与其宿主之间交换数据的管线段的线性通信模型。并且,本发明的技术方案是应用于HLS网络视频播放系统中的客户端的,该HLS网络视频播放系统还包括服务器。
为便于清楚理解本申请实施例的技术方案,本申请实施例以以下步骤对本方案进行详细介绍,如图2所示,包括如下步骤:
步骤S201,根据当前统一资源定位符URL对应的m3u8列表接收到ENDLIST标签,并向所述服务器请求目标URL。
在该步骤中,ENDLIST标签是判断当前URL是否还有数据下载,若没有收到ENDLIST标签则说明还有数据在下载;若收到ENDLIST标签,说明数据下载已经完成,则停止下载。在具体的应用场景中,播放器根据m3u8中提供的TS片段地址从片源商服务器下载TS片段以生成片源数据。并同时根据是否接收到m3u8中的ENDLIST标签判断当前资源定位符URL是否还有数据下载,若收到ENDLIST标签,则停止下载,待数据播放完毕后,播放器收到最后一个TS片段解析出来标识,然后退出播放器。播放器收到m3u8中的ENDLIST标签后,增加调用notify函数,将当前TS片段(即创建所述视频的数据源)已完成下载的消息通知APP应用,请求新的URL。
为了与pipeline以及GStreamer框架适配,本申请的优选实施例通过以下方式进行HLS网络视频的播放设置:
步骤a)从所述服务器获取HLS网络视频的URL列表;
步骤b)根据所述URL列表中包含的所述当前URL创建所述播放器;
步骤c)根据所述当前URL设置当前视频数据源,并通过所述当前视频数据源保存所述HLS网络视频的数据。
在本申请的具体实施例中,客户端根据用户选择观看视频的片源内容,向片源商服务器(服务器)发送请求消息,片源商服务器收到请求消息加以处理,将视频对应的资源定位符URL的地址返回给所述客户端,进而客户端从片源商服务器获取HLS视频的URL列表;然后客户端调用系统接口,根据当前URL地址,创建网络播放器,并设置创建所述视频的数据源,完成管道pipeline搭建工作。
在上述设置创建视频的数据源的过程中,播放器根据URL对应的m3u8中提供的TS片段地址,从所述片源商服务器下载TS片段以生成片源数据,并先将所述片源数据存放在所述创建所述视频的数据源中。需要说明的是,用户所观看的每一集视频会有单独的一个资源定位符URL,每个资源定位符URL会提供一个完整的m3u8,每个m3u8是一个TS列表,包括若干TS片段地址、不连续DISCONTINUITY标签、结束符ENDLIST标签等。
其中,URL是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的资源定位符URL。
m3u8是M3U的一种,M3U本质上说不是音频文件,而是音频文件的列表文件,是纯文本文件。应用下载并打开,但播放软件并不是播放文本文件,而是根据文本文件的记录找到网络地址进行在线播放;m3u8可以简单的理解成一种标准,用于说明和实现HLS播放,包括TS长度、时间戳是否有跳变、码率适配等。本申请提到m3u8的主要目的是利用解析出来的ENDLIST标签来判断是否完成当前数据的下载。
步骤S102,若所述服务器返回与所述当前URL不同的新URL,创建与所述新URL对应的新视频数据源,根据所述新URL对应的m3u8列表下载TS片段,并忽略所述当前URL对应的最后TS片段所解析出的标识,所述标识用于通知所述客户端退出播放器。
客户端获取所述播放器发送的当前TS片段(即视频数据源)已完成下载的消息。并根据片源内容查询所述服务器获取的视频对应的资源定位符URL列表中有新资源定位符URL生成。此时会有两种查询结果:
(1)客户端根据片源内容有查询到服务器获取的视频对应的资源定位符URL列表中有新URL生成,创建与所述新URL对应的新视频数据源,根据所述新URL对应的m3u8列表下载TS片段,并以此播放HLS网络视频。
(2)客户端根据片源内容没有查询到所述服务器获取的视频对应的资源定位符URL列表中有新资源定位符URL生成;则按现有技术进行播放。
在本申请的优选实施例中,该步骤中根据所述新URL对应的m3u8列表下载TS片段的具体过程如下:
步骤a)获取所述新URL对应的m3u8列表中的TS片段地址;
步骤b)所述播放器通过所述TS片段地址下载所述TS片段以生成片源数据;
步骤c)将所述片源数据存放在所述新视频数据源中。
具体地,如图3所示,当APP应用查询从片源商服务器获取到的资源定位符URL列表,根据片源内容向片源商服务器发送消息,片源商服务器收到请求消息加以处理,并将视频对应的新资源定位符URL的地址返回给客户端,进而客户端从片源商服务器获取HLS视频的新URL地址,创建与新URL对应的视频数据源。
在上述设置新视频数据源的过程中,播放器根据新URL对应的m3u8中提供的TS片段地址从片源商服务器下载TS片段以生成新片源数据,并将新片源数据存放在新络视频数据源中。并且,当播放器收到由TS片段解析出的EOS标志后进行忽略,通过不对EOS标志进行处理以实现HLS视频的无缝播放。
此外,为了确保原有的视频数据源不对现有的视频播放造成影响,在本申请的优选实施例中,还会在根据所述新URL对应的m3u8列表下载TS片段将所述新视频数据源接入所述播放器中。这样存放在新络视频数据源中的新片源数据会通过相应的模块处理后显示出需要播放的视频。具体播放过程为现有技术,故在此不做说明,此外,在接入新视频数据源的过程中可以依据实际情况选择是否需要移除当前视频数据源,这些都属于本申请的保护范围。
在以上过程中,播放器从片源商服务器通过下载TS片段所生成的片源数据在存放在视频数据源中之后,生成的片源数据会继续通过视频播放系统的插件缓冲区Queue元件、解复用器Demux元件、解码器Decoder元件、显示Sink元件等直至最终显示,显示方式的不同不影响本申请的保护范围。
举例来说,缓冲区Queue元件用于在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,缓冲区Queue元件用于当创建视频的数据源中无数据后,删除创建视频的数据源,并将创建与新URL对应的数据源中的新片源数据插入表的后端;解复用器Demux元件是用于分离两个或先前被一个兼容复用器组合并传输通过一个信号信道的多个信号的设备。在本申请的具体实施例中,用于分离一个文件中的片源数据的视频数据或是音频数据;解码器Decoder元件用于对片源数据的视频数据或是音频数据的解码;显示Sink元件用于传输解码好的片源数据的视频数据或是音频数据,以实现播放视频。
与现有技术相比,本申请实施例所提出的技术方案的有益技术效果包括:
本申请提供了一种基于GStreamer框架的视频播放方法,应用于HLS网络视频播放系统中的客户端,该HLS网络视频播放系统还包括服务器,根据当前URL对应的m3u8列表接收到ENDLIST标签,并向服务器请求目标URL,若服务器返回与当前URL不同的新URL,创建与新URL对应的新视频数据源,根据新URL对应的m3u8列表下载TS片段,并忽略当前URL对应的最后TS片段所解析出的标识,该标识用于通知客户端退出播放器。该方案通过在收到ENDLIST标签时主动请求更新URL,并在判断出返回的URL发生更新变化后,忽略当前URL对应的最后TS片段所解析出的标识,以确保播放器不退出,从而避免了视频播放过程中由于重建播放器所导致的中断,提高了用户的使用体验。
为了进一步阐述本申请的技术思想,现结合具体的应用场景,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例是基于创建流媒体应用程序管线GStreamer管道概念如图2所示,每一个模块都为管道pipeline(计算机用语,意思是导管及物动词,用导管输送)中的一环,包括有数据源source元件、缓冲区Queue元件、解复用demux元件、解码decoder元件、以及显示sink元件等,其最大的特点是各个管道可根据需求单独创建和销毁,不必依赖其他模块,所以基于该特点进行应用APP和管道搭建的改进,就可以实现HLS视频的播放的无缝切换。
本申请实施例所提出的技术方案具体步骤如图4所示。
步骤a,应用APP根据片源内容获取资源定位符URL列表。
具体地,应用APP根据用户选择观看视频的片源内容,向片源商服务器发送请求消息,片源商服务器收到请求消息加以处理,将视频对应的资源定位符URL的地址返回给应用APP,进而应用APP从片源商服务器获取HLS视频的资源定位符URL列表。
步骤b,应用APP根据获取资源定位符URL列表,创建网络播放器。
具体地,然后应用APP调用系统接口,根据当前资源定位符URL地址,并创建网络播放器,设置创建视频的数据源,完成管道pipeline搭建工作。
步骤c,应用APP获取资源定位符URL列表,设置视频数据源。
具体地,应用APP根据获取资源定位符URL列表,设置创建视频的数据源,播放器根据资源定位符URL对应的m3u8中提供的TS片段地址,从片源商服务器下载TS片段以生成片源数据,并存放在创建视频的数据源中。
步骤d,播放器根据m3u8中的ENDLIST标签判断当前资源定位符URL是否还有数据下载。
若播放器收到m3u8中的ENDLIST标签,则增加调用notify函数,将当前TS片段(即创建视频的数据源)已完成下载的消息通知APP应用,请求新的资源定位符URL;并执行步骤e。
若播放器没有收到m3u8中的ENDLIST标签,则将存放在创建视频的数据源中的片源数据经过缓冲区Queue元件缓冲到达解复用Demux元件;继而解复用Demux元件将一个文件中的片源数据的视频数据或是音频数据分离;进而到达解码Decoder元件,解码Decoder元件对片源数据的视频数据或是音频数据的解码;最后显示Sink元件实现视频的播放。该步骤说明为现有技术,如图1为现有技术中建流媒体应用程序管线GStreamer框架管道概念图。
步骤e,应用APP判断是否有新资源定位符URL列表,并设置视频数据源。
若应用APP发现有新资源定位符URL地址,则设置所新视频数据源,播放器根据新资源定位符URL对应的m3u8中提供的TS片段地址,从片源商服务器下载TS片段以生成新片源数据,并存放在新视频数据源中。
进一步地,当播放器Plaeyr收到由TS片段解析出的EOS标志后进行忽略,不做处理。其中,最后一个TS片段解析出的标志(EOS标志)用于通知播放器退出,本申请实施例中,当播放器Plaeyr收到由TS片段解析出的EOS标志后进行忽略,不做处理可以实现HLS视频的无缝播放。
若应用APP发现没有新资源定位符URL列表生成,则播放器停止下载TS片段,待片源数据播放完毕后,播放器收到最后一个TS片段解析出来EOS标志,然后退出播放器。
与现有技术相比,本申请实施例所提出的技术方案的有益技术效果包括:
基于GStreamer框架可自由实现管道各个部分的销毁和创建的特点,保证不同数据源Source替换的可行性;针对HLS视频播放场景,考虑同一部电视剧不同资源定位符URL提供m3u8中TS片段编码解码的一致性以及m3u8中包含ENDLIST标签的特点,在切换到下一集的过程中,只需对整个管道中的数据源Source端进行处理,保证Player无需考虑解码器Decoder等资源释放和重新创建;方法中新数据源的创建和销毁,不依赖于视频播放是否完成,无需考虑预设时间,只根据前一数据源是否完成下载工作,即是否收到ENDLIST标签,以及是否有新的资源定位符URL地址,从而保证了数据源Source端数据的连续下载;通过数据源Source端数据下载机制的处理,实现从当前视频播放结束后无缝切换到下一集的目标,有效避免了因播放器重新创建或数据下载不足时出现的黑屏、缓冲等中断播放行为。
基于与上述方法同样的发明构思,本申请实施例中还提供了一种基于GStreamer框架的视频播放装置,作为客户端应用于HLS网络视频播放系统中,所述HLS网络视频播放系统还包括服务器,如图5所示,包括存储器510和处理器520;
所述存储器510用于存储计算机程序;
所述处理器520用于执行所述计算机程序以实现如上任意一项所述的基于GStreamer框架的视频播放方法。
相应的,本申请还提出了一种计算机存储介质,该装置包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序以实现如上任意一项所述的基于GStreamer框架的视频播放方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。
本领域技术人员可以理解实施场景中的设备中的模块可以按照实施场景描述进行分布于实施场景的设备中,也可以进行相应变化位于不同于本实施场景的一个或多个设备中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

Claims (7)

1.一种基于GStreamer框架的视频播放方法,应用于HLS网络视频播放系统中的客户端,所述HLS网络视频播放系统还包括服务器,其特征在于,该方法包括:
根据当前统一资源定位符URL对应的m3u8列表接收到ENDLIST标签,并向所述服务器请求目标URL;
若所述服务器返回与所述当前URL不同的新URL,创建与所述新URL对应的新视频数据源,根据所述新URL对应的m3u8列表下载TS片段,并忽略所述当前URL对应的最后TS片段所解析出的标识,所述标识用于通知所述客户端退出播放器。
2.如权利要求1所述的方法,其特征在于,在根据所述当前URL对应的m3u8列表接收到ENDLIST标签之前,还包括:
从所述服务器获取HLS网络视频的URL列表;
根据所述URL列表中包含的所述当前URL创建所述播放器;
根据所述当前URL设置当前视频数据源,并通过所述当前视频数据源保存所述HLS网络视频的数据。
3.如权利要求2所述的方法,其特征在于,根据所述新URL对应的m3u8列表下载TS片段,具体为:
获取所述新URL对应的m3u8列表中的TS片段地址;
所述播放器通过所述TS片段地址下载所述TS片段以生成片源数据;
将所述片源数据存放在所述新视频数据源中。
4.如权利要求3所述的方法,其特征在于,在创建与所述新URL对应的新视频数据源之后,还包括:
将所述新视频数据源接入所述播放器中。
5.如权利要求3所述的方法,其特征在于,所述标识具体为EOS标志,还包括:
若所述服务器返回为与所述当前URL相同的URL,接收所述当前URL对应的最后TS片段所解析出的标识,并根据所述标识退出所述播放器。
6.一种基于GStreamer框架的视频播放装置,作为客户端应用于HLS网络视频播放系统中,所述HLS网络视频播放系统还包括服务器,其特征在于,所述装置包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序以实现权利要求1至权利要求5中任意一项所述的基于GStreamer框架的视频播放方法。
7.一种计算机存储介质,其特征在于,所述计算机存储介质用于存储计算机程序;
处理器用于执行所述计算机程序以实现权利要求1至权利要求5中任意一项所述的基于GStreamer框架的视频播放方法。
CN201710787541.7A 2017-09-04 2017-09-04 一种基于GStreamer框架的视频播放方法 Active CN107517411B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710787541.7A CN107517411B (zh) 2017-09-04 2017-09-04 一种基于GStreamer框架的视频播放方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710787541.7A CN107517411B (zh) 2017-09-04 2017-09-04 一种基于GStreamer框架的视频播放方法

Publications (2)

Publication Number Publication Date
CN107517411A CN107517411A (zh) 2017-12-26
CN107517411B true CN107517411B (zh) 2020-08-25

Family

ID=60723915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710787541.7A Active CN107517411B (zh) 2017-09-04 2017-09-04 一种基于GStreamer框架的视频播放方法

Country Status (1)

Country Link
CN (1) CN107517411B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108174284B (zh) * 2017-12-29 2020-09-15 航天科工智慧产业发展有限公司 一种基于Android系统的解码视频的方法
CN108989890B (zh) * 2018-09-03 2021-01-26 四川长虹电器股份有限公司 基于GStreamer框架的音视频错源排查方法
CN109194698A (zh) * 2018-11-01 2019-01-11 浩云科技股份有限公司 一种基于GStreamer框架的实时视频处理系统及方法
CN109922368B (zh) * 2019-02-18 2021-09-21 海信视像科技股份有限公司 一种基于网页页面的图片显示方法及智能电视
CN110177304A (zh) * 2019-05-27 2019-08-27 四川长虹电器股份有限公司 一种本地无缝衔接播放hls片源列表的方法
CN113992942A (zh) * 2019-12-05 2022-01-28 腾讯科技(深圳)有限公司 视频的拼接方法及装置、计算机存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103686255A (zh) * 2013-11-22 2014-03-26 乐视致新电子科技(天津)有限公司 一种基于hls协议的视频广告投放方法及其装置
CN103763609A (zh) * 2013-11-22 2014-04-30 乐视致新电子科技(天津)有限公司 一种基于hls协议的频道切换方法及其装置
CN104113790A (zh) * 2013-04-16 2014-10-22 优视科技有限公司 一种基于安卓操作系统的视频播放方法及装置
CN104581207A (zh) * 2014-12-23 2015-04-29 乐视致新电子科技(天津)有限公司 在线播放视频的方法、系统和播放应用代理设备
CN106921865A (zh) * 2017-05-11 2017-07-04 腾讯科技(深圳)有限公司 视频处理方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2479455B (en) * 2010-04-07 2014-03-05 Apple Inc Real-time or near real-time streaming
CN104333818A (zh) * 2014-10-17 2015-02-04 中兴通讯股份有限公司 一种http实时流媒体分片的拼接方法及拼接系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104113790A (zh) * 2013-04-16 2014-10-22 优视科技有限公司 一种基于安卓操作系统的视频播放方法及装置
CN103686255A (zh) * 2013-11-22 2014-03-26 乐视致新电子科技(天津)有限公司 一种基于hls协议的视频广告投放方法及其装置
CN103763609A (zh) * 2013-11-22 2014-04-30 乐视致新电子科技(天津)有限公司 一种基于hls协议的频道切换方法及其装置
CN104581207A (zh) * 2014-12-23 2015-04-29 乐视致新电子科技(天津)有限公司 在线播放视频的方法、系统和播放应用代理设备
CN106921865A (zh) * 2017-05-11 2017-07-04 腾讯科技(深圳)有限公司 视频处理方法及装置

Also Published As

Publication number Publication date
CN107517411A (zh) 2017-12-26

Similar Documents

Publication Publication Date Title
CN107517411B (zh) 一种基于GStreamer框架的视频播放方法
US11877017B2 (en) System for measuring video playback events using a server generated manifest/playlist
US11910035B2 (en) Systems and methods for interrupting streaming content provided via an inviolate manifest protocol
TWI461043B (zh) 用於即時或接近即時串流傳輸之播放清單
US8850054B2 (en) Hypertext transfer protocol live streaming
US8990849B2 (en) Advertisement insertion into media content for streaming
US10116971B2 (en) Method and system for fetching a portion of a live media stream before a first ad finishes playing to detect the subsequent ad indicator for live consecutive ad replacement
US20170195744A1 (en) Live-stream video advertisement system
TW201202975A (en) Real-time or near real-time streaming
TW201210324A (en) Real-time or near real-time streaming
CN104394443A (zh) 一种在hls直播流媒体中进行节目动态插入播放的方法
US11405683B2 (en) Reception apparatus, reception method, transmission apparatus, and transmission method for controlling termination of application
KR20170141677A (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
US10750248B1 (en) Method and apparatus for server-side content delivery network switching
US9465923B2 (en) Blackouts architecture
KR101313592B1 (ko) 스트리밍 재생 방법 및 이를 이용한 컴퓨팅 장치
US20220321945A1 (en) Server-side digital content insertion in audiovisual streams broadcasted through an interactive live streaming network
CN108377429A (zh) 一种视频流的拆条和抽帧方法
US11005908B1 (en) Supporting high efficiency video coding with HTTP live streaming
KR20170141676A (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
JP7454951B2 (ja) コンテンツ配信装置、端末、およびプログラム
KR102149724B1 (ko) 개인화 광고를 제공하는 장치
KR20200018890A (ko) 무선 스트리밍 방법
JP2015167400A (ja) 情報処理装置、データ管理方法、およびプログラム
JP2014135756A (ja) 情報処理装置、データ管理方法、およびプログラム

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218

Applicant after: Hisense Video Technology Co., Ltd

Address before: 266555 Qingdao economic and Technological Development Zone, Shandong, Hong Kong Road, No. 218

Applicant before: HISENSE ELECTRIC Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant