投屏处理方法、装置、电子设备及计算机程序介质转让专利

申请号 : CN201910779831.6

文献号 : CN110784758B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王乾晏家红孙炜

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请提供了一种投屏处理方法和装置。其中,投屏处理方法包括响应于通过投屏设备进行投屏的请求,获取待投屏的视频文件的传输协议类型;若所述待投屏的视频文件的传输协议类型与视频投屏的传输协议类型不匹配,则根据所述视频投屏的传输协议类型对所述待投屏的视频文件进行转换,得到转换后的视频流;发送所述转换后的视频流至所述投屏设备,以使得所述投屏设备基于所述转换后的视频流进行投屏显示。本申请提供的技术方案有效解决了无法通过投屏设备对采用非DLNA协议中规定的视频投屏的传输协议获取的视频流数据进行投屏的问题。

权利要求 :

1.一种投屏处理方法,其特征在于,包括:响应于通过投屏设备进行投屏的请求,获取待投屏的视频文件的传输协议类型;

若所述待投屏的视频文件的传输协议类型与数字生活网络联盟DLNA所规定的视频投屏的传输协议类型不匹配,则根据所述视频投屏的传输协议类型对所述待投屏的视频文件进行转换,得到转换后的视频流;

发送所述转换后的视频流至所述投屏设备,以使得所述投屏设备基于所述转换后的视频流进行投屏显示。

2.根据权利要求1所述的投屏处理方法,其特征在于,所述根据所述视频投屏的传输协议类型对所述待投屏的视频文件进行转换,得到转换后的视频流,包括:对所述待投屏的视频文件进行解复用处理得到解复用后的视频帧数据和解复用后的音频数据;

对所述解复用后的视频帧数据进行解码处理得到解码后的视频帧数据,以及对所述解复用后的音频数据进行解码处理得到解码后的音频数据;

根据所述视频投屏的传输协议类型,分别对所述解码后的视频帧数据以及所述解码后的音频数据进行编码处理得到第一视频帧数据和第一音频数据;

根据所述视频投屏的传输协议类型,对所述第一视频帧数据和所述第一音频数据进行复用处理得到转换后的视频流。

3.根据权利要求1所述的投屏处理方法,其特征在于,若所述待投屏的视频文件包括至少两路视频文件,则根据所述视频投屏的传输协议类型对所述待投屏的视频文件进行转换,得到转换后的视频流,包括:对所述至少两路视频文件分别进行解复用处理得到至少两路解复用后的视频帧数据和至少两路解复用后的音频数据;

对所述至少两路解复用后的视频帧数据进行解码处理得到至少两路解码后的视频帧数据,以及对所述至少两路解复用后的音频数据进行解码处理得到至少两路解码后的音频数据;

对所述至少两路解码后的视频帧数据进行拼接处理得到第二视频帧数据,以及对所述至少两路解码后的音频数据进行融合处理得到第二音频数据;

根据所述视频投屏的传输协议类型,对所述第二视频帧数据进行编码处理得到第三视频帧数据,对所述第二音频数据进行编码处理得到第三音频数据;

根据所述视频投屏的传输协议类型,对所述第三视频帧数据以及所述第三音频数据进行复用处理得到转换后的视频流。

4.根据权利要求3所述的投屏处理方法,其特征在于,所述对所述至少两路解码后的视频帧数据进行拼接处理得到第二视频帧数据,包括:按照时间序列顺序对所述至少两路解码后的视频帧数据中处于各个相同时刻的视频帧进行拼接处理,得到所述第二视频帧数据。

5.根据权利要求3所述的投屏处理方法,其特征在于,所述对所述至少两路解码后的音频数据进行融合处理得到第二音频数据,包括:按照时间序列顺序对所述至少两路解码后的音频数据进行融合处理,得到所述第二音频数据。

6.根据权利要求1所述的投屏处理方法,其特征在于,还包括:若获取到需要投屏显示的文本文件,则将所述文本文件转换为待投屏的图片帧数据,并根据所述视频投屏的传输协议类型对所述待投屏的图片帧数据和所述待投屏的视频文件进行转换,得到转换后的视频流。

7.根据权利要求6所述的投屏处理方法,其特征在于,所述将所述文本文件转换为待投屏的图片帧数据,包括:

将所述文本文件转换为至少一帧图片帧数据,作为所述待投屏的图片帧数据。

8.根据权利要求6所述的投屏处理方法,其特征在于,所述根据所述视频投屏的传输协议类型对所述待投屏的图片帧数据和所述待投屏的视频文件进行转换,得到转换后的视频流,包括:

对所述待投屏的视频文件进行解复用处理得到解复用后的视频帧数据和解复用后的音频数据;

对所述解复用后的视频帧数据进行解码处理得到解码后的视频帧数据,以及对所述解复用后的音频数据进行解码处理得到解码后的音频数据;

对所述待投屏的图片帧数据和所述解码后的视频帧数据进行拼接处理得到第四视频帧数据;

根据所述视频投屏的传输协议类型,对所述第四视频帧数据进行编码处理得到第五视频帧数据,对所述解码后的音频数据进行编码处理得到第一音频数据;

根据所述视频投屏的传输协议类型,对所述第五视频帧数据以及所述第一音频数据进行复用处理得到转换后的视频流。

9.根据权利要求8所述的投屏处理方法,所述对所述待投屏的图片帧数据和所述解码后的视频帧数据进行拼接处理得到第四视频帧数据,包括:若检测到所述待投屏的图片帧数据的图片格式与所述解码后的视频帧数据的图片格式不匹配,则根据所述解码后的视频帧数据的图片格式对所述待投屏的图片帧数据进行转换,得到转换后的图片帧数据;

对所述转换后的图片帧数据和所述解码后的视频帧数据进行拼接处理得到第四视频帧数据。

10.一种投屏处理装置,其特征在于,包括:获取单元,用于响应于通过投屏设备进行投屏的请求,获取待投屏的视频文件的传输协议类型;

第一转换单元,用于若所述待投屏的视频文件的传输协议类型与数字生活网络联盟DLNA所规定的视频投屏的传输协议类型不匹配,则根据所述视频投屏的传输协议类型对所述待投屏的视频文件进行转换,得到转换后的视频流;

发送单元,用于发送所述转换后的视频流至所述投屏设备,以使得所述投屏设备基于所述转换后的视频流进行投屏显示。

11.如权利要求10所述的装置,其特征在于,所述第一转换单元用于对所述待投屏的视频文件进行解复用处理得到解复用后的视频帧数据和解复用后的音频数据;对所述解复用后的视频帧数据进行解码处理得到解码后的视频帧数据,以及对所述解复用后的音频数据进行解码处理得到解码后的音频数据;根据所述视频投屏的传输协议类型,分别对所述解码后的视频帧数据以及所述解码后的音频数据进行编码处理得到第一视频帧数据和第一音频数据;根据所述视频投屏的传输协议类型,对所述第一视频帧数据和所述第一音频数据进行复用处理得到转换后的视频流。

12.如权利要求10所述的装置,其特征在于,若所述待投屏的视频文件包括至少两路视频文件,所述第一转换单元用于对所述至少两路视频文件分别进行解复用处理得到至少两路解复用后的视频帧数据和至少两路解复用后的音频数据;对所述至少两路解复用后的视频帧数据进行解码处理得到至少两路解码后的视频帧数据,以及对所述至少两路解复用后的音频数据进行解码处理得到至少两路解码后的音频数据;对所述至少两路解码后的视频帧数据进行拼接处理得到第二视频帧数据,以及对所述至少两路解码后的音频数据进行融合处理得到第二音频数据;根据所述视频投屏的传输协议类型,对所述第二视频帧数据进行编码处理得到第三视频帧数据,对所述第二音频数据进行编码处理得到第三音频数据;

根据所述视频投屏的传输协议类型,对所述第三视频帧数据以及所述第三音频数据进行复用处理得到转换后的视频流。

13.如权利要求12所述的装置,其特征在于,所述第一转换单元用于按照时间序列顺序对所述至少两路解码后的视频帧数据中处于各个相同时刻的视频帧进行拼接处理,得到所述第二视频帧数据。

14.如权利要求12所述的装置,其特征在于,所述第一转换单元用于按照时间序列顺序对所述至少两路解码后的音频数据进行融合处理,得到所述第二音频数据。

15.如权利要求10所述的装置,其特征在于,所述装置还包括:第二转换单元,用于若获取到需要投屏显示的文本文件,则将所述文本文件转换为待投屏的图片帧数据,并根据所述视频投屏的传输协议类型对所述待投屏的图片帧数据和所述待投屏的视频文件进行转换,得到转换后的视频流。

16.如权利要求15所述的装置,其特征在于,第二转换单元用于将所述文本文件转换为至少一帧图片帧数据,作为所述待投屏的图片帧数据。

17.如权利要求15所述的装置,其特征在于,第二转换单元用于对所述待投屏的视频文件进行解复用处理得到解复用后的视频帧数据和解复用后的音频数据;对所述解复用后的视频帧数据进行解码处理得到解码后的视频帧数据,以及对所述解复用后的音频数据进行解码处理得到解码后的音频数据;对所述待投屏的图片帧数据和所述解码后的视频帧数据进行拼接处理得到第四视频帧数据;根据所述视频投屏的传输协议类型,对所述第四视频帧数据进行编码处理得到第五视频帧数据,对所述解码后的音频数据进行编码处理得到第一音频数据;根据所述视频投屏的传输协议类型,对所述第五视频帧数据以及所述第一音频数据进行复用处理得到转换后的视频流。

18.如权利要求17所述的装置,其特征在于,第二转换单元用于若检测到所述待投屏的图片帧数据的图片格式与所述解码后的视频帧数据的图片格式不匹配,则根据所述解码后的视频帧数据的图片格式对所述待投屏的图片帧数据进行转换,得到转换后的图片帧数据;对所述转换后的图片帧数据和所述解码后的视频帧数据进行拼接处理得到第四视频帧数据。

19.一种电子设备,其特征在于,包括:存储器,存储有计算机可读指令;

处理器,读取存储器存储的计算机可读指令,以执行权利要求1‑9中的任一项所述的方法。

20.一种计算机程序介质,其特征在于,所述计算机程序介质上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1‑9中的任一项所述的方法。

说明书 :

投屏处理方法、装置、电子设备及计算机程序介质

技术领域

[0001] 本申请涉及投屏技术领域,具体涉及一种投屏处理方法和装置。

背景技术

[0002] 终端设备可以基于数字生活网络联盟所规定的协议(DLNA,Digital Living Network Alliance)对局域网内的网络电视盒进行投屏。由于目前的DLNA协议中规定采用
视频投屏的传输协议为超文本传输协议 (HTTP,Hyper Text Transfer Protocol),而终端
设备需要投屏的网络直播或网络录播的视频流数据是采用非HTTP协议的其它协议来获取
的,进而导致终端设备无法通过投屏设备对采用非DLNA协议中规定的视频投屏的传输协议
获取的视频流数据进行投屏。

发明内容

[0003] 本申请的一个目的在于解决无法通过投屏设备对采用非DLNA协议中规定的视频投屏的传输协议获取的视频流数据进行投屏的问题。
[0004] 根据本申请实施例的一方面,提供了一种投屏处理方法,包括:响应于通过投屏设备进行投屏的请求,获取待投屏的视频文件的传输协议类型;若所述待投屏的视频文件的
传输协议类型与视频投屏的传输协议类型不匹配,则根据所述视频投屏的传输协议类型对
所述待投屏的视频文件进行转换,得到转换后的视频流;发送所述转换后的视频流至所述
投屏设备,以使得所述投屏设备基于所述转换后的视频流进行投屏显示。
[0005] 根据本申请实施例的一方面,提供了一种投屏处理装置,包括:获取单元,用于响应于通过投屏设备进行投屏的请求,获取待投屏的视频文件的传输协议类型;第一转换单
元,用于若所述待投屏的视频文件的传输协议类型与视频投屏的传输协议类型不匹配,则
根据所述视频投屏的传输协议类型对所述待投屏的视频文件进行转换,得到转换后的视频
流;发送单元,用于发送所述转换后的视频流至所述投屏设备,以使得所述投屏设备基于所
述转换后的视频流进行投屏显示。
[0006] 在本申请的一个实施例中,基于前述方案,所述第一转换单元用于对所述待投屏的视频文件进行解复用处理得到解复用后的视频帧数据和解复用后的音频数据;对所述解
复用后的视频帧数据进行解码处理得到解码后的视频帧数据,以及对所述解复用后的音频
数据进行解码处理得到解码后的音频数据;根据所述视频投屏的传输协议类型,分别对所
述解码后的视频帧数据以及所述解码后的音频数据进行编码处理得到第一视频帧数据和
第一音频数据;根据所述视频投屏的传输协议类型,对所述第一视频帧数据和所述第一音
频数据进行复用处理得到转换后的视频流。
[0007] 在本申请的一个实施例中,基于前述方案,若所述待投屏的视频文件包括至少两路视频文件,所述第一转换单元用于对所述至少两路视频文件分别进行解复用处理得到至
少两路解复用后的视频帧数据和至少两路解复用后的音频数据;对所述至少两路解复用后
的视频帧数据进行解码处理得到至少两路解码后的视频帧数据,以及对所述至少两路解复
用后的音频数据进行解码处理得到至少两路解码后的音频数据;对所述至少两路解码后的
视频帧数据进行拼接处理得到第二视频帧数据,以及对所述至少两路解码后的音频数据进
行融合处理得到第二音频数据;根据所述视频投屏的传输协议类型,对所述第二视频帧数
据进行编码处理得到所述第三视频帧数据,对所述第二音频数据进行编码处理得到第三音
频数据;根据所述视频投屏的传输协议类型,对所述第三视频帧数据以及所述第三音频数
据进行复用处理得到转换后的视频流。
[0008] 在本申请的一个实施例中,基于前述方案,所述第一转换单元用于按照时间序列顺序对所述至少两路解码后的视频帧数据中处于各个相同时刻的视频帧进行拼接处理,得
到所述第二视频帧数据。
[0009] 在本申请的一个实施例中,基于前述方案,所述第一转换单元用于按照时间序列顺序对所述至少两路解码后的音频数据进行融合处理,得到所述第二音频数据。
[0010] 在本申请的一个实施例中,基于前述方案,所述投屏处理装置,还包括第二转换单元用于若获取到需要投屏显示的文本文件,则将所述文本文件转换为待投屏的图片帧数
据,并根据所述视频投屏的传输协议类型对所述待投屏的图片帧数据和所述待投屏的视频
文件进行转换,得到转换后的视频流。
[0011] 在本申请的一个实施例中,基于前述方案,第二转换单元用于将所述文本文件转换为至少一帧图片帧数据,作为所述待投屏的图片帧数据。
[0012] 在本申请的一个实施例中,基于前述方案,第二转换单元用于对所述待投屏的视频文件进行解复用处理得到解复用后的视频帧数据和解复用后的音频数据;对所述解复用
后的视频帧数据进行解码处理得到解码后的视频帧数据,以及对所述解复用后的音频数据
进行解码处理得到解码后的音频数据;对所述待投屏的图片帧数据和所述解码后的视频帧
数据进行拼接处理得到第四视频帧数据;根据所述视频投屏的传输协议类型,对所述第四
视频帧数据进行编码处理得到所述第五视频帧数据,对所述解码后的音频数据进行编码处
理得到第一音频数据;根据所述视频投屏的传输协议类型,对所述第五视频帧数据以及所
述第一音频数据进行复用处理得到转换后的视频流。
[0013] 在本申请的一个实施例中,基于前述方案,第二转换单元用于若检测到所述待投屏的图片帧数据的图片格式与所述解码后的视频帧数据的图片格式不匹配,则根据所述解
码后的视频帧数据的图片格式对所述待投屏的图片帧数据进行转换,得到转换后的图片帧
数据;对所述转换后的图片帧数据和所述解码后的视频帧数据进行拼接处理得到第四视频
帧数据。
[0014] 根据本申请实施例的一方面,提供了一种电子设备,包括:
[0015] 存储器,存储有计算机可读指令;
[0016] 处理器,读取存储器存储的计算机可读指令,以执行如上所述的方法。
[0017] 根据本申请实施例的一方面,提供了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的方法。
[0018] 本申请的实施例中,在通过投屏设备进行投屏时,可以通过获取待投屏的视频文件的传输协议类型,并将待投屏的视频文件的传输协议类型与视频投屏的传输协议类型进
行匹配,若待投屏的视频文件的传输协议类型与视频投屏的传输协议类型不匹配,则根据
视频投屏的传输协议类型对待投屏的视频文件进行转换,得到转换后的视频流,得到能通
过DLNA协议规定的视频投屏的传输协议类型进行传输的视频流数据,发送转换后的视频流
至投屏设备,以使得投屏设备基于转换后的视频流进行投屏显示,进而使得终端设备可以
对采用非DLNA协议中规定的视频投屏的传输协议获取的视频流数据进行投屏,提高了采用
DLNA协议对视频流数据进行投屏显示的适用性。
[0019] 本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0020] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

附图说明

[0021] 通过参照附图详细描述其示例实施例,本申请的上述和其它目标、特征及优点将变得更加显而易见。
[0022] 图1示出根据本申请一示例实施方式的投屏处理方法应用的系统构架的示意图。
[0023] 图2示出根据本申请一示例实施方式的投屏处理方法的流程图。
[0024] 图3示出根据本申请一示例实施例中的投屏处理方法的步骤S220的具体流程图。
[0025] 图4示出根据本申请一示例实施例中的投屏处理方法的步骤S220的具体流程图。
[0026] 图5示出根据本申请另一示例实施方式的投屏处理方法的流程图。
[0027] 图6示出根据本申请另一示例实施例中的投屏处理方法的步骤S221的具体流程图。
[0028] 图7示出根据本申请另一示例实施例中的投屏处理方法的流程图。
[0029] 图8示出根据本申请另一示例实施方式的投屏处理方法的步骤S530的具体流程图。
[0030] 图9示出了根据本申请一示例实施方式的对单路非HTTP视频流数据进行投屏的数据交互示意图。
[0031] 图10示出了根据本申请一示例实施方式的对两路非HTTP视频流进行投屏的数据交互示意图。
[0032] 图11示出根据本申请一示例实施方式的一种投屏处理装置的模块图。
[0033] 图12示出根据本申请一示例实施方式的一种电子设备的硬件结构图。

具体实施方式

