本发明涉及无线投屏技术领域,尤其涉及一种降低无线投屏时延的方法及装置。
背景技术:
miracast无线投屏技术可以实现通过wifi分享屏幕画面的功能。画面的发送端把画面进行编码压缩得到基本码流es(elementstream),然后把es流封装成打包的基本码流pes(packetelementstream),最后把pes打包成mpeg-ts的格式,通过实时传输协议rtp(real-timetransportprotocol)把数据发送到画面接收端。画面的接收端接收到rtp包以后,去掉rtp头信息,得到mpeg-ts(movingpictureexpertsgroup-transportstream,动态图像传输流)数据,然后送入解码器进行解码输出。由于pes特点,其本身无法直接明确区分一个视频帧的结束,只有当接收到下一个pes的头信息以后才能明确知道上一个视频帧结束。这样的直接后果是必须要接收到下一个视频帧,才能区分出上一个视频帧,从而送去解码,带来了至少一个帧的延时。
技术实现要素:
本发明的主要目的在于提出一种降低无线投屏时延的方法及装置,通过rtp数据包的标志位判断视频数据帧是否发送完整,避免了等待延时,降低了解码输出的时延。
为实现上述目的,本发明提供的一种降低无线投屏时延的方法,包括:
无线投屏接收端接收视频数据的实时传输协议rtp数据包;
获取所述rtp数据包的标志位;当所述标志位为1时,表示所述实时传输协议rtp数据包为一帧视频数据的最后一个数据包;
将所述rtp数据包所在的一帧视频数据传送至解码器进行解码输出。
可选地,所述无线投屏接收端接收视频数据的实时传输协议rtp数据包之前还包括:
无线投屏发送端将一帧视频数据封装为打包的基本数据流pes数据包;
将所述pes数据包分割成若干个实时传输协议rtp数据包;
若rtp数据包为所述一帧视频数据的最后一个数据包,则将所述rtp数据包的标志位赋值为1,否则,将所述实时传输协议rtp数据包的标志位赋值为0。
可选地,所述无线投屏发送端将一帧视频数据封装为打包的基本数据流pes数据包具体为:
无线投屏发送端将一帧视频数据编码压缩成基本数据流es数据包;
将所述es数据包与pes的头信息封装为打包的基本数据流pes数据包。
可选地,所述将所述pes数据包分割成若干个实时传输协议rtp数据包具体为:
将所述pes数据包分割成若干个mpeg-ts数据包,所述mpeg-ts数据包的大小为188bytes;
将所述若干个mpeg-ts数据包封装为若干个实时传输协议rtp数据包。
可选地,所述标志位设置于所述rtp数据包的头信息中。
作为本发明的另一方面,提供的一种降低无线投屏时延的装置,包括:
接收模块,用于无线投屏接收端接收视频数据的实时传输协议rtp数据包;
获取模块,用于获取所述rtp数据包的标志位;当所述标志位为1时,表示所述实时传输协议rtp数据包为一帧视频数据的最后一个数据包;
解码模块,用于将所述rtp数据包所在的一帧视频数据传送至解码器进行解码输出。
可选地,还包括:
封装模块,用于无线投屏发送端将一帧视频数据封装为打包的基本数据流pes数据包;
分割模块,用于将所述pes数据包分割成若干个实时传输协议rtp数据包;
赋值模块,用于若rtp数据包为所述一帧视频数据的最后一个数据包,则将所述rtp数据包的标志位赋值为1,否则,将所述实时传输协议rtp数据包的标志位赋值为0。
可选地,所述封装模块具体为:
无线投屏发送端将一帧视频数据编码压缩成基本数据流es数据包;
将所述es数据包与pes的头信息封装为打包的基本数据流pes数据包。
可选地,所述分割模块具体为:
将所述pes数据包分割成若干个mpeg-ts数据包,所述mpeg-ts数据包的大小为188bytes;
将所述若干个mpeg-ts数据包封装为若干个实时传输协议rtp数据包。
可选地,所述标志位设置于所述rtp数据包的头信息中。
本发明提出的一种降低无线投屏时延的方法及装置,该方法包括:无线投屏接收端接收视频数据的实时传输协议rtp数据包;获取所述rtp数据包的标志位;当所述标志位为1时,表示所述实时传输协议rtp数据包为一帧视频数据的最后一个数据包;将所述rtp数据包所在的一帧视频数据传送至解码器进行解码输出;通过rtp数据包的标志位判断视频数据帧是否发送完整,避免了等待延时,降低了解码输出的时延。
附图说明
图1为本发明实施例一提供的一种降低无线投屏时延的方法的流程图;
图2为本发明实施例一提供的另一种降低无线投屏时延的方法的流程图;
图3为本发明实施例二提供的一种降低无线投屏时延的装置的示范性结构框图;
图4为本发明实施例二提供的另一种降低无线投屏时延的装置的示范性结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例一
如图1所示,在本实施例中,一种降低无线投屏时延的方法,包括:
s10、无线投屏接收端接收视频数据的实时传输协议rtp数据包;
s20、获取所述rtp数据包的标志位;当所述标志位为1时,表示所述实时传输协议rtp数据包为一帧视频数据的最后一个数据包;
s30、将所述rtp数据包所在的一帧视频数据传送至解码器进行解码输出。
在本实施例中,通过rtp数据包的标志位(marker位)判断视频数据帧是否发送完整,避免了等待延时,降低了解码输出的时延。
在本实施例中,marker位设置于所述rtp数据包的头信息中,可以携带一些相关的特殊信息,本实施例依此来区分视频数据帧是否结束。无线投屏miracast接收端接收到rtp数据包后,判断rtp的marker位,如果marker为0,则继续接收数据,如果marker为1,则表明一帧视频数据接收完成,立即送去解码器进行解码输出。
如图2所示,在本实施例中,所述步骤s10之前还包括:
s01、无线投屏发送端将一帧视频数据封装为打包的基本数据流pes数据包;
s02、将所述pes数据包分割成若干个实时传输协议rtp数据包;
s03、若rtp数据包为所述一帧视频数据的最后一个数据包,则将所述rtp数据包的标志位赋值为1,否则,s04、将所述实时传输协议rtp数据包的标志位赋值为0。
在本实施例中,所述步骤s01具体为:
无线投屏发送端将一帧视频数据编码压缩成基本数据流es数据包;
将所述es数据包与pes的头信息封装为打包的基本数据流pes数据包。
在本实施例中,所述步骤s02具体为:
将所述pes数据包分割成若干个mpeg-ts数据包,所述mpeg-ts数据包的大小为188bytes;
将所述若干个mpeg-ts数据包封装为若干个实时传输协议rtp数据包。
作为另一种实施例,所述mpeg-ts数据包的大小也可以为188bytes的整数倍。
实施例二
如图3所示,在本实施例中,一种降低无线投屏时延的装置,包括:
接收模块10,用于无线投屏接收端接收视频数据的实时传输协议rtp数据包;
获取模块20,用于获取所述rtp数据包的标志位;当所述标志位为1时,表示所述实时传输协议rtp数据包为一帧视频数据的最后一个数据包;
解码模块30,用于将所述rtp数据包所在的一帧视频数据传送至解码器进行解码输出。
在本实施例中,通过rtp数据包的标志位(marker位)判断视频数据帧是否发送完整,避免了等待延时,降低了解码输出的时延。
在本实施例中,marker位设置于所述rtp数据包的头信息中,可以携带一些相关的特殊信息,本实施例依此来区分视频数据帧是否结束。无线投屏miracast接收端接收到rtp数据包后,判断rtp的marker位,如果marker为0,则继续接收数据,如果marker为1,则表明一帧视频数据接收完成,立即送去解码器进行解码输出。
如图4所示,在本实施例中,降低无线投屏时延的装置还包括:
封装模块40,用于无线投屏发送端将一帧视频数据封装为打包的基本数据流pes数据包;
分割模块50,用于将所述pes数据包分割成若干个实时传输协议rtp数据包;
赋值模块60,用于若rtp数据包为所述一帧视频数据的最后一个数据包,则将所述rtp数据包的标志位赋值为1,否则,将所述实时传输协议rtp数据包的标志位赋值为0。
在本实施例中,所述封装模块具体为:
无线投屏发送端将一帧视频数据编码压缩成基本数据流es数据包;
将所述es数据包与pes的头信息封装为打包的基本数据流pes数据包。
在本实施例中,所述分割模块具体为:
将所述pes数据包分割成若干个mpeg-ts数据包,所述mpeg-ts数据包的大小为188bytes;
将所述若干个mpeg-ts数据包封装为若干个实时传输协议rtp数据包。
作为另一种实施例,所述mpeg-ts数据包的大小也可以为188bytes的整数倍。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。