CN110213659B - 一种可在不同视频流间快速切换播放器的实现方法 - Google Patents
一种可在不同视频流间快速切换播放器的实现方法 Download PDFInfo
- Publication number
- CN110213659B CN110213659B CN201910586778.8A CN201910586778A CN110213659B CN 110213659 B CN110213659 B CN 110213659B CN 201910586778 A CN201910586778 A CN 201910586778A CN 110213659 B CN110213659 B CN 110213659B
- Authority
- CN
- China
- Prior art keywords
- player
- decoder
- video
- information
- video stream
- 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
Links
Images
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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- 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/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/458—Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
- H04N21/4586—Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
-
- 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/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8193—Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种可在不同视频流间快速切换播放器的实现方法。它将播放器的释放、播放器的创建和对解码器实例的处理进行三者分离且进行并行化处理,具体操作步骤如下:播放器的释放:关闭播放器和视频流接收;播放器的创建:创建播放器,开始接收视频流,获得视频编码信息,获取关键帧,实现视频流接收;对解码器实例的处理:预读取视频流信息,视频流信息比对,判断信息是否匹配,如果不匹配,先释放关闭解码器后,创建并初始化解码器;后与匹配一致,进入解码状态,解码并产生输出。本发明的有益效果是:使得用户在终端上在不同视频间切换时可以得到更快的体验,解码器的初始化可以不再依赖于数据接收,把串行的过程变为并行,达到加速目的。
Description
技术领域
本发明涉及视频播放相关技术领域,尤其是指一种可在不同视频流间快速切换播放器的实现方法。
背景技术
在传统的播放器实现下,当用户正在观看一个视频时,如果要切换到下一播放器,通常需要先关闭释放前一个播放器所占用的资源(解码器、解复用器、网络资源等),然后分配一个新的播放器实例来接收新的视频流数据。在硬件的不断更新换代之下,这个过程正变得越来越小,但是由于视频技术规格以及硬件的一些特性,使得这个过程不可能完全消除,在不同终端设备上这个过程通常会耗费几百毫秒到数秒的时间,这对于观看视频的用户来说是一种非常不好的体验。
正常情况下,一个视频播放器的生命周期如下:
1.设置并解析视频流地址,与服务器交互;
2.获取视频流地址,并读取视频解码所需要的基本信息;
3.初始化视频解码器和视频输出设备;
4.持续接收并解析视频流,送入解码器解码;
5.解码器开始输出数据,到输出设备完成渲染(用户看到第一帧画面);
6.接收到关闭指令,开始释放相关资源(流接收、解复用);
7.关闭视频解码器和输出设备;
8.释放播放器其余资源,完成关闭。
这个业界通用的流程有其合理性:不同视频流一般来说会采用不同的编码方式和参数,这种情况下解码器和输出设备必须重新初始化不然无法正常工作;网络连接等流接收资源就更不用说了,肯定是无法复用的。但是正因为其通用的特性,使得其无法实现高效的切换效果。而且由于解码器厂家的差异,关闭-重新初始化的耗时有可能相当大,造成整体体验下降。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种能够实现高效切换效果的可在不同视频流间快速切换播放器的实现方法。
为了实现上述目的,本发明采用以下技术方案:
一种可在不同视频流间快速切换播放器的实现方法,将播放器的释放、播放器的创建和对解码器实例的处理进行三者分离,具体操作步骤如下:
(1)播放器的释放:先关闭播放器,后关闭视频流接收,完成关闭;
(2)播放器的创建:先创建播放器,后开始接收视频流,获得视频编码信息,获取关键帧,实现视频流接收;
(3)对解码器实例的处理:先预读取视频流信息,后视频流信息比对,判断信息是否匹配,如果不匹配,则释放关闭解码器后,创建并初始化解码器,进入解码状态,解码并产生输出;如果匹配,则直接进入解码状态,解码并产生输出;
其中:步骤(1)、步骤(2)和步骤(3)三者互不干扰,并同时进行实现并行化处理。
本发明对播放器流程进行优化,将解码器/输出设备实例与播放器实例进行分离,也就是说,一条流播放结束的时候,我们并不会关闭/释放视频解码器和输出设备。这样做的好处是,当切换到下一个视频流,并且这个视频流的编码信息与原先播放的流其实是一样的,那么我们就无需进行比较耗时的关闭解码器-重新创建和初始化解码器操作(在特定设备上,耗时可能达到几百毫秒),直接利用现有解码实例解码即可,从而使得用户在终端上在不同视频间切换时可以得到更快的体验。通过预读取视频流信息,解码器的初始化可以不再依赖于数据接收,把串行的过程变为并行,从而达到加速目的。
作为优选,在步骤(3)中,针对视频流信息比对:为了能提前知道上一个视频流或者下一个视频流的编码信息进行快速比对,引入了频道信息缓存机制,通过这个缓存机制,所有视频流的编码格式以及解码所需参数信息都被保存在本地数据库内,使用时可在无需接收数据的情况下直接通过查询本地数据库得到任意已知视频流的相关信息。
作为优选,本地数据库的更新由EPG更新或者每次播放该视频触发,同时播放器在播放过程中仍然会对数据进行检测。
作为优选,播放器在播放过程中对数据进行检测时,检测到解码参数变更,将会退出解码状态,然后释放关闭解码器,创建并初始化解码器并且更新本地数据库,进入解码状态,解码并产生输出。
作为优选,在步骤(2)中,将获取的视频编码信息跟步骤(3)中的本地数据库缓存的视频信息进行比对匹配,在匹配命中成功时,则直接复用解码器。
本发明的有益效果是:使得用户在终端上在不同视频间切换时可以得到更快的体验,解码器的初始化可以不再依赖于数据接收,把串行的过程变为并行,从而达到加速目的。
附图说明
图1是本发明的结构示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
如图1所述的实施例中,一种可在不同视频流间快速切换播放器的实现方法,将播放器的释放、播放器的创建和对解码器实例的处理进行三者分离,具体操作步骤如下:
(1)播放器的释放:先关闭播放器,后关闭视频流接收,完成关闭;
(2)播放器的创建:先创建播放器,后开始接收视频流,获得视频编码信息,获取关键帧,实现视频流接收;将获取的视频编码信息跟步骤(3)中的本地数据库缓存的视频信息进行比对匹配,在匹配命中成功时,则直接复用解码器。
(3)对解码器实例的处理:先预读取视频流信息,后视频流信息比对,判断信息是否匹配,如果不匹配,则释放关闭解码器后,创建并初始化解码器,进入解码状态,解码并产生输出;如果匹配,则直接进入解码状态,解码并产生输出;
针对视频流信息比对:为了能提前知道上一个视频流或者下一个视频流的编码信息进行快速比对,引入了频道信息缓存机制,通过这个缓存机制,所有视频流的编码格式以及解码所需参数信息都被保存在本地数据库内,使用时可在无需接收数据的情况下直接通过查询本地数据库得到任意已知视频流的相关信息;通过这个机制,解码器的初始化可以不再依赖于数据接收,把串行的过程变为并行,从而达到加速目的。为了保证播放器的可靠性,本地数据库的更新由EPG更新或者每次播放该视频触发,同时播放器在播放过程中仍然会对数据进行检测;这样即使数据库中并没有这条流的信息,或者说存的是错误的信息,都不会影响视频流的正常播放,只是让视频流的切换速度回落到正常情况而已。播放器在播放过程中对数据进行检测时,检测到解码参数变更,将会退出解码状态,然后释放关闭解码器,创建并初始化解码器并且更新本地数据库,进入解码状态,解码并产生输出。
其中:步骤(1)、步骤(2)和步骤(3)三者互不干扰,并同时进行实现并行化处理。
本发明对播放器流程进行优化,将解码器/输出设备实例与播放器实例进行分离,也就是说,一条流播放结束的时候,我们并不会关闭/释放视频解码器和输出设备。这样做的好处是,当切换到下一个视频流,并且这个视频流的编码信息与原先播放的流其实是一样的,那么我们就无需进行比较耗时的关闭解码器-重新创建和初始化解码器操作(在特定设备上,耗时可能达到几百毫秒),直接利用现有解码实例解码即可。
从图1可见,前一个播放器的释放,下一个播放器的创建,以及对解码器实例的处理,三者互不干扰,可同时进行,把耗时的#T3.4/3.5,#T2.3/2.4实现了并行化处理。另外,解码器这块自己实现了本地数据库缓存视频信息进行比对匹配,在匹配命中成功时,可直接复用解码器。在一些特定场景下可实现非常高的命中率,比如:IPTV直播、内容高度规格化的视频网站。
Claims (4)
1.一种可在不同视频流间快速切换播放器的实现方法,其特征是,将播放器的释放、播放器的创建和对解码器实例的处理进行三者分离,具体操作步骤如下:
(1)播放器的释放:先关闭播放器,后关闭视频流接收,完成关闭;
(2)播放器的创建:先创建播放器,后开始接收视频流,获得视频编码信息,获取关键帧,实现视频流接收;
(3)对解码器实例的处理:先预读取视频流信息,后视频流信息比对,判断信息是否匹配,如果不匹配,则释放关闭解码器后,创建并初始化解码器,进入解码状态,解码并产生输出;如果匹配,则直接进入解码状态,解码并产生输出;针对视频流信息比对:为了能提前知道上一个视频流或者下一个视频流的编码信息进行快速比对,引入了频道信息缓存机制,通过这个缓存机制,所有视频流的编码格式以及解码所需参数信息都被保存在本地数据库内,使用时可在无需接收数据的情况下直接通过查询本地数据库得到任意已知视频流的相关信息;
其中:步骤(1)、步骤(2)和步骤(3)三者互不干扰,并同时进行实现并行化处理。
2.根据权利要求1所述的一种可在不同视频流间快速切换播放器的实现方法,其特征是,本地数据库的更新由EPG更新或者每次播放该视频触发,同时播放器在播放过程中仍然会对数据进行检测。
3.根据权利要求2所述的一种可在不同视频流间快速切换播放器的实现方法,其特征是,播放器在播放过程中对数据进行检测时,检测到解码参数变更,将会退出解码状态,然后释放关闭解码器,创建并初始化解码器并且更新本地数据库,进入解码状态,解码并产生输出。
4.根据权利要求1或2或3所述的一种可在不同视频流间快速切换播放器的实现方法,其特征是,在步骤(2)中,将获取的视频编码信息跟步骤(3)中的本地数据库缓存的视频信息进行比对匹配,在匹配命中成功时, 则直接复用解码器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910586778.8A CN110213659B (zh) | 2019-07-01 | 2019-07-01 | 一种可在不同视频流间快速切换播放器的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910586778.8A CN110213659B (zh) | 2019-07-01 | 2019-07-01 | 一种可在不同视频流间快速切换播放器的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110213659A CN110213659A (zh) | 2019-09-06 |
CN110213659B true CN110213659B (zh) | 2021-06-08 |
Family
ID=67795840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910586778.8A Active CN110213659B (zh) | 2019-07-01 | 2019-07-01 | 一种可在不同视频流间快速切换播放器的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110213659B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113225605B (zh) * | 2020-02-05 | 2024-03-01 | 腾讯科技(深圳)有限公司 | 视频播放处理方法、装置、电子设备及存储介质 |
CN112463335A (zh) * | 2020-12-03 | 2021-03-09 | Oppo广东移动通信有限公司 | 一种应用程序运行方法、装置和存储介质 |
CN112637636B (zh) * | 2020-12-23 | 2022-02-22 | 新华三大数据技术有限公司 | 一种视频流处理方法及装置 |
CN113259744B (zh) * | 2021-05-13 | 2023-08-01 | 北京字跳网络技术有限公司 | 视频的展示方法、装置、设备及介质 |
CN113810741B (zh) * | 2021-10-25 | 2024-02-02 | 华动高车(无锡)科技有限公司 | 一种直录播视频混合编排播放控制系统及方法 |
CN114222182B (zh) * | 2021-12-15 | 2024-02-09 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种视频播放方法及装置 |
CN114302172B (zh) * | 2021-12-28 | 2023-08-18 | 威创集团股份有限公司 | 无缝切换方法、分布式拼接系统、存储介质及计算机设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335883A (zh) * | 2007-06-29 | 2008-12-31 | 国际商业机器公司 | 在数字视频广播系统中对视频流进行处理的方法和设备 |
CN101442586A (zh) * | 2008-12-31 | 2009-05-27 | 中兴通讯股份有限公司 | 一种多媒体播放方法及播放终端 |
CN103856806A (zh) * | 2012-11-28 | 2014-06-11 | 腾讯科技(北京)有限公司 | 视频流切换方法、装置及系统 |
CN104219579A (zh) * | 2014-08-20 | 2014-12-17 | 北京奇艺世纪科技有限公司 | 一种视频切换方法和装置 |
CN105657524A (zh) * | 2016-01-13 | 2016-06-08 | 上海视云网络科技有限公司 | 一种视频间无缝切换的方法 |
CN108882038A (zh) * | 2018-06-25 | 2018-11-23 | 苏宁易购集团股份有限公司 | 一种基于Android的多路视频播放方法 |
CN109891899A (zh) * | 2016-10-25 | 2019-06-14 | 伊瑟有限公司 | 视频内容切换和同步系统及用于在多种视频格式之间切换的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9344292B2 (en) * | 2011-12-30 | 2016-05-17 | Sonos, Inc. | Systems and methods for player setup room names |
CN105407407A (zh) * | 2014-06-26 | 2016-03-16 | 广州市动景计算机科技有限公司 | 视频的播放方法和装置 |
CN104768051B (zh) * | 2015-03-06 | 2017-12-15 | 深圳市九洲电器有限公司 | 多编码格式节目流的自适应切换方法及系统 |
CN106961634B (zh) * | 2017-03-31 | 2020-01-17 | 青岛海信电器股份有限公司 | Vod视频结束播放后启动dtv信号的方法、装置和终端设备 |
CN107071549A (zh) * | 2017-05-05 | 2017-08-18 | 深圳Tcl数字技术有限公司 | 单解码器下多播放器快速切换方法、装置及存储介质 |
CN109246462B (zh) * | 2018-10-11 | 2021-08-06 | 苏宁易购集团股份有限公司 | 一种视频流无缝切换方法及装置 |
-
2019
- 2019-07-01 CN CN201910586778.8A patent/CN110213659B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335883A (zh) * | 2007-06-29 | 2008-12-31 | 国际商业机器公司 | 在数字视频广播系统中对视频流进行处理的方法和设备 |
CN101442586A (zh) * | 2008-12-31 | 2009-05-27 | 中兴通讯股份有限公司 | 一种多媒体播放方法及播放终端 |
CN103856806A (zh) * | 2012-11-28 | 2014-06-11 | 腾讯科技(北京)有限公司 | 视频流切换方法、装置及系统 |
CN104219579A (zh) * | 2014-08-20 | 2014-12-17 | 北京奇艺世纪科技有限公司 | 一种视频切换方法和装置 |
CN105657524A (zh) * | 2016-01-13 | 2016-06-08 | 上海视云网络科技有限公司 | 一种视频间无缝切换的方法 |
CN109891899A (zh) * | 2016-10-25 | 2019-06-14 | 伊瑟有限公司 | 视频内容切换和同步系统及用于在多种视频格式之间切换的方法 |
CN108882038A (zh) * | 2018-06-25 | 2018-11-23 | 苏宁易购集团股份有限公司 | 一种基于Android的多路视频播放方法 |
Non-Patent Citations (1)
Title |
---|
基于CPLD的多路视频帧切换技术研究;黄海路,蒋念东;《微计算机信息》;20100915;第26卷(第9-2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110213659A (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110213659B (zh) | 一种可在不同视频流间快速切换播放器的实现方法 | |
CN109168078B (zh) | 一种视频清晰度切换方法及装置 | |
US9769543B2 (en) | Enhanced metadata and content delivery using watermarks | |
TWI571113B (zh) | 視訊位元流中之隨機存取 | |
KR101073950B1 (ko) | 정보 처리 장치 및 정보 처리 방법, 및 기록 매체 | |
CN107690073B (zh) | 一种视频直播方法及视频直播服务器 | |
CN107634930B (zh) | 一种媒体数据的获取方法和装置 | |
US20150358507A1 (en) | Timing recovery for embedded metadata | |
TWI508540B (zh) | 一種資料處理方法和系統 | |
CN105187896B (zh) | 多分段的媒体文件播放方法和系统 | |
KR20090019830A (ko) | 비디오를 식별하고 동기화하기 위한 핑거프린트, 장치 및 방법 | |
KR20000064301A (ko) | 정보전송방법 및 그 방법이 적용되는 정보전송시스템에 있어서의 부호화장치/복호화장치 및 부호화·다중화장치/복호화·역다중화장치 | |
CN108574877B (zh) | 直播方法、主播端、观众端、设备、系统及存储介质 | |
WO2017036568A1 (en) | Improved cloud dvr storage | |
CN112740325B (zh) | 即时播放帧(ipf)的生成、传输及处理的方法、设备及系统 | |
US20130107118A1 (en) | System and method for transport stream sync byte detection with transport stream having multiple emulated sync bytes | |
US7839925B2 (en) | Apparatus for receiving packet stream | |
CN110139128B (zh) | 一种信息处理方法、拦截器、电子设备及存储介质 | |
US9009760B2 (en) | Provisioning interactive video content from a video on-demand (VOD) server | |
CN108600785B (zh) | 视频串流中子程序的同步方法及计算机可读存储介质 | |
CN101622873B (zh) | 由服务器播送音频和视频数据序列的方法 | |
CN113099238B (zh) | 一种用于判断安卓手机播放视频的解码方法 | |
CN115643429A (zh) | 视频播放方法、装置、电子设备及计算机可读存储介质 | |
CN107248991B (zh) | 基于视频关键帧的ip流调度系统及方法 | |
JP6679500B2 (ja) | 視聴覚コンテンツストリームをmpeg−2プライベートセクションでカプセル化する方法、mpeg−2トランスポートストリームで多重送信されるように視聴覚コンテンツをmpeg−2プライベートセクションでカプセル化するためのデバイス、及び、視聴覚コンテンツおよび/またはデータを配信する方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |