CN111277919A - 流媒体的pts复位处理方法、显示设备及存储介质 - Google Patents
流媒体的pts复位处理方法、显示设备及存储介质 Download PDFInfo
- Publication number
- CN111277919A CN111277919A CN202010124322.2A CN202010124322A CN111277919A CN 111277919 A CN111277919 A CN 111277919A CN 202010124322 A CN202010124322 A CN 202010124322A CN 111277919 A CN111277919 A CN 111277919A
- Authority
- CN
- China
- Prior art keywords
- pts
- injected
- frame
- value
- difference
- 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
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/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
-
- 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
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
本申请公开了一种流媒体的PTS复位处理方法、显示设备及存储介质,计算先后连续注入的第一已注入帧与第二已注入帧之间的第一PTS差值;当第一PTS差值的绝对值大于最大容错值时,获取第二已注入帧之后待注入帧的PTS值;分别计算待注入帧与第二已注入帧之间的第二PTS差值,及待注入帧与第一已注入帧之间的第三PTS差值;当第二PTS差值的绝对值小于第三PTS差值的绝对值时,基于第一已注入帧、第二已注入帧和待注入帧对传输流进行复位处理。本申请只有确保PTS值跳变情况是由于正常复位发生,才会进行复位处理,以此保证复位处理的可靠性,避免因PTS值跳变情况导致传输流中音视频不同步等播放问题,优化用户体验。
Description
技术领域
本申请涉及流媒体播放技术领域,尤其涉及一种流媒体的PTS复位处理方法、显示设备及存储介质。
背景技术
流媒体,又可称为流式媒体,是当前主流的电视应用。在流媒体点播和直播领域,HLS(HTTP Live Streaming,超文本直播流)协议是一种广泛应用的流媒体传输协议。HLS协议主要使用TS(Transport Stream,传输流)作为其音视频封装格式。音视频中每一帧TS均包含有PTS(Presentation Time Stamp,显示时间戳),通过显示时间戳显示出流媒体文件的播放进度。
在电视系统中,根据TS封装格式的要求,TS中的PTS存在一个能够支持的最大时间。当PTS的数值达到在该最大时间内的最大值时,为了保证流媒体的正常播放,就需要进行PTS复位,即将下一帧TS中的PTS重新置为一个极小值,重新开始累积使用,并以此进行循环。目前,电视通过解复用器处理PTS复位,若解复用器识别到某一TS帧的PTS值发生跳变,则将跳变值视为复位值,然后基于当前修正次数和HLS协议允许的PTS最大值对复位值进行修正。
上述修正方式中,当解复用器解析出错导致某一TS帧的PTS值发生跳变时,解复用器也会将其视为复位,进而会对其进行修正。由此看出,上述修正过程未考虑复位情况发生时实际的PTS跳变值,导致后续每次复位处理都会累计新的误差,进而会出现因PTS复位处理不准确产生音视频不同步的播放问题。
发明内容
本申请提供了一种流媒体的PTS复位处理方法、显示设备及存储介质,以解决现有技术中因PTS复位处理不准确导致音视频不同步的技术问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
第一方面,本申请实施例公开了一种流媒体的PTS复位处理方法,包括:
计算第一已注入帧与第二已注入帧之间的第一PTS差值,其中,所述第一已注入帧与第二已注入帧为先后连续已注入帧;
当所述第一PTS差值的绝对值大于最大容错值时,获取所述第二已注入帧之后待注入帧的PTS值;
分别计算所述待注入帧与所述第二已注入帧之间的第二PTS差值,及所述待注入帧与所述第一已注入帧之间的第三PTS差值;
当所述第二PTS差值的绝对值小于所述第三PTS差值的绝对值时,基于所述第一已注入帧、第二已注入帧和待注入帧对传输流的PTS值进行复位处理。
第二方面,本申请实施例公开了一种流媒体显示设备,包括:
控制器,所述控制器包括数据注入层,所述数据注入层被配置为:
计算第一已注入帧与第二已注入帧之间的第一PTS差值,其中,所述第一已注入帧与第二已注入帧为先后连续已注入帧;当所述第一PTS差值的绝对值大于最大容错值时,获取所述第二已注入帧之后待注入帧的PTS值;分别计算所述待注入帧与所述第二已注入帧之间的第二PTS差值,及所述待注入帧与所述第一已注入帧之间的第三PTS差值;当所述第二PTS差值的绝对值小于所述第三PTS差值的绝对值时,基于所述第一已注入帧、第二已注入帧和待注入帧对传输流的PTS值进行复位处理;
显示器,与所述控制器通讯连接,用于显示经所述数据注入层处理的流媒体数据。
第三方面,本申请实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被控制器执行时实现本申请实施例第三方面中的流媒体的PTS复位处理方法。
与现有技术相比,本申请的有益效果为:
本申请提供了一种流媒体的PTS复位处理方法、播放装置及存储介质,通过比较第二已注入帧与第一已注入帧之间的PTS差值,若是两者的PTS值差距较大,且大于最大容错值时,则说明第二已注入帧的PTS值发生跳变。随后,获取在第二已注入帧之后待注入帧的PTS值,并相继计算出待注入帧与第二已注入帧之间的第二PTS差值,及待注入帧与第一已注入帧之间的第三PTS差值。若第二PTS差值的绝对值小于第三PTS差值的绝对值,也就是说,待注入帧的PTS值更接近于第二已注入帧的PTS,此次第二已注入帧为复位情况,则本申请对传输流的PTS值进行复位处理,其中,本申请综合考虑第二已注入帧、第一已注入帧和待注入帧作复位处理。由此可见,本申请根据实际情况分析第二已注入帧PTS值发生跳变的原因是否是正常复位,只有确保PTS值跳变情况是由于正常复位发生,才会进行复位处理,以此保证复位处理的可靠性,避免因PTS值跳变情况导致传输流中音视频不同步等播放问题,优化用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种流媒体的PTS复位处理方法的流程示意图;
图2为本发明实施例提供的已注入帧的数据排序;
图3为本发明实施例提供的待注入帧的数据排序;
图4为本发明实施例提供的复位处理方法的流程示意图;
图5为本发明实施例提供的PTS复位基准值的计算流程图;
图6为本发明实施例提供的控制器的基本结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为便于理解,以下首先对本申请所涉及到的概念及原理进行说明。
HLS(HTTP Live Streaming,超文本直播流)协议的原理是由服务器将完整的媒体文件切割成连续且长度较小的媒体片段并填写PTS(Presentation Time Stamp,显示时间戳)等信息进行封装,电视端按服务器提供的媒体播放列表顺序地下载这些媒体文件片段进行相应的解复用等操作,并将解析出的ES(Elementary Streams,原始流)连同PTS等信息注入解码器进行解码和播放。
HLS协议主要使用TS(Transport Stream,传输流)作为其媒体片段的封装格式,TS封装最早应用于数字电视码流,具有良好的抗误码性能,且支持每帧单独解码。TS封装格式遵循ISO/IEC 13818国际标准,参照该国际标准中关于PTS部分的描述可知,PTS由三个字段拼装而成,其总字段长度为33比特,其支持的最大值(MAX_PTS)为233-1。
在计算PTS值时,根据标准定义的转换规则:
PTS(k)=((system_clock_frequency×tpn)DIV300)%233
式中,system_clock_frequency表示为系统时钟频率,tpn表示为单元Pn(k)的表示时间,DIV表示整除计算。
根据上述转换规则,计算出在电视系统中每个PTS循环支持的最大时间约为26.5h。也就是说,每当电视系统时间达到PTS循环支持的最大值时,PTS就会复位一次,而这个26.5h的时间长度对于流媒体直播来说是一个相对容易达到、甚至容易多次达到的时间。每当PTS复位情况出现时,通过解复用解析出的PTS值会从一个较大值跳变为一个极小值,而解码器一般需要通过其上层(解复用)注入的数据是连续的,因此,需要在数据注入解码器之前对PTS进行处理。
基于PTS复位处理不准确导致音视频播放不同步的问题,为了保证PTS复位处理的更加准确,本申请实施例提供了一种流媒体的PTS复位处理方法。下面结合图1对流媒体的PTS复位处理方法进行说明。
参见图1,为本发明实施例提供的一种流媒体的PTS复位处理方法的流程示意图。结合图1,本申请所提供的流媒体的PTS复位处理方法包括以下步骤:
S100:计算第一已注入帧与第二已注入帧之间的第一PTS差值,其中,所述第一已注入帧与第二已注入帧为先后连续已注入帧。
获取所有已注入帧的PTS值,并分别计算连续两个已注入帧之间的PTS差值。例如,第一已注入帧先注入至缓存队列,第二已注入帧紧接着注入缓存队列,计算出第一已注入帧和第二已注入帧之间的第一PTS差值。之后可计算出第一PTS差值的绝对值用于后续步骤的计算。
S200:当所述第一PTS差值的绝对值大于最大容错值时,获取所述第二已注入帧之后待注入帧的PTS值。
由于可能存在非标码流,即不从PTS=0开始,或未达到PTS=MAX_PTS就发生复位的码流,本申请中将解码器所能容忍的最大连续两帧PTS值之差设为MAX_ERROR。该MAX_ERROR即为最大容错值,比较第一PTS差值的绝对值与最大容错值的大小。
若是第一PTS差值的绝对值小于或等于最大容错值时,则认为第一已注入帧和第二已注入帧之间的PTS值之差在合理范围内,两者之间没有发生PTS值跳变情况。若是第一PTS差值的绝对值大于最大容错值时,则认为第一已注入帧和第二已注入帧之间的PTS值之差超出合理范围,两者之间发生PTS值跳变情况,也就是说,第二已注入帧的PTS值发生跳变。当查找到PTS值发生跳变的已注入帧之后,则获取该已注入帧之后待注入帧的PTS值。
S300:分别计算所述待注入帧与所述第二已注入帧之间的第二PTS差值,及所述待注入帧与所述第一已注入帧之间的第三PTS差值。
计算第二PTS差值和第三PTS差值,也就是说,比较所述待注入帧的PTS值更接近第二已注入帧的PTS值,还是更接近第一已注入帧的PTS值。
需要说明的是,本申请中获取的待注入帧的数量可以是一个或者多个。
当待注入帧的数量是一个时,分别计算该待注入帧与第二已注入帧之间的PTS差值,以及该待注入帧与第一已注入帧之间的PTS差值。此时,第二PTS差值和第三PTS差值均只有一个值,进而比较两个PTS差值的绝对值的大小即可。
当待注入帧的数量是多个时,分别依次计算每一待注入帧与第二已注入帧之间的多个PTS差值,以及每一待注入帧与第一已注入帧之间的多个PTS差值。此时,计算出的第二PTS差值和第三PTS差值分别具有多个值,进而进行整体比较。其中,根据规定来说,多个待注入帧的PTS值具有递增趋势,所以,通常情况下,在多个第二PTS差值中,获取到的多个待注入帧中的首个帧与第二已注入帧之间的PTS差值是最小的,同理,在多个第三PTS差值中,获取到的多个待注入帧中的首个帧与第一已注入帧之间的PTS差值是最小的。
S400:当所述第二PTS差值的绝对值小于所述第三PTS差值的绝对值时,基于所述第一已注入帧、第二已注入帧和待注入帧对传输流的PTS值进行复位处理。
若第二PTS差值的绝对值小于第三PTS差值的绝对值,也就是说,待注入帧的PTS值更接近于第二已注入帧的PTS值,此时第二已注入帧为复位情况,则本申请对传输流的PTS值进行复位处理,其中,本申请综合考虑第二已注入帧、第一已注入帧和待注入帧作复位处理。
由此可见,本申请根据实际情况分析第二已注入帧PTS值发生跳变的原因是否是正常复位,只有确保PTS值跳变情况是由于正常复位发生,才会进行复位处理,以此保证复位处理的可靠性,避免因PTS值跳变情况导致传输流中音视频不同步等播放问题,优化用户体验。
以上对第二PTS差值的绝对值小于第三PTS差值的绝对值的情况进行了说明,但是由于第一已注入帧和第二已注入帧的PTS值不同,所以计算出的第二PTS差值和第三PTS差值不会相等。
本申请实施例还提供了,当第二PTS差值的绝对值大于第三PTS差值的绝对值时,也就是说,待注入帧的PTS值更接近于前一注入帧的PTS值,此次当前注入帧的PTS值跳变只是解复用过程中发生的异常情况,则本申请对传输流的PTS值进行异常处理。
举例来说,假设出现跳变的TS帧的序号为Bm,Bm的PTS值为m,m>0且m<<MAX_PTS,其前一帧序号为An,An的PTS值为n,n>>1且n<MAX_PTS。对于流媒体来说,考虑到连续已注入帧的PTS值可能不完全为顺序排列的情况,只要PTS值整体变化趋势一致即可,允许局部出现乱序,故此处再假设n是包括其An本身在内已解析的已注入帧中PTS值最大的一帧。
图2为本发明实施例提供的已注入帧的数据排序。图3为本发明实施例提供的待注入帧的数据排序。结合图2和图3,排列在An前方的已注入帧还有An-1,An-2,…,An-q,排列在Bm后方的待注入帧还有Bm+1,Bm+2,Bm+3,Bm+4,…,Bm+p,当注入数据Bm时,获取其PTS值为m,而记录的上一已注入帧An的PTS值为n,Bm和An这两帧之间的PTS值之差大于MAX_ERROR,Bm出现了PTS值跳变。但由于m尚未达到MAX_PTS,此时无法判断该PTS值跳变是正常的PTS复位,还是由于解复用过程中解析出现问题而出现的错误值。因此,需要结合后续的待注入帧Bm+1,Bm+2,Bm+3…的PTS值作进一步判断。
若每一待注入帧的PTS值均与m值接近,则认为Bm帧是正常复位,进而对传输流的PTS值进行复位处理。若每一待注入帧的PTS值均与n值接近,则认为Bm帧是解析出错,进而对传输流的PTS值进行异常处理。
下面结合实际数据举例说明,假设每0-10为一个PTS循环,在某一循环中,第6的位置发生跳变,此时,第6的位置对应上述例子中m,且上述例子中n为5。假设m跳变为了0,则继续观察待注入帧m+1,m+2,m+3…的PTS值。若m+1,m+2,m+3…的PTS值依次为1、2、3……,则待注入帧的PTS值跟接近于m,所以此时为正常的复位。若m+1,m+2,m+3…的PTS值依次为7、8、9…,则待注入帧的PTS值跟接近于n,所以此时为解析出错。
进一步,通过上述过程区分出PTS值跳变是正常复位还是解析出错之后,本申请中根据不同情况作出不同的处理过程。
参见图4,为本发明实施例提供的复位处理方法的流程示意图。结合图4,本申请中的复位处理过程如下:
S410:利用所述第一已注入帧、第二已注入帧和每一个待注入帧的PTS值计算出PTS复位基准值。
本申请中通过PTS复位基准值对PTS值进行修正。参见图5,为本发明实施例提供的PTS复位基准值的计算流程图。由图5所示,PTS复位基准值的计算过程如以下S411至S413所示:
S411:生成PTS调整值,所述PTS调整值是两帧分别对应PTS值的差值的绝对值,其中,两帧为所述待注入帧中的前两帧。
本申请在进行复位处理时,可以只需待注入帧中的前两帧生成PTS调整值DELTA_PTS,即先获取待注入帧中的前两帧的PTS值,再将两个PTS值做差并求出绝对值。
计算公式如下:
DELTA_PTS=ABS(复位后第二帧PTS原始值-复位后第一帧PTS原始值)
S412:将所述第一已注入帧的PTS修正值与所述第二已注入帧的PTS原始值作差,获得PTS基础值。
S413:将所述PTS基础值与所述PTS调整值求和,获得PTS复位基准值。
PTS复位基准值BASE_PTS的计算方式通过计算公式可表示为:
BASE_PTS=第一已注入帧PTS修正值-第二已注入帧PTS原始值+DELTA_PTS
在一种实现方式中,BASE_PTS初始值为0,且仅在PTS复位时更新,其数据类型为无符号64位整型。
以上通过S411至S413的过程计算出S410中的PTS复位基准值。
S420:通过解复用解析出传输流的PTS原始值。
通过解复用技术将传输流中每一TS帧的PTS值解析出来,即每一PTS循环中的PTS原始值。需要说明的是,本申请中S420和前述S410之间无前后顺序关系。
S430:将所述PTS复位基准值与所述PTS原始值求和,获取传输流的PTS修正值。
利用S410得到的PTS复位基准值和S420中得到的传输流的PTS原始值计算出PTS修正值。PTS修正值INJECT_PTS的计算方式通过计算公式可表示为:
INJECT_PTS=解复用解析出的PTS原始值+BASE_PTS
举例来说,还是假设Bm帧为跳变帧,其前一帧序号为An,每一PTS循环可表示为:m,m+1,m+2,m+3,…,n。第一次PTS循环中,PTS原始值依次为:m,m+1,m+2,m+3,…,n;基于BASE_PTS初始值为0,则PTS修正值依次为:m,m+1,m+2,m+3,…,n。第二次PTS循环中,PTS原始值依次为:m,m+1,m+2,m+3,…,n;更新BASE_PTS,计算出该次循环中的BASE_PTS为:n-m+[m+2-(m+1)]=n-m+1,PTS原始值加上BASE_PTS,则PTS修正值依次为:n+1,n+2,n+3,…,n+n。后续循环同理,在此不再赘述。
以上,注入Bm帧时,BASE_PTS值更新为n-m+1,Bm帧PTS修正值为n+1,与An帧的PTS连续,符合解码器要求。同样的,当发生多次PTS复位时,可按照上述处理过程正确修正PTS值。
为了更加直观理解,下面结合实际数据举例说明,假设每一PTS循环可表示为:0-10。第一次PTS循环中,PTS原始值依次为0-10;基于BASE_PTS初始值为0,则PTS修正值依次为:0-10。第二次PTS循环中,PTS原始值依次为0-10;更新BASE_PTS,计算出该次循环中的BASE_PTS为:10-0+(2-1)=11,PTS原始值加上BASE_PTS,则PTS修正值依次为:11-21。第三次PTS循环中,PTS原始值依次为0-10;更新BASE_PTS,计算出该次循环中的BASE_PTS为:21-0+(2-1)=22,PTS原始值加上BASE_PTS,则PTS修正值依次为:22-32。以此类推。
以上即为当PTS跳变情况为正常复位时的后续复位处理过程。
本申请中,由于解复用过程中解析出错导致两个连续已注入帧之间的PTS值发生跳变时,利用解码器的容错设置,忽略所述第二已注入帧的PTS值。在一种实现方式中,一般的解码器能够容忍某一时间段的错误,其可自身处理该时间段内的解析错误值。本申请基于解码器的容错设置,避免将其认定为正常复位,且以此进行复位处理,进而致使后续每次复位处理都会累计新的误差的情况。
本申请实施例还提供了一种流媒体显示设备。该流媒体显示设备包括通讯连接的显示器和控制器。参见图6,为本发明实施例提供的控制器的基本结构示意图,如图6所示,该控制器包括:
浏览器层601,用于用户浏览网页,并发送流媒体播放的操作命令。浏览器适配层602,用于解析用户浏览的网页地址以及待播放流媒体的源地址。协议解析层603,用于从所述源地址下载相应码流,并对所述码流进行解复用,获取所述码流中的流媒体。数据注入层604,用于将所述流媒体的显示时间戳进行复位处理,并加入至缓存队列。解码层605,用于将所述缓存队列中的流媒体转换成模拟信号输出。
其中,数据注入层604可以计算两个先后连续已注入帧的PTS差值,即第一已注入帧与第二已注入帧之间的第一PTS差值。然后,当第一PTS差值的绝对值大于最大容错值时,数据注入层604获取第二已注入帧之后待注入帧的PTS值。数据注入层604再分别比较待注入帧的PTS值是更接近于第二已注入帧,还是更接近于第一已注入帧,也就是说,分别计算出待注入帧与第二已注入帧之间的第二PTS差值,及待注入帧与第一已注入帧之间的第三PTS差值。当第二PTS差值的绝对值小于所述第三PTS差值的绝对值时,数据注入层604基于所述第一已注入帧、第二已注入帧和待注入帧对传输流的PTS值进行复位处理,保证后续向解码层605中注入的数据的连续性。当第二PTS差值的绝对值大于第三PTS差值的绝对值时,数据注入层604对传输流的PTS值进行异常处理,也就是忽略第二已注入帧的PTS值,后续利用解码器的容错设置进行处理。
这里,解码层605可以为解码器,该解码器包括音频解码器和视频解码器。
本申请中,数据注入层604在判断出PTS值跳变是因为正常复位时,再以下过程进行复位处理:
首先,利用第一已注入帧的PTS修正值、第二已注入帧PTS原始值和待注入帧中前两帧的PTS值计算出PTS复位基准值。然后,通过解复用解析出传输流的PTS原始值。最后将计算出的PTS复位基准值与PTS原始值求和,得到传输流的PTS修正值。基于PTS修正值修正流媒体数据中每一PTS循环的PTS原始值。
经数据注入层604处理的流媒体数据最终在显示器上进行显示,本申请实施例所提供的流媒体显示设备能够保障音视频的同步播放,优化了用户体验。
基于与上述流媒体的PTS复位处理方法、显示设备同样的发明构思,本实施例还提供了一种计算机存储介质,该计算机存储介质可存储有程序,所述程序执行时可实现上述任一实施提供的流媒体的PTS复位处理方法。
由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。
需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的电路结构、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种电路结构、物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括所述要素的电路结构、物品或者设备中还存在另外的相同要素。
本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。
Claims (9)
1.一种流媒体的PTS复位处理方法,其特征在于,包括:
计算第一已注入帧与第二已注入帧之间的第一PTS差值,其中,所述第一已注入帧与第二已注入帧为先后连续已注入帧;
当所述第一PTS差值的绝对值大于最大容错值时,获取所述第二已注入帧之后待注入帧的PTS值;
分别计算所述待注入帧与所述第二已注入帧之间的第二PTS差值,及所述待注入帧与所述第一已注入帧之间的第三PTS差值;
当所述第二PTS差值的绝对值小于所述第三PTS差值的绝对值时,基于所述第一已注入帧、第二已注入帧和待注入帧对传输流的PTS值进行复位处理。
2.根据权利要求1所述的流媒体的PTS复位处理方法,其特征在于,所述当所述第二PTS差值的绝对值小于所述第三PTS差值的绝对值时,基于所述第一已注入帧、第二已注入帧和待注入帧对传输流的PTS值进行复位处理,包括:
利用所述第一已注入帧、第二已注入帧和每一个待注入帧的PTS值计算出PTS复位基准值;
通过解复用解析出传输流的PTS原始值;
将所述PTS复位基准值与所述PTS原始值求和,获取传输流的PTS修正值。
3.根据权利要求2所述的流媒体的PTS复位处理方法,其特征在于,所述利用所述第一已注入帧、第二已注入帧和每一个待注入帧的PTS值计算出PTS复位基准值,包括:
生成PTS调整值,所述PTS调整值是两帧分别对应PTS值的差值的绝对值,其中,两帧为所述待注入帧中的前两帧;
将所述第一已注入帧的PTS修正值与所述第二已注入帧的PTS原始值作差,获得PTS基础值;
将所述PTS基础值与所述PTS调整值求和,获得PTS复位基准值。
4.根据权利要求1所述的流媒体的PTS复位处理方法,其特征在于,所述方法还包括:
当所述第二PTS差值的绝对值大于所述第三PTS差值的绝对值时,对传输流的PTS值进行异常处理。
5.根据权利要求4所述的流媒体的PTS复位处理方法,其特征在于,所述对传输流的PTS值进行异常处理,包括:
利用解码器的容错设置,忽略所述第二已注入帧的PTS值。
6.一种流媒体显示设备,其特征在于,包括:
控制器,所述控制器包括数据注入层,所述数据注入层被配置为:
计算第一已注入帧与第二已注入帧之间的第一PTS差值,其中,所述第一已注入帧与第二已注入帧为先后连续已注入帧;当所述第一PTS差值的绝对值大于最大容错值时,获取所述第二已注入帧之后待注入帧的PTS值;分别计算所述待注入帧与所述第二已注入帧之间的第二PTS差值,及所述待注入帧与所述第一已注入帧之间的第三PTS差值;当所述第二PTS差值的绝对值小于所述第三PTS差值的绝对值时,基于所述第一已注入帧、第二已注入帧和待注入帧对传输流的PTS值进行复位处理;
显示器,与所述控制器通讯连接,用于显示经所述数据注入层处理的流媒体数据。
7.根据权利要求6所述的流媒体显示设备,其特征在于,所述数据注入层还被配置为:
利用所述第一已注入帧、第二已注入帧和每一个待注入帧的PTS值计算出PTS复位基准值;
通过解复用解析出传输流的PTS原始值;
将所述PTS复位基准值与所述PTS原始值求和,获取传输流的PTS修正值。
8.根据权利要求6所述的流媒体显示设备,其特征在于,所述数据注入层还被配置为:
当所述第二PTS差值的绝对值大于所述第三PTS差值的绝对值时,对传输流的PTS值进行异常处理。
9.一种计算机存储介质,其特征在于,所述计算机存储介质可存储有计算机程序,所述计算机程序执行时可实现权利要求1-5任一所述流媒体的PTS复位处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010124322.2A CN111277919B (zh) | 2020-02-27 | 2020-02-27 | 流媒体的pts复位处理方法、显示设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010124322.2A CN111277919B (zh) | 2020-02-27 | 2020-02-27 | 流媒体的pts复位处理方法、显示设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111277919A true CN111277919A (zh) | 2020-06-12 |
CN111277919B CN111277919B (zh) | 2021-12-14 |
Family
ID=71000436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010124322.2A Active CN111277919B (zh) | 2020-02-27 | 2020-02-27 | 流媒体的pts复位处理方法、显示设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111277919B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114339453A (zh) * | 2022-01-06 | 2022-04-12 | 北京金山云网络技术有限公司 | 时间戳校准方法和装置、电子设备和存储介质 |
WO2023060540A1 (zh) * | 2021-10-15 | 2023-04-20 | 深圳Tcl新技术有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338426A (zh) * | 2015-10-30 | 2016-02-17 | 北京数码视讯科技股份有限公司 | 一种传输流中时间标签的修正方法及装置 |
US20170105038A1 (en) * | 2015-10-09 | 2017-04-13 | Microsoft Technology Licensing, Llc | Media Synchronization for Real-Time Streaming |
CN109168092A (zh) * | 2018-09-17 | 2019-01-08 | 深圳市网心科技有限公司 | 流媒体数据传输状态判定方法、节点、系统及存储介质 |
-
2020
- 2020-02-27 CN CN202010124322.2A patent/CN111277919B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170105038A1 (en) * | 2015-10-09 | 2017-04-13 | Microsoft Technology Licensing, Llc | Media Synchronization for Real-Time Streaming |
CN105338426A (zh) * | 2015-10-30 | 2016-02-17 | 北京数码视讯科技股份有限公司 | 一种传输流中时间标签的修正方法及装置 |
CN109168092A (zh) * | 2018-09-17 | 2019-01-08 | 深圳市网心科技有限公司 | 流媒体数据传输状态判定方法、节点、系统及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023060540A1 (zh) * | 2021-10-15 | 2023-04-20 | 深圳Tcl新技术有限公司 | 一种数据处理方法、装置、计算机设备及存储介质 |
CN114339453A (zh) * | 2022-01-06 | 2022-04-12 | 北京金山云网络技术有限公司 | 时间戳校准方法和装置、电子设备和存储介质 |
CN114339453B (zh) * | 2022-01-06 | 2023-11-03 | 北京金山云网络技术有限公司 | 时间戳校准方法和装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111277919B (zh) | 2021-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7023926B2 (en) | Stream converting apparatus that converts data stream of first format possibly containing error into correct data stream of second format | |
CN111277919B (zh) | 流媒体的pts复位处理方法、显示设备及存储介质 | |
CN111464256A (zh) | 时间戳的校正方法、装置、电子设备和存储介质 | |
JP2005505211A (ja) | Mpeg−2トランスポートストリームの中のプログラムタイムベースを回復し、オーディオ/ビデオ同期を実現するロバストな方法 | |
JP4475336B2 (ja) | タイムスタンプ付加装置およびタイムスタンプ付加方法、並びにプログラム | |
US20140109156A1 (en) | Method, terminal, server and system for playing media file | |
JP2008005265A (ja) | メタデータ生成装置 | |
CN113852824A (zh) | 视频转码方法、装置、电子设备和存储介质 | |
CN103491430A (zh) | 流媒体数据处理方法和电子设备 | |
CN115119009B (zh) | 视频对齐方法、视频编码方法、装置及存储介质 | |
CN104320676A (zh) | 一种视频传输流中节目时钟参考异常跳动校正的方法 | |
JP4987034B2 (ja) | 映像表示装置 | |
CN110087116A (zh) | 多码率直播视频流剪辑方法、装置、终端及存储介质 | |
JP2008245050A (ja) | Pcr補正回路 | |
US9525843B2 (en) | Multimedia file playback method, playback apparatus and system | |
CN111787420A (zh) | 一种数据处理方法及装置、电子设备、可读存储介质 | |
CN105847990A (zh) | 播放媒体文件的方法和设备 | |
JP5465278B2 (ja) | 映像表示装置 | |
US10433004B2 (en) | Reception apparatus, receiving method, and program | |
CN111836071B (zh) | 一种基于云会议的多媒体处理方法、装置及存储介质 | |
JP2009290768A (ja) | 映像処理装置および映像処理方法 | |
CN114339267A (zh) | 文件轮播推流方法、装置及直播推流服务器 | |
KR100672326B1 (ko) | 디지털 방송 수신기의 복호 방법 | |
US20090323719A1 (en) | Methods and apparatus for transforming first transport stream of first format into second transport stream of second format by emulating arrival time stamp information | |
CN113949898B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221014 Address after: 83 Intekte Street, Devon, Netherlands Patentee after: VIDAA (Netherlands) International Holdings Ltd. Address before: 266061 room 131, 248 Hong Kong East Road, Laoshan District, Qingdao City, Shandong Province Patentee before: QINGDAO HISENSE MEDIA NETWORKS Ltd. |
|
TR01 | Transfer of patent right |