[0034] 现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本申请的
描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图
仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似
的部分,因而将省略对它们的重复描述。
[0035] 此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的示例实施方式的充
分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略所述特定细节
中的一个或更多,或者可以采用其它的方法、组元、步骤等。
[0036] 附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实
现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实
体。
[0037] 图1示出根据本申请实施例所应用的一种系统构架的示意图。该系统构架包括终端设备101、与终端设备101连接的投屏设备102以及与终端设备101连接的服务器103。
[0038] 终端设备101可以为智能手机、平板电脑和便携式计算机中的一种,用户终端101可以基于数字家庭网络联盟所规定的协议(DLNA,Digital Living Network Alliance)对
与终端设备101处于同一局域网内的投屏设备102进行投屏控制。投屏设备102可以为输出
图像的电子显示设备,例如智能电视等设备,投屏设备102还可以包括与智能电视连接的网
络电视盒,终端设备101与网络电视盒之间进行数据交互,进而实现对智能电视进行投屏控
制,终端设备101具体可以通过所安装的投屏应用与网络电视盒之间进行数据交互。
[0039] 服务器103有软件角度的服务器和硬件角度的服务器。从硬件的角度而言,服务器103是物理上存在的服务器,它可以是由一台物理计算机构成的服务器,也可以是由多台物
理计算机合起来构成的集群服务器。从软件的角度上说,服务器103指的是具备服务器端功
能的电脑软件,以及正在运行的服务器端软件。它可以是只占用一台计算机的一部分的虚
拟服务器,也可以是分别占用多台计算机的各自的一部分或全部的虚拟集群服务器。尤其
在云环境下,虚拟集群服务器应用得比较普遍。因此,可以把整个系统构架,看成是由无数
的节点和连接通道共同构建而成。从“硬”的方面说,该构架是由无数的硬件服务器和其他
数字化计算设备终端(比如终端设备101等)以及中间连接设备(比如网线、路由器等等)构
建而成的。从“软”的方面说,该构架是由无数运行着的服务器端软件和客户端软件(如终端
设备101上的应用)以及它们的相互连接交流而构建成的。终端设备101上的投屏应用接收
由服务器103发送的待投屏的视频文件,并依据待投屏的视频文件获取得到待投屏的视频
文件的传输协议类型,即获取得到终端设备101与服务器103之间传输待投屏的视频文件的
传输协议类型。终端设备101将投屏的视频文件的传输协议类型与视频投屏的传输协议类
型进行匹配,若投屏的视频文件的传输协议类型与视频投屏的传输协议类型不匹配,则确
定投屏的视频文件的协议格式不是目前的DLNA协议所规定的视频投屏的传输协议类型,终
端设备101根据视频投屏的协议格式对待投屏的视频文件进行转换,得到转换后的视频流
发送转换后的视频流至投屏设备102,以使得投屏设备102基于转换后的视频流进行投屏显
示。
[0040] 可见,本申请实施例的技术方案即使在终端设备101获取待投屏的视频文件的协议格式与进行投屏传输的协议格式不匹配时,终端设备101也可以根据投屏传输的协议格
式对待投屏的视频文件进行转换,得到转换后的视频流,以使得投屏设备102基于转换后的
视频流进行投屏显示,进而使得终端设备101可以对采用非DLNA协议中规定的视频投屏的
传输协议获取的视频流数据进行投屏,提高了采用DLNA协议对视频流数据进行投屏显示的
适用性。
[0041] 需要说明的是,本发明实施例所提供的投屏处理方法一般由终端设备 101执行,相应地,投屏处理装置一般设置于终端设备101中。
[0042] 本申请实施例的一些技术方案可以基于如图1所示的系统构架或其变形的系统构架来具体实施。
[0043] 参考图2,图2示出根据本申请一示例实施方式的投屏处理方法的流程图,投屏处理方法执行主体为如图1所示的终端设备101,该投屏控制处理包括:
[0044] 步骤S210,响应于通过投屏设备进行投屏的请求,获取待投屏的视频文件的传输协议类型。
[0045] 步骤S220,若所述待投屏的视频文件的传输协议类型与视频投屏的传输协议类型不匹配,则根据所述视频投屏的传输协议类型对所述待投屏的视频文件进行转换,得到转
换后的视频流。
[0046] 步骤S230,发送所述转换后的视频流至所述投屏设备,以使得所述投屏设备基于所述转换后的视频流进行投屏显示。
[0047] 下面对这些步骤进行详细描述。
[0048] 在步骤S210中,上述通过投屏设备进行投屏的请求指的是用户对终端设备进行操作而发起的通过投屏设备对视频文件进行投屏显示的请求,该请求可以由用户操作终端设
备中提供的用于进行视频投屏的虚拟按钮所触发。需要指出的是,在终端设备需要通过投
屏设备进行投屏时,终端设备需要先与投屏设备进行连接,如终端设备可以与投屏设备连
接于同一局域网中,以使得终端设备可以控制投屏设备对待投屏的视频文件进行投屏显
示。
[0049] 终端设备具体通过数字生活网络联盟(DLNA,Digital Living  NetworkAlliance)的多种协议与投屏设备进行数据交互,其中,DLNA协议规定的视频投屏的传输协
议类型为超文本传输协议(HTTP,Hyper Text Transfer Protocol),终端设备在控制投屏
设备对视频文件进行投屏时,终端设备通过HTTP协议来传输待投屏的视频文件至投屏设
备。
[0050] 待投屏的视频文件为终端设备中进行播放的视频文件,该视频文件可以为本地存储的视频文件,也可以为来源于终端设备之外的其它设备的视频文件,例如来源于远程流
媒体服务器的网络直播视频或网络录播视频。待投屏的视频文件的传输协议类型指的是终
端设备获取待投屏的视频文件时所采用的传输协议类型,例如HTTP协议、实时消息传输协
议(RTMP,Real Time Messaging Protocol)协议或超文本传输安全协议(HTTPS,Hyper 
Text Transfer Protocol over Secure Socket Layer)等协议。需要说明的是,网络直播
视频一般采用RTMP协议,网络录播视频一般采用HTTPS协议。
[0051] 在本申请的一个实施例中,当待投屏的视频文件为来源于远程流媒体服务器的网络直播视频或网络录播视频时,终端设备向远程流媒体服务器发送用于获取所需要投屏的
网络直播视频或网络录播视频的播放地址的请求,远程流媒体服务器根据该请求向终端设
备反馈网络直播视频或网络录播视频的远程播放地址至终端设备,以便于终端设备基于网
络直播视频或网络录播视频的远程播放地址获取对应的网络直播视频或网络录播视频。
[0052] 终端设备在确定待投屏的视频文件的传输协议类型时,可以根据待投屏的视频文件相应的属性信息确定待投屏的视频文件的传输协议类型,当然,还可以根据接收的待投
屏的视频文件的来源服务器类型和待投屏的视频文件的传输协议类型的对应关系来确定
待投屏的视频文件的传输协议类型,在此不作限定。
[0053] 在步骤S220中,终端设备在通过投屏设备对待投屏的视频文件进行投屏时,需要将待投屏的视频文件的传输协议类型与视频投屏的传输协议类型进行比较,以确定待投屏
的视频文件的传输协议类型与视频投屏的传输协议类型是否匹配。
[0054] 若待投屏的视频文件的传输协议类型与视频投屏的传输协议类型不匹配时,则说明待投屏的视频文件为采用非DLNA协议中规定的视频投屏的传输协议获取的视频流数据,
终端设备根据视频投屏的传输协议类型对待投屏的视频文件进行转换,得到转换后的视频
流,转换后的视频流为可以通过视频投屏的传输协议类型来进行传输的视频流数据。可以
理解的是,若待投屏的视频文件的传输协议类型与视频投屏的传输协议类型一致,则不需
要根据视频投屏的传输协议类型对待投屏的视频文件进行转换,并可以直接通过视频投屏
的传输协议类型来传输待投屏的视频文件至投屏设备,以便于通过投屏设备对待投屏的视
频文件进行投屏显示。
[0055] 参考图3,图3示出根据本申请一示例实施例中的投屏处理方法的步骤 S220的具体流程图,在本实施例中,步骤S220可以包括如下步骤:
[0056] 步骤S310,对所述待投屏的视频文件进行解复用处理得到解复用后的视频帧数据和解复用后的音频数据。
[0057] 步骤S320,对所述解复用后的视频帧数据进行解码处理得到解码后的视频帧数据,以及对所述解复用后的音频数据进行解码处理得到解码后的音频数据。
[0058] 步骤S330,根据所述投屏传输的协议格式,分别对所述解码后的视频帧数据以及所述解码后的音频数据进行编码处理得到第一视频帧数据和第一音频数据。
[0059] 步骤S340,根据所述投屏传输的协议格式,对所述第一视频帧数据和所述第一音频数据进行复用处理得到转换后的视频流。
[0060] 下面对这些步骤进行详细描述。
[0061] 在步骤S310中,对于待投屏的视频文件,终端设备根据DLNA协议规定的视频投屏的传输协议类型对待投屏的视频文件进行转换时,需要先对待投屏的视频文件进行解复用
处理得到解复用后的视频帧数据和解复用后的音频数据,从而实现将待投屏的视频文件中
的视频帧数据和音频数据进行分离的目的,以便于对待投屏的视频文件进行重新编码。
[0062] 在步骤S320中,为了便于对视频帧数据以及音频数据进行重新编码,终端设备还需要对解复用后的视频帧数据进行解码处理得到解码后的视频帧数据,以及对解复用后的
音频数据进行解码处理得到解码后的音频数据,进而得到可以进行重新编码的视频帧数据
以及可以进行重新编码的音频数据,以便于根据视频投屏的传输协议类型对解码后的视频
帧数据和解码后的音频数据进行重新编码。
[0063] 在步骤S330中,终端设备根据DLNA协议规定的视频投屏的传输协议类型,对解码后的视频帧数据进行编码处理得到第一视频帧数据,该第一视频帧数据为对解码后的视频
帧数据按照DLNA协议规定的视频投屏的传输协议类型进行编码后的视频帧数据;终端设备
还根据DLNA协议规定的视频投屏的传输协议类型,对解码后的音频数据进行编码处理得到
第一音频数据,该第一视频帧数据为对解码后的音频数据按照DLNA协议规定的视频投屏的
传输协议类型进行编码后的音频数据。
[0064] 在步骤S340中,终端设备根据DLNA协议规定的视频投屏的传输协议类型,对第一视频帧数据和第一音频数据进行复用处理,以实现将第一视频帧数据和第一音频数据进行
封装得到转换后的视频流,该转换后的视频流即为可以通过DLNA协议规定的视频投屏的传
输协议类型进行传输的视频文件。
[0065] 参考图4,图4示出根据本申请一示例实施例中的投屏处理方法的步骤 S220的具体流程图,在本实施例中,若所述待投屏的视频文件包括至少两路视频文件,则步骤S220可
以包括如下步骤:
[0066] 步骤S410,对所述至少两路视频文件分别进行解复用处理得到至少两路解复用后的视频帧数据和至少两路解复用后的音频数据;
[0067] 步骤S420,对所述至少两路解复用后的视频帧数据进行解码处理得到至少两路解码后的视频帧数据,以及对所述至少两路解复用后的音频数据进行解码处理得到至少两路
解码后的音频数据;
[0068] 步骤S430,对所述至少两路解码后的视频帧数据进行拼接处理得到第二视频帧数据,以及对所述至少两路解码后的音频数据进行融合处理得到第二音频数据;
[0069] 步骤S440,根据所述投屏传输的协议格式,对所述第二视频帧数据进行编码处理得到所述第三视频帧数据,对所述第二音频数据进行编码处理得到第三音频数据;
[0070] 步骤S450,根据所述投屏传输的协议格式,对所述第三视频帧数据以及所述第三音频数据进行复用处理得到转换后的视频流。
[0071] 下面对这些步骤进行详细描述。
[0072] 在步骤S410中,由于目前的DLNA协议仅仅支持对一路视频文件进行投屏,若待投屏的视频文件包括至少两路视频文件,则需要对至少两路视频文件进行拼接处理,得到一
路视频文件,进而以实现对至少两路视频文件进行投屏显示。具体的,终端设备需要先对至
少两路视频文件分别进行解复用处理得到至少两路解复用后的视频帧数据和至少两路解
复用后的音频数据,进而实现将至少两路视频文件中的视频帧数据和音频数据进行分离,
以便于实现对至少两路视频文件进行拼接处理。
[0073] 在步骤S420中,为了实现对至少两路视频文件进行拼接处理,还需要对至少两路解复用后的视频帧数据分别进行解码处理得到至少两路解码后的视频帧数据,以及对至少
两路解复用后的音频数据分别进行解码处理得到至少两路解码后的音频数据,其中,解码
后的视频帧数据一般为YUV格式的视频帧数据。
[0074] 在步骤S430中,终端设备对至少两路解码后的视频帧数据进行拼接处理得到第二视频帧数据,该第二视频帧数据为至少两路视频帧数据进行拼接后的视频帧数据;终端设
备还对至少两路解码后的音频数据进行融合处理得到第二音频数据,该第二音频数据为至
少两路音频数据进行融合处理得到融合后的音频数据。
[0075] 在本申请的一个实施例中,所述对所述至少两路解码后的视频帧数据进行拼接处理得到第二视频帧数据,包括:
[0076] 按照时间序列顺序对所述至少两路解码后的视频帧数据中处于各个相同时刻的视频帧进行拼接处理,得到所述第二视频帧数据。
[0077] 在本申请的一个实施例中,终端设备在对至少两路解码后的视频帧数据进行拼接处理时,会按照解码后的视频帧数据中的视频帧的时间序列顺序,对至少两路解码后的视
频帧数据中处于各个相同时刻的视频帧分别进行拼接处理得到拼接后的多帧视频帧数据,
作为第二视频帧数据。
[0078] 在本申请的一个实施例中,所述对所述至少两路解码后的音频数据进行融合处理得到第二音频数据,包括:
[0079] 按照时间序列顺序对所述至少两路解码后的音频数据进行融合处理,得到所述第二音频数据。
[0080] 在本申请的一个实施例中,终端设备在对至少两路解码后的音频数据进行融合处理时,会按照时间序列顺序对至少两路解码后的音频数据进行融合处理,得到融合后的音
频数据作为第二音频数据,其中,至少两路解码后的音频数据中处于各个相同时刻的音频
会进行融合。
[0081] 在步骤S440中,由于至少两路视频文件的传输协议类型与视频投屏的传输协议类型不匹配,为了使得投屏设备能对至少两路视频文件进行投屏显示,对于第二视频帧数据,
终端设备还根据DLNA协议规定的视频投屏的传输协议类型,对第二视频帧数据进行编码处
理得到第三视频帧数据;对于第二音频数据,终端设备还根据DLNA协议规定的视频投屏的
传输协议类型,对第二音频数据进行编码处理得到第三音频数据。
[0082] 在步骤S450中,终端设备根据DLNA协议规定的视频投屏的传输协议类型,对第三视频帧数据和第三音频数据进行复用处理,以实现将第三视频帧数据和第三音频数据进行
封装得到转换后的视频流,该转换后的视频流即为可以通过DLNA协议规定的视频投屏的传
输协议类型进行传输的视频流。
[0083] 该实施例提出的技术方案使得在待投屏的视频文件为采用非DLNA协议中规定的视频投屏的传输协议且待投屏的视频文件为包含至少两路视频文件的情况下,通过将至少
两路视频文件中的视频部分的数据进行拼接处理得到拼接后的视频帧数据,并同时将至少
两路视频文件中的音频部分的数据进行融合处理得到融合后的音频数据,再通过DLNA协议
规定的视频投屏的传输协议类型,对拼接后的视频帧数据和融合后的音频数据进行转换,
得到转换后的视频流,生成了可以通过DLNA协议规定的视频投屏的传输协议类型进行传输
的视频流数据且符合DLNA协议规定的一路视频流数据,进而使得终端设备能通过投屏设备
对采用非DLNA协议中规定的视频投屏的传输协议获取的多路视频流数据进行投屏,提高了
采用DLNA协议对视频流数据进行投屏显示的适用性。且相较于现有技术中,在需要对多路
视频进行投屏展示的情况下,采用只展示其中的某一路视频的方式或者采用将多路视频进
行简单的层叠处理的方式,该实施例提出的技术方案针对多路视频进行拼接处理的方法可
以保证需要进行投屏的多路视频都能进行完整的投屏显示,不会造成视频内容的缺失,提
高了通过DLNA协议对多路视频进行投屏显示的效果。
[0084] 还请继续参考图2,在步骤S230中,终端设备通过DLNA协议规定的视频投屏的传输协议类型发送转换后的视频流至投屏设备,以使得投屏设备基于转换后的视频流进行投屏
显示。
[0085] 在本申请的一个实施例中,终端设备在得到转换后的视频流后,会将转换后的视频流的本地流媒体播放地址发送至投屏设备。投屏设备根据转换后的视频流的本地流媒体
播放地址向终端设备发送数据获取请求,进而向终端设备请求转换后的视频流,终端设备
接收投屏设备的数据获取请求后,向发送转换后的视频流至投屏设备,以使得投屏设备基
于转换后的视频流进行投屏显示。
[0086] 以上可以看出,终端设备在通过投屏设备进行投屏时,通过获取待投屏的视频文件的传输协议类型,并将待投屏的视频文件的传输协议类型与视频投屏的传输协议类型进
行匹配,若待投屏的视频文件的传输协议类型与视频投屏的传输协议类型不匹配,则根据
视频投屏的传输协议类型对待投屏的视频文件进行转换,得到转换后的视频流,得到能通
过DLNA协议规定的视频投屏的传输协议类型进行传输的视频流数据,发送转换后的视频流
至投屏设备,以使得投屏设备基于转换后的视频流进行投屏显示,进而使得终端设备可以
对采用非DLNA协议中规定的视频投屏的传输协议获取的视频流数据进行投屏,提高了采用
DLNA协议对视频流数据进行投屏显示的适用性。
[0087] 参考图5,图5示出根据本申请一示例实施例中的投屏处理方法的流程图,在本实施例中,所述投屏处理方法还包括:
[0088] 步骤S221,若获取到需要投屏显示的文本文件,则将所述文本文件转换为待投屏的图片帧数据,并根据所述视频投屏的传输协议类型对所述待投屏的图片帧数据和所述待
投屏的视频文件进行转换,得到转换后的视频流。
[0089] 在步骤S221中,若待投屏的视频文件的传输协议类型与DLNA协议规定的视频投屏的传输协议类型不匹配的情况下,且终端设备还获取到需要投屏显示的文本文件时,由于
该文本文件不能直接在视频中进行显示,则终端设备需要将文本文件转换为待投屏的图片
帧数据,以便于根据DLNA协议规定的视频投屏的传输协议类型对待投屏的图片帧数据和待
投屏的视频文件进行转换,得到转换后的视频流。
[0090] 在本申请的一个实施例中,所述将所述文本文件转换为待投屏的图片帧数据,包括:
[0091] 将所述文本文件转换为至少一帧图片帧数据,作为所述待投屏的图片帧数据。
[0092] 终端设备将文本文件转换为待投屏的图片帧数据时,会先建立一个预设大小的画布,并将文本文件中的内容绘制到建立的画图中以实现将文本文件转换得到至少一帧图片
帧数据,该图片帧数据即为待投屏的图片帧数据,其中,图片帧的帧数可以根据文本文件的
内容大小来确定,换而言之,图片帧的帧数与文本文件的内容大小存在对应关系。
[0093] 参考图6,图6示出根据本申请一示例实施例中的投屏处理方法的步骤 S221的具体流程图,在本实施例中,所述若获取到需要投屏显示的文本文件,则将所述文本文件转换
为待投屏的图片帧数据,并根据所述视频投屏的传输协议类型对所述待投屏的图片帧数据
和所述待投屏的视频文件进行转换,得到转换后的视频流的步骤S221,包括:
[0094] 步骤S2211,若检测到对文本文件进行投屏展示的请求,则确定是否获取到需要投屏显示的文本文件;
[0095] 步骤S2212,若获取到需要投屏显示的文本文件,则将所述文本文件转换为待投屏的图片帧数据,并根据所述视频投屏的传输协议类型对所述待投屏的图片帧数据和所述待
投屏的视频文件进行转换,得到转换后的视频流。
[0096] 在步骤S2211中,上述对文本文件进行投屏展示的请求是用户对终端设备进行操作而发起的通过投屏设备对文本文件进行投屏显示的请求,该请求可以由用户操作终端设
备中提供的用于使得文本文件也进行投屏的虚拟按钮所触发。在网络直播或网络录播的视
频文件的投屏场景中,该文本文件可以为网络直播或网络录播所包含的聊天区的文本文
件。通过以上请求可以使得用户根据需求自定义地控制文本文件的投屏显示。
[0097] 在步骤S2212中,终端设备在检测到对文本文件进行投屏展示的请求,且获取到需要投屏显示的文本文件时,则将文本文件转换为待投屏的图片帧数据,并根据视频投屏的
传输协议类型对待投屏的图片帧数据和待投屏的视频文件进行转换,得到转换后的视频
流,以实现将文本文件的内容与视频文件的内容一起进行投屏显示。
[0098] 参考图7,图7示出根据本申请一示例实施例中的投屏处理方法的流程图,在本实施例中,所述根据所述投屏传输的协议格式对所述待投屏的图片帧数据和所述待投屏的视
频文件进行转换,得到转换后的视频流,包括:
[0099] 步骤S510,对所述待投屏的视频文件进行解复用处理得到解复用后的视频帧数据和解复用后的音频数据。
[0100] 步骤S520,对所述解复用后的视频帧数据进行解码处理得到解码后的视频帧数据,以及对所述解复用后的音频数据进行解码处理得到解码后的音频数据。
[0101] 步骤S530,对所述待投屏的图片帧数据和所述解码后的视频帧数据进行拼接处理得到第四视频帧数据。
[0102] 步骤S540,根据所述视频投屏的传输协议类型,对所述第四视频帧数据进行编码处理得到所述第五视频帧数据,对所述解码后的音频数据进行编码处理得到第一音频数
据。
[0103] 步骤S550,根据所述视频投屏的传输协议类型,对所述第五视频帧数据以及所述第一音频数据进行复用处理得到转换后的视频流。
[0104] 下面对这些步骤进行详细描述。
[0105] 本实施例中的步骤S510以及骤S520的内容请分别参考前述实施例中步骤S310以及步骤S320中的内容,在此不再重复赘述。
[0106] 在步骤S530中,为了实现对文本文件进行投屏显示,可以将待投屏的图片帧数据和解码后的视频帧数据进行拼接处理得到第四视频帧数据,该第四视频帧数据作为文本文
件对应的图片帧数据和视频文件对应的视频帧数据进行拼接处理后得到的视频帧数据。
[0107] 参考图8,图8示出根据本申请一示例实施例中的投屏处理方法的步骤 S530的具体流程图,在本实施例中,所述对所述待投屏的图片帧数据和所述解码后的视频帧数据进
行拼接处理得到第四视频帧数据的步骤S530,包括:
[0108] 步骤S5301,若检测到所述待投屏的图片帧数据的图片格式与所述解码后的视频帧数据的图片格式不匹配,则根据所述解码后的视频帧数据的图片格式对所述待投屏的图
片帧数据进行转换,得到转换后的图片帧数据;
[0109] 步骤S5302,对所述转换后的图片帧数据和所述解码后的视频帧数据进行拼接处理得到第四视频帧数据。
[0110] 在步骤S5301中,终端设备将待投屏的图片帧数据和解码后的视频帧数据进行拼接处理得到第四视频帧数据时,需要检测待投屏的图片帧数据的图片格式与解码后的视频
帧数据的图片格式是否匹配,即需要保证待投屏的图片帧数据的图片格式与解码后的视频
帧数据的图片格式为一致时,才能对图片帧数据与解码后的视频帧数据进行拼接。若检测
到待投屏的图片帧数据的图片格式与解码后的视频帧数据的图片格式不匹配时,则根据解
码后的视频帧数据的图片格式对待投屏的图片帧数据进行转换,得到与待投屏的图片帧数
据的图片格式为一致的转换后的图片帧数据,以便于根据转换后的图片帧数据与解码后的
视频帧数据进行拼接。
[0111] 在步骤S5302中,终端设备对转换后的图片帧数据和解码后的视频帧数据进行拼接处理得到第四视频帧数据。
[0112] 还请继续参考图7,在步骤S540中,为了使得投屏设备能对拼接处理得到的第四视频帧数据进行投屏显示,对于进行拼接处理得到第四视频帧数据,终端设备根据DLNA协议
中规定的视频投屏的传输协议类型,对第四视频帧数据进行编码处理得到第五视频帧数
据,该第五视频帧数据为对第四视频帧数据按照DLNA协议中规定的视频投屏的传输协议类
型进行编码后的视频帧数据;对于解码后的音频数据,终端设备还根据DLNA协议中规定的
视频投屏的传输协议类型,对解码后的音频数据进行编码处理得到第一音频数据,该第一
视频帧数据为对解码后的音频数据按照DLNA协议中规定的视频投屏的传输协议类型进行
编码后的音频数据。
[0113] 在步骤S550中,终端设备根据DLNA协议规定的视频投屏的传输协议类型,对第五视频帧数据和第一音频数据进行复用处理,以实现将第五视频帧数据和第一音频数据进行
封装得到转换后的视频流,该转换后的视频流即为可以通过DLNA协议规定的视频投屏的传
输协议类型进行传输的视频流。
[0114] 该实施例提出的技术方案使得在需要对文本文件进行投屏显示时,可以通过将文本文件转换为待投屏的图片帧数据,并将视频文件中的视频部分的数据和待投屏的图片帧
数据进行拼接处理得到拼接结果,根据视频投屏的传输协议类型,对拼接结果进行编码处
理得到视频部分的编码结果,并对解码后的音频数据进行编码处理得到音频部分的编码结
果,根据视频投屏的传输协议类型,对视频部分的编码结果以及音频部分的编码结果进行
复用处理得到转换后的视频流,发送转换后的视频流至投屏设备,以使得投屏设备基于转
换后的视频流进行投屏显示,进而实现在进行视频投屏的同时增加对文本文件进行投屏显
示的目的,提高了采用DLNA协议对视频流数据进行投屏显示的适用性。
[0115] 参考图9,图9示出了根据本申请一示例实施方式的对单路非HTTP视频流数据进行投屏的数据交互示意图。
[0116] 如图9所示,上述本地流媒体模块具体可以为终端设备中所安装的用于播放视频流的应用,远程流媒体服务器可以为存储有非HTTP视频流数据来源的服务器。如果没有根
据视频投屏的传输协议类型对待投屏的非HTTP 视频流数据进行转换,得到转换后的视频
流,那么终端设备无法对非HTTP 视频流数据进行投屏显示。而在实现根据视频投屏的传输
协议类型对待投屏的非HTTP视频文件进行转换,得到转换后的视频流之后,则可以使得终
端设备可以对采用不是DLNA协议中规定的视频投屏的传输协议获取的视频流数据也能进
行投屏。
[0117] 具体的,本申请一示例实施方式的对单路非HTTP视频流数据进行投屏的数据交互示意图如图9所示,可以包括如下步骤:
[0118] 步骤S601,终端设备发送用于获取播放地址的请求至远程流媒体服务器。该请求用于从远程流媒体服务器获取待投屏的单路非HTTP视频流数据的播放地址。
[0119] 步骤S602,远程流媒体服务器反馈远程播放地址至终端设备。远程流媒体服务器针对上述请求反馈单路非HTTP视频流数据的远程播放地址给终端设备。
[0120] 步骤S603,终端设备控制本地流媒体模块将单路非HTTP视频流数据的远程播放地址进行转换,得到转换后的本地流媒体播放地址。
[0121] 步骤S604,本地流媒体模块将转换后的本地流媒体播放地址传递给终端设备。
[0122] 步骤S605,终端设备根据转换后的本地流媒体播放地址发送投屏请求给投屏设备。
[0123] 步骤S606,投屏设备根据转换后的本地流媒体播放地址向终端设备请求单路视频流,以便根据单路视频流进行投屏显示。
[0124] 步骤S607,在终端设备根据单路非HTTP视频流数据的播放地址向远程流媒体服务器请求单路非HTTP视频流数据。
[0125] 步骤S608,远程流媒体服务器根据单路非HTTP视频流数据的播放地址向终端设备推送非HTTP视频流数据。
[0126] 步骤S609,终端设备根据视频投屏的传输协议类型对待投屏的单路非 HTTP视频流数据进行转换,得到转换后的视频流。该转换后的视频流即为可以通过DLNA协议规定的
视频投屏的传输协议类型进行传输的视频流,进而便于通过投屏设备进行投屏显示。
[0127] 步骤S610,终端设备将转换后的视频流发送至投屏设备,以使得投屏设备根据转换后的视频流进行投屏显示。
[0128] 在本申请上述实施例的技术方案中,终端设备在通过投屏设备对单路非HTTP视频流数据进行投屏时,可以根据视频投屏的传输协议类型对单路非HTTP视频流数据进行转
换,得到转换后的视频流,进而得到能通过DLNA 协议规定的视频投屏的传输协议类型进行
传输的视频流数据,发送转换后的视频流至投屏设备,以使得投屏设备基于转换后的视频
流进行投屏显示,由此使得终端设备可以对采用非DLNA协议中规定的视频投屏的传输协议
获取的单路视频流数据进行投屏,提高了采用DLNA协议对单路视频流数据进行投屏显示的
适用性。
[0129] 参考图10,图10示出了根据本申请一示例实施方式的对两路非HTTP 视频流进行投屏的数据交互示意图。
[0130] 如图10所示,上述本地流媒体模块具体可以为终端设备中所安装的用于播放视频流的应用,远程流媒体服务器可以为存储有非HTTP视频流数据来源的服务器。如果没有对
待投屏的两路非HTTP视频流数据进行拼接,且没有根据视频投屏的传输协议类型进行转
换,得到转换后的视频流,那么终端设备无法对待投屏的两路非HTTP视频流数据进行投屏
显示。而在实现对待投屏的两路非HTTP视频流数据进行拼接,且根据视频投屏的传输协议
类型进行转换,得到转换后的视频流之后,则可以使得终端设备能通过投屏设备对采用非
DLNA协议中规定的视频投屏的传输协议获取的两路视频流数据进行投屏使得终端设备可
以对采用非DLNA协议中规定的视频投屏的传输协议获取的视频流数据进行投屏。
[0131] 具体的,本申请一示例实施方式的对两路非HTTP视频流数据进行投屏的数据交互示意图如图10所示,可以包括如下步骤:
[0132] 步骤S701,终端设备发送用于获取远程播放地址的请求至远程流媒体服务器。该请求用于从远程流媒体服务器获取待投屏的两路非HTTP视频流数据的远程播放地址。
[0133] 步骤S702,远程流媒体服务器反馈的两路非HTTP视频流数据的远程播放地址至终端设备。
[0134] 步骤S703,终端设备控制本地流媒体模块将两路非HTTP视频流数据的远程播放地址对应的地址列表进行转换,得到转换后的单路本地流媒体播放地址。
[0135] 步骤S704,本地流媒体模块将转换后的单路本地流媒体播放地址传递给终端设备。
[0136] 步骤S705,终端设备根据转换后的单路本地流媒体播放地址发送投屏请求给投屏设备。
[0137] 步骤S706,投屏设备根据转换后的单路本地流媒体播放地址向终端设备请求视频流,以便根据视频流进行投屏显示。
[0138] 步骤S707,在终端设备根据第一路非HTTP视频流数据的远程播放地址向远程流媒体服务器请求第一路非HTTP视频流数据。
[0139] 步骤S708,远程流媒体服务器根据第一路非HTTP视频流数据的远程播放地址向终端设备推送第一路非HTTP视频流数据。
[0140] 步骤S709,在终端设备根据第二路非HTTP视频流数据的远程播放地址向远程流媒体服务器请求第二路非HTTP视频流数据。
[0141] 步骤S710,远程流媒体服务器根据第二路非HTTP视频流数据的远程播放地址向终端设备推送第二路非HTTP视频流数据。
[0142] 步骤S711,终端设备根据视频投屏的传输协议类型对待投屏的第一路非HTTP视频流数据进行解码处理,得到解码后的第一路视频流。
[0143] 步骤S712,终端设备根据视频投屏的传输协议类型对待投屏的第二路非HTTP视频流数据进行解码处理,得到解码后的第二路视频流。
[0144] 步骤S713,终端设备对解码后的第一路视频流和解码后的第二路视频流进行拼接处理得到拼接后的一路视频流,并根据视频投屏的传输协议类型对拼接后的一路视频流进
行转换,得到转换后的视频流。该转换后的视频流即为可以通过DLNA协议规定的视频投屏
的传输协议类型进行传输的视频流,进而便于通过投屏设备进行投屏显示。
[0145] 步骤S712,终端设备将转换后的视频流发送至投屏设备,以使得投屏设备根据转换后的视频流进行投屏显示。
[0146] 在本申请上述实施例的技术方案中,终端设备在通过投屏设备对两路非HTTP视频流数据进行投屏时,可以对待投屏的两路非HTTP视频流数据进行拼接,且没有根据视频投
屏的传输协议类型进行转换,得到转换后的视频流,进而使得终端设备能通过投屏设备对
采用非DLNA协议中规定的视频投屏的传输协议获取的多路视频流数据进行投屏,提高了采
用DLNA协议对视频流数据进行投屏显示的适用性。且相较于现有技术中,在需要对两路视
频进行投屏展示的情况下,采用只展示其中的某一路视频的方式或者采用将两路视频进行
简单的层叠处理的方式,该实施例提出的技术方案针对两路视频进行拼接处理的方法可以
保证需要进行投屏的两路视频都能进行完整的投屏显示,不会造成视频内容的缺失,提高
了针对两路视频进行投屏显示的效果。
[0147] 参考图11,图11示出根据本申请一示例实施方式的投屏处理方法的模块图,所述投屏处理装置800的执行主体为图1所示的终端设备101,该投屏控制装置800包括获取单元
810、第一转换单元820以及发送单元830:
[0148] 其中,获取单元810,用于响应于通过投屏设备进行投屏的请求,获取待投屏的视频文件的传输协议类型。
[0149] 第一转换单元820,用于若所述待投屏的视频文件的传输协议类型与视频投屏的传输协议类型不匹配,则根据所述视频投屏的传输协议类型对所述待投屏的视频文件进行
转换,得到转换后的视频流。
[0150] 发送单元830,用于发送所述转换后的视频流至所述投屏设备,以使得所述投屏设备基于所述转换后的视频流进行投屏显示。
[0151] 在本申请的一个实施例中,所述第一转换单元820用于对所述待投屏的视频文件进行解复用处理得到解复用后的视频帧数据和解复用后的音频数据;对所述解复用后的视
频帧数据进行解码处理得到解码后的视频帧数据,以及对所述解复用后的音频数据进行解
码处理得到解码后的音频数据;根据所述视频投屏的传输协议类型,分别对所述解码后的
视频帧数据以及所述解码后的音频数据进行编码处理得到第一视频帧数据和第一音频数
据;根据所述视频投屏的传输协议类型,对所述第一视频帧数据和所述第一音频数据进行
复用处理得到转换后的视频流。
[0152] 在本申请的一个实施例中,若所述待投屏的视频文件包括至少两路视频文件,所述第一转换单元820用于对所述至少两路视频文件分别进行解复用处理得到至少两路解复
用后的视频帧数据和至少两路解复用后的音频数据;对所述至少两路解复用后的视频帧数
据进行解码处理得到至少两路解码后的视频帧数据,以及对所述至少两路解复用后的音频
数据进行解码处理得到至少两路解码后的音频数据;对所述至少两路解码后的视频帧数据
进行拼接处理得到第二视频帧数据,以及对所述至少两路解码后的音频数据进行融合处理
得到第二音频数据;根据所述视频投屏的传输协议类型,对所述第二视频帧数据进行编码
处理得到所述第三视频帧数据,对所述第二音频数据进行编码处理得到第三音频数据;根
据所述视频投屏的传输协议类型,对所述第三视频帧数据以及所述第三音频数据进行复用
处理得到转换后的视频流。
[0153] 在本申请的一个实施例中,所述第一转换单元820用于按照时间序列顺序对所述至少两路解码后的视频帧数据中处于各个相同时刻的视频帧进行拼接处理,得到所述第二
视频帧数据。
[0154] 在本申请的一个实施例中,所述第一转换单元820用于按照时间序列顺序对所述至少两路解码后的音频数据进行融合处理,得到所述第二音频数据。
[0155] 在本申请的一个实施例中,所述投屏处理装置800,还包括第二转换单元用于若获取到需要投屏显示的文本文件,则将所述文本文件转换为待投屏的图片帧数据,并根据所
述视频投屏的传输协议类型对所述待投屏的图片帧数据和所述待投屏的视频文件进行转
换,得到转换后的视频流。
[0156] 在本申请的一个实施例中,第二转换单元用于将所述文本文件转换为至少一帧图片帧数据,作为所述待投屏的图片帧数据。
[0157] 在本申请的一个实施例中,第二转换单元用于对所述待投屏的视频文件进行解复用处理得到解复用后的视频帧数据和解复用后的音频数据;对所述解复用后的视频帧数据
进行解码处理得到解码后的视频帧数据,以及对所述解复用后的音频数据进行解码处理得
到解码后的音频数据;对所述待投屏的图片帧数据和所述解码后的视频帧数据进行拼接处
理得到第四视频帧数据;根据所述视频投屏的传输协议类型,对所述第四视频帧数据进行
编码处理得到所述第五视频帧数据,对所述解码后的音频数据进行编码处理得到第一音频
数据;根据所述视频投屏的传输协议类型,对所述第五视频帧数据以及所述第一音频数据
进行复用处理得到转换后的视频流。
[0158] 在本申请的一个实施例中,第二转换单元用于若检测到所述待投屏的图片帧数据的图片格式与所述解码后的视频帧数据的图片格式不匹配,则根据所述解码后的视频帧数
据的图片格式对所述待投屏的图片帧数据进行转换,得到转换后的图片帧数据;对所述转
换后的图片帧数据和所述解码后的视频帧数据进行拼接处理得到第四视频帧数据。
[0159] 参考图12,图12示出根据本申请一示例实施方式的一种电子设备的硬件结构图,本申请实施例的投屏处理方法可以由如图12的电子设备来实施,该电子设备具体可以为如
图1所示的终端设备101,下面参照图12来描述以终端设备101为例来进行描述,图12显示的
终端设备101仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
[0160] 如图12所示,终端设备101以通用计算设备的形式表现。终端设备101 的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件
(包括存储单元920和处理单元910)的总线 830。
[0161] 其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元910执行,使得所述处理单元910执行本说明书上述示例性方法的描述部分中描述的根据本申请
各种示例性实施方式的步骤。例如,所述处理单元910可以执行如图2至图8中所示的各个步
骤。
[0162] 存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)9201和/或高速缓存存储单元9202,还可以进一步包括只读存储单元(ROM)9203。
[0163] 存储单元920还可以包括具有一组(至少一个)程序模块9205的程序 /实用工具9204,这样的程序模块9205包括但不限于:操作系统、一个或者多个应用程序、其它程序模
块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0164] 总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构
的局域总线。
[0165] 终端设备101也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该终端设备101交互的设备通信,和/或与使得
该终端设备101能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调
器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,终端设备101还可以
通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN) 和/或公共网
络,例如因特网)通信。如图12所示,网络适配器960通过总线930与终端设备101的其它模块
通信。应当明白,尽管图12中未示出,可以结合终端设备101使用其它硬件和/或软件模块,
包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱
动器以及数据备份存储系统等。
[0166] 通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请
实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失
性存储介质(可以是CD‑ROM, U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算
设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的
方法。
[0167] 在本申请的示例性实施例中,还提供了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施
例部分描述的方法。
[0168] 根据本申请的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD‑ROM)并包括程序代码,并可以在终端设
备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可
以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或
者与其结合使用。
[0169] 所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或
半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举
的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读
存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器
(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0170] 计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、
光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介
质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其
结合使用的程序。
[0171] 可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0172] 可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如 Java、C++等,还包括常规的
过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户
计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算
设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远
程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网
(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商
来通过因特网连接)。
[0173] 应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多
模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模
块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0174] 此外,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现
期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/
或者将一个步骤分解为多个步骤执行等。
[0175] 通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请
实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失
性存储介质(可以是CD‑ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算
设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施方式的
方法。
[0176] 本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或
者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识
或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由所附的
权利要求指出。