CN111479165A - 软硬件解码分辨率无缝切换方法、装置及存储介质 - Google Patents
软硬件解码分辨率无缝切换方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111479165A CN111479165A CN201910061657.1A CN201910061657A CN111479165A CN 111479165 A CN111479165 A CN 111479165A CN 201910061657 A CN201910061657 A CN 201910061657A CN 111479165 A CN111479165 A CN 111479165A
- Authority
- CN
- China
- Prior art keywords
- decoder
- decoding
- video
- resolution
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004590 computer program Methods 0.000 claims description 9
- 238000009877 rendering Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
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/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/4402—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 reformatting operations of video signals for household redistribution, storage or real-time display
-
- 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4382—Demodulation or channel decoding, e.g. QPSK demodulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/40—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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 or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234363—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
-
- 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 or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4383—Accessing a communication channel
- H04N21/4384—Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
-
- 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/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- 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/8451—Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
-
- 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 Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及一种软硬件解码分辨率无缝切换方法、装置及计算机可读存储介质,属于互联网技术领域。本发明的软硬件解码分辨率无缝切换方法、装置及计算机可读存储介质,其在dash视频播放过程中,当需要进行分辨率切换时,根据原解码器收到的目标编码格式的视频流初始化软解码器,与此同时,原解码器的继续以原格式解码已存在于缓存中的原编码格式视频流,当编码格式视频流解码完成后,利用已初始化的软解码器解码具有目标编码格式的视频流,同时开始初始化与目标编码格式对应的第二硬解码器解码并解码,当第二硬解码器解码进度追上软解码器后,切换到第二硬解码器,停止软解码,从而实现分辨率之间的无缝切换,避免播放过程中产生卡顿,提高了用户体验。
Description
技术领域
本发明涉及互联网技术领域,特别涉及网络视频技术领域,具体是指一种软硬件解码分辨率无缝切换方法、装置及计算机可读存储介质。
背景技术
现有的移动播放器通常可以提供软件解码和硬件解码两种视频解码方案。一般情况下,播放器客户端通常优先使用硬件解码,因为硬件解码占用更低的系统资源,具有更高的运算性能。
dash视频是一种常用的网络视频格式,在dash视频播放过程中,切换视频清晰度,涉及到视频编码变化,在一定的情况下,视频解码器需要适应H.264和H.265之间切换。由于解码器初始化需要一定的时间,因此切换时容易出现卡顿,视频不流畅,用户观看体验较差。
如何提供适用于dash视频的硬件解码分辨率无缝切换方法,避免播放过程中产生卡顿,提高用户体验,成为本领域亟待解决的问题。
发明内容
本发明的目的是克服了上述现有技术中的缺点,提供一种分辨率切换时,首先初始化软解码器,利用软解码器进行对应的第二解码器解码,同时开始第二硬解码器解码,当硬解码进度赶上软解码器时,再切换到硬解码,从而实现分辨率之间的无缝切换的软硬件解码分辨率无缝切换方法、装置及存储介质。
为了实现上述的目的,本发明的软硬件解码分辨率无缝切换方法包括以下步骤:
(1)播放器接收封装视频后,解封装所述的封装视频,获得具有第一编码格式的视频流;
(2)所述的播放器采用第一硬解码器解码所述的具有第一编码格式的视频流,并开始以第一分辨率播放视频;
(3)所述的播放器接收到切换分别率指令;
(4)所述的播放器解封装所述的封装视频,获得具有第二编码格式的视频流;
(5)所述的播放器采用软解码器解码所述的具有第二编码格式的视频流,并开始以第二分辨率播放视频;
(6)所述的播放器采用第二硬解码器解码所述的具有第二编码格式的视频流;
(7)当所述的第二硬解码器的解码进度追上所述的软解码器的解码进度时,播放该第二硬解码器解码获得的第二分辨率视频,并停止所述的软解码器。
该软硬件解码分辨率无缝切换方法中,所述的封装视频为dash格式视频。
该软硬件解码分辨率无缝切换方法中,所述的第一编码格式为H.264编码格式和H.265编码格式中的任意一种,所述的第二编码格式为上述两种编码格式中除所述第一编码格式外的另一种;所述的第一硬解码器为与所述第一编码格式对应格式的硬件解码器,所述的第二硬解码器为与所述第二编码格式对应格式的硬件解码器。
该软硬件解码分辨率无缝切换方法中,所述的第一编码格式与所述的第二编码格式也可以为相同的编码格式。
该软硬件解码分辨率无缝切换方法中,所述的步骤(5)具体包括以下步骤:
(51)所述的播放器将所述的具有第二编码格式的视频流发送至软解码器;
(52)所述的播放器根据所述的第二编码格式初始化软解码器;
(53)所述的软解码器解码所述的具有第二编码格式的视频流,并输出第二分辨率视频帧;
(54)当所述的第一硬解码器完成所述的具有第一编码格式的视频流解码后,所述的播放器开始渲染所述的第二分辨率视频帧,并以第二分辨率播放视频。
该软硬件解码分辨率无缝切换方法中,所述的步骤(7)具体包括以下步骤:
(71)所述的播放器实时比较从所述的软解码器获得的第二分辨率视频帧和从所述的第二硬解码器获得的第二分辨率视频帧,对二者中时间戳更大的进行渲染;
(72)当从所述的第二硬解码器获得的第二分辨率视频帧的时间戳大于从所述的软解码器获得的第二分辨率视频帧时,开始渲染从所述的第二硬解码器获得的第二分辨率视频帧,获得的第二分辨率视频并播放;
(73)停止所述的软解码器。
该软硬件解码分辨率无缝切换方法中,所述的步骤(3)具体为:
所述的播放器实时检测接收封装视频所用网络的带宽,根据检测结果自动生成切换分别率指令。
该软硬件解码分辨率无缝切换方法中,所述的步骤(3)具体为:
所述的播放器接收到的用户操作生成相应的切换分别率指令。
该软硬件解码分辨率无缝切换方法中,所述的步骤(2)具体包括以下步骤:
(21)所述的播放器采用软解码器解码所述的具有第一编码格式的视频流,并开始以第一分辨率播放视频;
(22)所述的播放器采用第一硬解码器解码所述的具有第一编码格式的视频流;
(23)当所述的第一硬解码器的解码进度追上所述的软解码器的解码进度时,播放该第一硬解码器解码获得的第一分辨率视频,并停止所述的软解码器。
该软硬件解码分辨率无缝切换方法中,所述的播放器为iOS视频播放器,所述的解码器为VideoToolbox硬件解码器。
该软硬件解码分辨率无缝切换方法中,所述的播放器为Android视频播放器,所述的解码器为MediaCodec硬件解码器。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述的软硬件解码分辨率无缝切换方法。
本发明还提供一种软硬件解码分辨率无缝切换装置,其包括处理器和存储器,所述的存储器上存储有计算机程序,该计算机程序被所述的处理器执行时,实现上述的软硬件解码分辨率无缝切换方法。
采用了该发明的软硬件解码分辨率无缝切换方法、装置及计算机可读存储介质,其在dash视频播放过程中,当需要进行分辨率切换时,根据原解码器收到的目标编码格式的视频流初始化软解码器,与此同时,原解码器的继续以原格式解码已存在于缓存中的原编码格式视频流,当编码格式视频流解码完成后,利用已初始化的软解码器解码具有目标编码格式的视频流,同时开始初始化与目标编码格式对应的第二硬解码器解码并解码,当第二硬解码器解码进度追上软解码器后,切换到第二硬解码器,停止软解码,从而实现分辨率之间的无缝切换,避免播放过程中产生卡顿,提高了用户体验。且本发明的软硬件解码分辨率无缝切换方法、装置及计算机可读存储介质,其实现方式简便,应用成本低廉,应用范围也相当广泛。
附图说明
图1为本发明的软硬件解码分辨率无缝切换方法的步骤流程图。
图2为本发明的软硬件解码分辨率无缝切换方法在实际应用中的流程示意图。
具体实施方式
为了能够更清楚地理解本发明的技术内容,特举以下实施例详细说明。
请参阅图1所示,为本发明的软硬件解码分辨率无缝切换方法的步骤流程图。
在一种实施方式中,该软硬件解码分辨率无缝切换方法,包括以下步骤:
(1)播放器接收dash格式封装视频后,解封装所述的封装视频,获得具有第一编码格式的视频流;
(2)所述的播放器采用第一硬解码器解码所述的具有第一编码格式的视频流,并开始以第一分辨率播放视频;
(3)所述的播放器接收到切换分别率指令;
(4)所述的播放器解封装所述的封装视频,获得具有第二编码格式的视频流;
(5)所述的播放器采用软解码器解码所述的具有第二编码格式的视频流,并开始以第二分辨率播放视频;软解码解出视频帧后,需要等待第一硬解码解完缓存,并渲染完成后,再出帧,以保持画面连续;
(6)所述的播放器采用第二硬解码器解码所述的具有第二编码格式的视频流;
(7)当所述的第二硬解码器的解码进度追上所述的软解码器的解码进度时,播放该第二硬解码器解码获得的第二分辨率视频,并停止所述的软解码器。
其中,所述的封装视频可以为dash格式视频。所述的第一编码格式为H.264编码格式,所述的第二编码格式为H.265编码格式,反之亦可。所述的第一硬解码器为与所述第一编码格式对应格式的硬件解码器,所述的第二硬解码器为与所述第二编码格式对应格式的硬件解码器。另外,所述的第一编码格式与所述的第二编码格式也可以为相同的编码格式,即都为H.264编码格式或都为H.265编码格式,但二者分辨率不同,例如均为H.264编码,分辨率分别为480P和720P。
在一种优选的实施方式中,所述的步骤(5)具体包括以下步骤:
(51)所述的播放器将所述的具有第二编码格式的视频流发送至软解码器;
(52)所述的播放器根据所述的第二编码格式初始化软解码器;
(53)所述的软解码器解码所述的具有第二编码格式的视频流,并输出第二分辨率视频帧;
(54)当所述的第一硬解码器完成所述的具有第一编码格式的视频流解码后,所述的播放器开始渲染所述的第二分辨率视频帧,并以第二分辨率播放视频。
在另一种优选的实施方式中,所述的步骤(7)具体包括以下步骤:
(71)所述的播放器实时比较从所述的软解码器获得的第二分辨率视频帧和从所述的第二硬解码器获得的第二分辨率视频帧,对二者中时间戳更大的进行渲染;
(72)当从所述的第二硬解码器获得的第二分辨率视频帧的时间戳大于从所述的软解码器获得的第二分辨率视频帧时,开始渲染从所述的第二硬解码器获得的第二分辨率视频帧,获得的第二分辨率视频并播放;
(73)停止所述的软解码器。
在又一种优选的实施方式中,所述的步骤(3)可以具体为:
所述的播放器实时检测接收封装视频所用网络的带宽,根据检测结果自动生成切换分别率指令。从而实现根据带宽的自动切换。
或者步骤(3)可以为:
所述的播放器接收到的用户操作生成相应的切换分别率指令,即采用手动切换。
在更优选的实施方式中,所述的步骤(2)具体包括以下步骤:
(21)所述的播放器采用软解码器解码所述的具有第一编码格式的视频流,并开始以第一分辨率播放视频;
(22)所述的播放器采用第一硬解码器解码所述的具有第一编码格式的视频流;
(23)当所述的第一硬解码器的解码进度追上所述的软解码器的解码进度时,播放该第一硬解码器解码获得的第一分辨率视频,并停止所述的软解码器。
利用该实施方式可以实现快速出首帧效果,节省用户等待时间,提升使用体验。
在更优选的实施方式中,所述的播放器也可以为Android视频播放器,相应地,所述的解码器为MediaCodec硬件解码器。
本发明还提供一种软硬件解码分辨率无缝切换装置及一种计算机可读存储介质,该装置包括处理器和存储器。所述的存储器即为所述的计算机可读存储介质,其上存储有计算机程序。该计算机程序被所述的处理器执行时,实现上述实施方式所述的软硬件解码分辨率无缝切换方法。
在实际应用中,本发明的硬件解码动态分辨率无缝切换方法的流程如图2所示,其具体实现方式,通过以下实施例说明。
实施例1
用户利用手机等移动端播放dash视频,移动端设置为硬件解码。此时设定的播放分辨率为480P。dash视频开始解封装,获得相应的H.264编码格式的视频流。初始化H.264硬解码器,并将所述的H.264编码格式的视频流解码出帧,即可以480P分辨率开始播放视频。当用户手动切换画质,从480P切换到720P时,切换流程如图2所示。dash视频解封装输出的视频编码变为H.265格式,变化的首帧需要携带codec初始化的extradata,用于初始化解码器的数据。解码器检测到编码变化后,创建软解码器,并把解封装的视频流(720P的视频流)复制一份至软解码器。分辨率变化后的携带codec初始化的extradata的第一帧用于软解码初始化。软解码器拿到视频流,开始解码,但是不渲染。第一硬解码器把缓存的480P视频流,全部解码完成后,让软解码开始渲染。第一硬解码器停止,然后重新创建初始化第二硬解码器,开始解码720P的视频流。第二硬解码器和软解码器在把解码后的视频帧放到视频渲染队列时,进行时间戳比较,选取较大的。当硬解码解出的视频帧的时间戳大于软解码解出的视频帧的时间戳时,停止软解码,开始由硬解码正常出帧,从而完成分辨率的无缝切换。
dash视频中,1080P和720P分辨率采用H.265编码,480P和360P分辨率采用H.264编码。因此,若从360P分辨率切换到1080P分辨率与上述过程相同。而分辨率由720P切换到480P,则采用与上述过程类似的从H.265解码器转换到H.264解码器的过程。
移动端可以是Android设备,则播放器为Android视频播放器,相应地,解码器为MediaCodec硬件解码器。
采用该实施例进行画质切换(清晰度切换,例如480P切到720P)时,切换过程中,需要对解码器进行重启,这个时候启动软解码,来弥补硬解码重启过程无法出帧的情况,使视频画面看上去更流畅。
实施例2
与上述实施例1的区别在于,用户所采用的手机等移动端可以检测网络带宽。在播放dash视频的过程中,检测到带宽的变化后,可以自动判断是否需要调整分辨率。若需要调整,则根据当前分辨率和目标分辨率适用实施例1所述的切换过程完成自动切换。采用自动切换模式可以最大程度适应带宽,避免卡顿,保证用户的观看体验。
实施例3
在开始dash视频播放时,也可采取先进行软解码而后转换到硬解码的方式。具体而言,
当播放器设定采用480P分辨率时,先采用软解码器解码H.264编码格式的视频流,并开始以480P分辨率播放视频;进而播放器采用第一硬解码器解码H.264编码格式的视频流;当第一硬解码器的解码进度追上所述的软解码器的解码进度时,播放该第一硬解码器解码获得的480P分辨率视频,并停止软解码器。由此可以实现起播过程中,同时创建软解码和硬解码,软解码出帧速度更快,从而弥补硬解码出首帧慢的情况,待硬解码追上后,再切换到硬解码,硬解码省电,占用cpu少,更流畅。
采用了该发明的软硬件解码分辨率无缝切换方法、装置及计算机可读存储介质,其在dash视频播放过程中,当需要进行分辨率切换时,根据原解码器收到的目标编码格式的视频流初始化软解码器,与此同时,原解码器的继续以原格式解码已存在于缓存中的原编码格式视频流,当编码格式视频流解码完成后,利用已初始化的软解码器解码具有目标编码格式的视频流,同时开始初始化与目标编码格式对应的第二硬解码器解码并解码,当第二硬解码器解码进度追上软解码器后,切换到第二硬解码器,停止软解码,从而实现分辨率之间的无缝切换,避免播放过程中产生卡顿,提高了用户体验。且本发明的软硬件解码分辨率无缝切换方法、装置及计算机可读存储介质,其实现方式简便,应用成本低廉,应用范围也相当广泛。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (12)
1.一种软硬件解码分辨率无缝切换方法,其特征在于,包括以下步骤:
(1)播放器接收封装视频后,解封装所述的封装视频,获得具有第一编码格式的视频流;
(2)所述的播放器采用第一硬解码器解码所述的具有第一编码格式的视频流,并开始以第一分辨率播放视频;
(3)所述的播放器接收到切换分别率指令;
(4)所述的播放器解封装所述的封装视频,获得具有第二编码格式的视频流;
(5)所述的播放器采用软解码器解码所述的具有第二编码格式的视频流,并开始以第二分辨率播放视频;
(6)所述的播放器采用第二硬解码器解码所述的具有第二编码格式的视频流;
(7)当所述的第二硬解码器的解码进度追上所述的软解码器的解码进度时,播放该第二硬解码器解码获得的第二分辨率视频,并停止所述的软解码器。
2.根据权利要求1所述的软硬件解码分辨率无缝切换方法,其特征在于,所述的封装视频为dash格式视频。
3.根据权利要求2所述的软硬件解码分辨率无缝切换方法,其特征在于,所述的第一编码格式为H.264编码格式和H.265编码格式中的任意一种,所述的第二编码格式为上述两种编码格式中除所述第一编码格式外的另一种;所述的第一硬解码器为与所述第一编码格式对应格式的硬件解码器,所述的第二硬解码器为与所述第二编码格式对应格式的硬件解码器。
4.根据权利要求2所述的软硬件解码分辨率无缝切换方法,其特征在于,第一编码格式与所述的第二编码格式为相同的编码格式。
5.根据权利要求1所述的软硬件解码分辨率无缝切换方法,其特征在于,所述的步骤(5)具体包括以下步骤:
(51)所述的播放器将所述的具有第二编码格式的视频流发送至软解码器;
(52)所述的播放器根据所述的第二编码格式初始化软解码器;
(53)所述的软解码器解码所述的具有第二编码格式的视频流,并输出第二分辨率视频帧;
(54)当所述的第一硬解码器完成所述的具有第一编码格式的视频流解码后,所述的播放器开始渲染所述的第二分辨率视频帧,并以第二分辨率播放视频。
6.根据权利要求1所述的软硬件解码分辨率无缝切换方法,其特征在于,所述的步骤(7)具体包括以下步骤:
(71)所述的播放器实时比较从所述的软解码器获得的第二分辨率视频帧和从所述的第二硬解码器获得的第二分辨率视频帧,对二者中时间戳更大的进行渲染;
(72)当从所述的第二硬解码器获得的第二分辨率视频帧的时间戳大于从所述的软解码器获得的第二分辨率视频帧时,开始渲染从所述的第二硬解码器获得的第二分辨率视频帧,获得的第二分辨率视频并播放;
(73)停止所述的软解码器。
7.根据权利要求1所述的软硬件解码分辨率无缝切换方法,其特征在于,所述的步骤(3)具体为:
所述的播放器实时检测接收封装视频所用网络的带宽,根据检测结果自动生成切换分别率指令。
8.根据权利要求1所述的软硬件解码分辨率无缝切换方法,其特征在于,所述的步骤(3)具体为:
所述的播放器接收到的用户操作生成相应的切换分别率指令。
9.根据权利要求1所述的软硬件解码分辨率无缝切换方法,其特征在于,所述的步骤(2)具体包括以下步骤:
(21)所述的播放器采用软解码器解码所述的具有第一编码格式的视频流,并开始以第一分辨率播放视频;
(22)所述的播放器采用第一硬解码器解码所述的具有第一编码格式的视频流;
(23)当所述的第一硬解码器的解码进度追上所述的软解码器的解码进度时,播放该第一硬解码器解码获得的第一分辨率视频,并停止所述的软解码器。
10.根据权利要求1所述的软硬件解码分辨率无缝切换方法,其特征在于,所述的播放器为Android视频播放器,所述的解码器为MediaCodec硬件解码器。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现权利要求1至10中任一项所述的软硬件解码分辨率无缝切换方法。
12.一种软硬件解码分辨率无缝切换装置,其包括处理器和存储器,所述的存储器上存储有计算机程序,其特征在于,该计算机程序被所述的处理器执行时,实现权利要求1至10中任一项所述的软硬件解码分辨率无缝切换方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910061657.1A CN111479165B (zh) | 2019-01-23 | 2019-01-23 | 软硬件解码分辨率无缝切换方法、装置及存储介质 |
US17/425,176 US11930246B2 (en) | 2019-01-23 | 2019-12-16 | Seamless switching method, device and storage medium of software and hardware decoding resolution |
PCT/CN2019/125521 WO2020151397A1 (zh) | 2019-01-23 | 2019-12-16 | 软硬件解码分辨率无缝切换方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910061657.1A CN111479165B (zh) | 2019-01-23 | 2019-01-23 | 软硬件解码分辨率无缝切换方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111479165A true CN111479165A (zh) | 2020-07-31 |
CN111479165B CN111479165B (zh) | 2021-08-06 |
Family
ID=71736674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910061657.1A Active CN111479165B (zh) | 2019-01-23 | 2019-01-23 | 软硬件解码分辨率无缝切换方法、装置及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11930246B2 (zh) |
CN (1) | CN111479165B (zh) |
WO (1) | WO2020151397A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112911335A (zh) * | 2021-02-03 | 2021-06-04 | 烽火通信科技股份有限公司 | 一种基于视频编码的服务调度方法、视频服务器和机顶盒 |
CN113301346A (zh) * | 2021-05-11 | 2021-08-24 | 随锐科技集团股份有限公司 | 基于安卓终端软硬解码混合播放多路视频的方法及装置 |
CN113676769A (zh) * | 2021-08-23 | 2021-11-19 | 北京字跳网络技术有限公司 | 视频解码方法、设备、存储介质及程序产品 |
CN114363637A (zh) * | 2021-12-08 | 2022-04-15 | 广州方硅信息技术有限公司 | 视频预解码方法、电子设备及计算机可读存储介质 |
CN114422799A (zh) * | 2022-01-24 | 2022-04-29 | 北京百度网讯科技有限公司 | 视频文件的解码方法、装置、电子设备、程序产品 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114025170A (zh) * | 2021-11-30 | 2022-02-08 | 深圳Tcl新技术有限公司 | 视频播放方法、装置、计算机设备和计算机可读存储介质 |
CN114339430B (zh) * | 2021-12-10 | 2023-04-28 | 中国船舶重工集团公司第七0九研究所 | 一种基于硬解码的视频重定位播放方法及系统 |
CN116055715B (zh) * | 2022-05-30 | 2023-10-20 | 荣耀终端有限公司 | 编解码器的调度方法及电子设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778259A (zh) * | 2009-12-25 | 2010-07-14 | 深圳中兴力维技术有限公司 | 一种网络视频监控系统及其视频显示效率的提高方法 |
EP2716337A2 (en) * | 2007-12-05 | 2014-04-09 | OL2, Inc. | Real-time streaming of interactive video |
US8868999B1 (en) * | 2011-01-06 | 2014-10-21 | Marvell International Ltd. | Systems and methods for erasure correction of iterative codes |
US9251855B2 (en) * | 2011-01-28 | 2016-02-02 | Apple Inc. | Efficient media processing |
CN105992056A (zh) * | 2015-01-30 | 2016-10-05 | 腾讯科技(深圳)有限公司 | 一种视频解码的方法和装置 |
WO2017007659A1 (en) * | 2015-07-08 | 2017-01-12 | Google Inc. | Single-stream transmission method for multi-user video conferencing |
US20170127074A1 (en) * | 2015-10-29 | 2017-05-04 | Microsoft Technology Licensing, Llc | Video bit stream decoding |
CN107249144A (zh) * | 2017-05-12 | 2017-10-13 | 北京小鸟看看科技有限公司 | 多媒体文件解码的方法、多媒体播放器和播放设备 |
CN107396123A (zh) * | 2017-09-25 | 2017-11-24 | 南京荣膺软件科技有限公司 | 便携式智能动态软硬件切换转码系统 |
CN107707976A (zh) * | 2017-09-29 | 2018-02-16 | 维沃移动通信有限公司 | 一种视频解码方法及移动终端 |
CN107786890A (zh) * | 2017-10-30 | 2018-03-09 | 深圳Tcl数字技术有限公司 | 视频切换方法、装置及存储介质 |
CN109168078A (zh) * | 2018-09-10 | 2019-01-08 | 苏宁智能终端有限公司 | 一种视频清晰度切换方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2613552A3 (en) * | 2011-11-17 | 2016-11-09 | Axell Corporation | Method for moving image reproduction processing and mobile information terminal using the method |
KR20160065504A (ko) * | 2014-12-01 | 2016-06-09 | 엘지전자 주식회사 | 멀티미디어 디바이스 및 그 제어 방법 |
US10616583B2 (en) * | 2016-06-30 | 2020-04-07 | Sony Interactive Entertainment Inc. | Encoding/decoding digital frames by down-sampling/up-sampling with enhancement information |
JP6732337B2 (ja) * | 2016-12-09 | 2020-07-29 | 株式会社アクセル | 画像データ処理方法 |
-
2019
- 2019-01-23 CN CN201910061657.1A patent/CN111479165B/zh active Active
- 2019-12-16 WO PCT/CN2019/125521 patent/WO2020151397A1/zh active Application Filing
- 2019-12-16 US US17/425,176 patent/US11930246B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2716337A2 (en) * | 2007-12-05 | 2014-04-09 | OL2, Inc. | Real-time streaming of interactive video |
CN101778259A (zh) * | 2009-12-25 | 2010-07-14 | 深圳中兴力维技术有限公司 | 一种网络视频监控系统及其视频显示效率的提高方法 |
US8868999B1 (en) * | 2011-01-06 | 2014-10-21 | Marvell International Ltd. | Systems and methods for erasure correction of iterative codes |
US9251855B2 (en) * | 2011-01-28 | 2016-02-02 | Apple Inc. | Efficient media processing |
CN105992056A (zh) * | 2015-01-30 | 2016-10-05 | 腾讯科技(深圳)有限公司 | 一种视频解码的方法和装置 |
WO2017007659A1 (en) * | 2015-07-08 | 2017-01-12 | Google Inc. | Single-stream transmission method for multi-user video conferencing |
US20170127074A1 (en) * | 2015-10-29 | 2017-05-04 | Microsoft Technology Licensing, Llc | Video bit stream decoding |
CN107249144A (zh) * | 2017-05-12 | 2017-10-13 | 北京小鸟看看科技有限公司 | 多媒体文件解码的方法、多媒体播放器和播放设备 |
CN107396123A (zh) * | 2017-09-25 | 2017-11-24 | 南京荣膺软件科技有限公司 | 便携式智能动态软硬件切换转码系统 |
CN107707976A (zh) * | 2017-09-29 | 2018-02-16 | 维沃移动通信有限公司 | 一种视频解码方法及移动终端 |
CN107786890A (zh) * | 2017-10-30 | 2018-03-09 | 深圳Tcl数字技术有限公司 | 视频切换方法、装置及存储介质 |
CN109168078A (zh) * | 2018-09-10 | 2019-01-08 | 苏宁智能终端有限公司 | 一种视频清晰度切换方法及装置 |
Non-Patent Citations (1)
Title |
---|
吕卫国: ""一种高分辨率视频切换矩阵研究与设计"", 《计算机测量与控制》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112911335A (zh) * | 2021-02-03 | 2021-06-04 | 烽火通信科技股份有限公司 | 一种基于视频编码的服务调度方法、视频服务器和机顶盒 |
CN113301346A (zh) * | 2021-05-11 | 2021-08-24 | 随锐科技集团股份有限公司 | 基于安卓终端软硬解码混合播放多路视频的方法及装置 |
CN113676769A (zh) * | 2021-08-23 | 2021-11-19 | 北京字跳网络技术有限公司 | 视频解码方法、设备、存储介质及程序产品 |
WO2023024801A1 (zh) * | 2021-08-23 | 2023-03-02 | 北京字跳网络技术有限公司 | 视频解码方法、设备、存储介质及程序产品 |
CN114363637A (zh) * | 2021-12-08 | 2022-04-15 | 广州方硅信息技术有限公司 | 视频预解码方法、电子设备及计算机可读存储介质 |
CN114422799A (zh) * | 2022-01-24 | 2022-04-29 | 北京百度网讯科技有限公司 | 视频文件的解码方法、装置、电子设备、程序产品 |
CN114422799B (zh) * | 2022-01-24 | 2024-04-19 | 北京百度网讯科技有限公司 | 视频文件的解码方法、装置、电子设备、程序产品 |
Also Published As
Publication number | Publication date |
---|---|
WO2020151397A1 (zh) | 2020-07-30 |
US11930246B2 (en) | 2024-03-12 |
US20220124403A1 (en) | 2022-04-21 |
CN111479165B (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111479165B (zh) | 软硬件解码分辨率无缝切换方法、装置及存储介质 | |
CN109327728B (zh) | 一种一对多同屏方法、装置和系统、同屏设备及存储介质 | |
CN111479164A (zh) | 硬件解码动态分辨率无缝切换方法、装置及存储介质 | |
KR101008764B1 (ko) | 쌍방향 미디어 응답 시스템에서 시각 단서를 제공하는 방법 | |
WO2017219896A1 (zh) | 视频流的传输方法及装置 | |
CN110430441B (zh) | 一种云手机视频采集方法、系统、装置及存储介质 | |
CN111355976B (zh) | 一种基于hevc标准的视频直播方法及系统 | |
WO2019170073A1 (zh) | 媒体播放 | |
JP6499324B2 (ja) | ビデオを再生するための方法、クライアント及びコンピュータ記憶媒体 | |
CN108737893B (zh) | 基于混合解码实现快速首帧出图的视频播放方法、装置和介质 | |
CN107517400B (zh) | 流媒体播放方法及流媒体播放器 | |
US9509940B2 (en) | Image output device, image output method, and recording medium | |
US11438645B2 (en) | Media information processing method, related device, and computer storage medium | |
CN109862409A (zh) | 视频解码、播放方法、装置、系统、终端及存储介质 | |
US9055272B2 (en) | Moving image reproduction apparatus, information processing apparatus, and moving image reproduction method | |
WO2017185609A1 (zh) | 一种视频处理方法及设备 | |
US20220021872A1 (en) | Video encoding method and apparatus, video decoding method and apparatus, storage medium, and electronic device | |
CN115643449B (zh) | 云服务的视频显示方法、装置、设备、存储介质和系统 | |
CN106878290B (zh) | 音视频的播放方法及装置 | |
WO2021057686A1 (zh) | 视频解码方法和装置、视频编码方法和装置、存储介质及电子装置 | |
JP2016525297A (ja) | グラフィクスプロセッサを使用するビデオ復号化のためのピクチャ参照コントロール | |
US20140297720A1 (en) | Client apparatus, server apparatus, multimedia redirection system, and method thereof | |
CN115484494A (zh) | 一种数字孪生视频流的处理方法、装置及设备 | |
CN113709447B (zh) | 一种终端设备播放性能的检测方法和装置 | |
CN115190359A (zh) | 一种视频播放格式自动转换方法及系统 |
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 |