CN113316013A - 一种视频投屏方法及系统 - Google Patents

一种视频投屏方法及系统 Download PDF

Info

Publication number
CN113316013A
CN113316013A CN202110601161.6A CN202110601161A CN113316013A CN 113316013 A CN113316013 A CN 113316013A CN 202110601161 A CN202110601161 A CN 202110601161A CN 113316013 A CN113316013 A CN 113316013A
Authority
CN
China
Prior art keywords
media data
decoder instance
playing
video
decoder
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
Application number
CN202110601161.6A
Other languages
English (en)
Other versions
CN113316013B (zh
Inventor
徐佳蓉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN202110601161.6A priority Critical patent/CN113316013B/zh
Publication of CN113316013A publication Critical patent/CN113316013A/zh
Application granted granted Critical
Publication of CN113316013B publication Critical patent/CN113316013B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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/4402Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明涉及智能多媒体终端相关的视频投屏技术领域,特别是涉及一种视频投屏方法及系统,包括:创建解码器实例;获取根据每个播放类应用所创建的解码器实例对应的信息集,并将所述解码器实例对应的信息集呈现于投屏应用的界面,以便用户指定需投屏至播放设备的解码器实例;根据投屏应用与所述播放设备的协商结果获取指定解码器实例中的媒体数据,以便于在播放设备进行显示。本发明的整个投屏过程只会将用户指定的解码器实例中的媒体数据投屏至播放设备,能很好的保护用户的隐私,且本发明是基于原始的媒体数据进行投屏,能保留原始的媒体数据的质量。

Description

一种视频投屏方法及系统
【技术领域】
本发明涉及智能多媒体终端相关的视频投屏技术领域,特别是涉及一种视频投屏方法及系统。
【背景技术】
随着互联网的高速发展和智能化进程的持续推进,涌现出越来越多的智能多媒体终端产品,这些智能多媒体终端产品之间的无线互联技术也非常丰富,不同多媒体终端间可进行音频、视频、图片、屏幕镜像等内容的传输、解析、展示、控制等,实现在不同平台设备上便捷地共享展示内容,丰富用户的多媒体生活。
当我们终端设备在进行高清视频通话、视频会议或者高清/超高清在线视频播放,想把终端设备的画面投放到附近的播放设备时,有两种做法,一种是屏幕镜像投屏,一种是媒体推送。
传统的屏幕镜像投屏是通过分享屏幕流的方式实现的,投屏应用从kernel层获取“视频图像叠加”视频帧和“音频混音”数据,然后按匹配的投屏格式做视音频编码后发送给播放设备,以实现终端设备与播放设备之间的同步,这种情况下,存在终端设备的桌面/消息通知/应用/个人数据等隐私泄露且超高清视频投屏效果受限于终端设备分辨率影响等问题。
传统的媒体推送模式是通过将终端设备的媒体流数据的资源地址发给播放设备,由播放设备自己去解析,终端设备与播放设备之间互不干扰,这种方案需要针对特定视频应用做云端+终端的定制,并且使用双倍下行流量。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
【发明内容】
本发明要解决的技术问题是:
现有技术中终端设备与播放设备之间的无线互联主要是通过屏幕镜像投屏和媒体推送两种方式,其中,传统的屏幕镜像投屏是通过分享屏幕流的方式实现的,投屏应用从kernel层获取“视频图像叠加”视频帧和“音频混音”数据,然后按匹配的投屏格式做视音频编码后发送给大屏端,以实现大小屏同步。这种情况下,存在桌面/消息通知/应用/个人数据等隐私泄露、超高清视频投屏效果受限于终端设备分辨率影响等问题。
传统的媒体推送模式是通过将媒体流数据的资源地址发给播放设备,播放设备自己去解析,终端设备和播放设备之间互不干扰。这种方案需要针对特定视频应用做云端+终端的定制,并且使用双倍下行流量。
本发明通过如下技术方案达到上述目的:
第一方面,本发明提供了一种视频投屏方法,包括:
创建解码器实例;
获取根据每个播放类应用所创建的解码器实例对应的信息集,并将所述解码器实例对应的信息集呈现于投屏应用的界面,以便用户指定需投屏至播放设备的解码器实例;
根据投屏应用与所述播放设备的协商结果获取指定解码器实例中的媒体数据,以便于在播放设备进行显示。
所述根据投屏应用与所述播放设备的协商结果获取指定解码器实例中的媒体数据,具体为:
判断所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力是否匹配;
如果判断结果为所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力匹配,则获取的指定解码器实例中的媒体数据为解码前的媒体数据;
如果判断结果为所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力不匹配,则获取的指定解码器实例中的媒体数据为解码后的媒体数据。
所述如果判断结果为所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力不匹配,则先获取指定解码器实例中的解码后的媒体数据,然后按照预设协商规则将获取的解码后的媒体数据进行编码。
所述媒体数据的媒体规格包括媒体数据的参数信息和媒体数据的编码类型。
所述创建解码器实例,具体为:
创建第一接口,所述第一接口通过进程间的通信方式调用播放控件的第二接口生成与对应媒体数据的编码类型匹配的解码器实例;
根据媒体数据的参数信息配置解码器实例,所述播放类应用向对应的配置成功的解码器实例中注入媒体数据。
所述第二接口的参数包括播放类应用的进程号;
将所述播放类应用的进程号添加至对应生成的解码器实例中;
调用终端设备的系统方法将获取的解码器实例的进程号转换为对应的播放类应用名称,从而呈现于投屏应用的界面。
所述解码器实例对应的信息集包括解码器实例的标签号、视频编码类型、视频分辨率、音频编码类型、音频位长、音频采样率、声道数中的一项或者多项。
所述播放类应用包括在线播放类应用、视频通信类应用、视频会议类应用。
第二发面,本发明提供了一种视频投屏系统,包括:
播放控件,
用于接收所述第一接口通过进程间的通信方式调用播放控件的第二接口生成与对应媒体数据的编码类型匹配的解码器实例的请求,并生成与对应媒体数据的编码类型匹配的解码器实例;
根据媒体数据的参数信息配置解码器实例,所述播放类应用向对应的配置成功的解码器实例中注入媒体数据;
投屏应用,
用于获取根据每个播放类应用所创建的解码器实例对应的信息集,并将所述解码器实例对应的信息集呈现于界面,以便用户指定需投屏至播放设备的解码器实例;
用于与所述播放设备进行协商,并根据协商结果获取指定解码器实例中的媒体数据,以便将所述指定解码器实例中的媒体数据输出至播放设备;
播放设备,
所述播放设备用于接收指定解码器实例中的媒体数据进行显示。
第三方面,本发明提供了一种计算机可读取存储介质,所述计算机可读取存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被计算机运行以使所述计算机执行根据权利要求1-8任一项所述的视频投屏方法。
与现本技术相比,本发明的有益效果是:
本发明首先创建解码器实例,所述解码器实例具有解码播放类应用中媒体数据的能力,然后将根据每个播放类应用所创建的解码器实例对应的信息集呈现于投屏应用的界面,用户可以指定需投屏至播放设备的解码器实例,并将指定的解码器实例中的媒体数据投屏至播放设备。整个投屏过程只会将用户指定的解码器实例中的媒体数据投屏至播放设备,能很好的保护用户的隐私,且本发明是基于原始的媒体数据进行投屏,能保留原始的媒体数据的质量,解决传统的超高清视频投屏效果受限于终端设备分辨率影响等问题。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种视频投屏系统的框架图;
图2是本发明实施例提供的一种视频投屏方法的流程图;
图3是本发明实施例提供的一种视频投屏方法的流程图;
图4是本发明实施例提供的一种视频投屏方法的框架图;
图5是本发明实施例提供的一种视频投屏方法的流程图;
图6是本发明实施例提供的一种视频投屏装置的架构图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明的描述中,术语“内”、“外”、“纵向”、“横向”、“上”、“下”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明而不是要求本发明必须以特定的方位构造和操作,因此不应当理解为对本发明的限制。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1:
本发明实施例1提供了一种视频投屏系统,如图1所示,所述视频投屏系统主要包括终端设备和播放设备,其中,终端设备包括播放类应用、媒体播放器、第一接口、播放控件和投屏应用;所述播放类应用具体可以包括在线播放类应用(如:爱奇艺、腾讯视频等应用程序)、视频通信类应用(微信视频等应用程序)、视频会议类应用(腾讯会议等应用程序),所述播放类应用主要为需要使用到终端设备进行播放的应用程序;所述媒体播放器,终端设备的系统架构层提供给播放类应用的播放接口,所述媒体播放器主要是完成对媒体数据的下载,并将下载后的媒体数据进行解封装,然后调用第一接口对解封装后的媒体数据进行解码;所述第一接口通过进程间的通信方式连接到播放控件,并调用播放控件的第二接口生成与对应媒体数据的编码类型匹配的解码器实例,所述解码器实例包括视频解码器实例和音频解码器实例;所述播放控件主要是接收所述第一接口通过进程间的通信方式调用第二接口生成与对应媒体数据的编码类型匹配的解码器实例的请求,从而生成与对应媒体数据的编码类型匹配的解码器实例,然后根据媒体数据的参数信息配置解码器实例,所述播放类应用向对应的配置成功的解码器实例中注入媒体数据;所述投屏应用主要是获取根据每个播放类应用所创建的解码器实例对应的信息集,并将所述解码器实例对应的信息集呈现于终端设备的界面,以便用户指定需投屏至播放设备的解码器实例;所述投屏应用还用于与所述播放设备进行协商,并根据协商结果获取指定解码器实例中的媒体数据,以便将所述指定解码器实例中的媒体数据输出至播放设备。所述播放设备主要是负责响应终端设备的投屏请求,接收终端设备发过来的媒体数据进行解码播放。
所述第二接口的参数包括播放类应用的进程号;将所述播放类应用的进程号添加至对应生成的解码器实例中;调用终端设备的系统方法将获取的解码器实例的进程号转换为对应的播放类应用名称,并呈现于投屏应用的界面。
本发明对播放控件在第二接口中增加了播放类应用的进程号作为其参数之一,并将对应的播放类应用的进程号添加至生成的解码器实例中;同时,本发明对解码器实例的构造函数增加了标签号作为其参数之一,每一个解码器实例对应的标签号不同,因此可以用于唯一识别不同的解码器实例,如图1所示的视频解码器实例101、音频解码器实例102、视频解码器实例103和音频解码器实例104,其中解码器实例后的数字为标签号,用于唯一识别对应的解码器实例,本实施例中的标签号仅仅是举例说明,并不用于限定本发明。
本实施例还提供一种视频投屏方法,如图2所示,包括:
步骤10,创建解码器实例;
播放类应用中的在线播放类应用运行时,首先会创建媒体播放器,然后由媒体播放器创建第一接口,或者视频通信类应用和视频会议类应用会直接创建第一接口;所述媒体数据包括音频数据和视频数据,若播放类应用中的媒体数据的类型包括包含视频数据和音频数据,则会创建两个第一接口,分别为视频第一接口和音频第一接口;若播放类应用中的媒体数据只包含音频数据,则会创建一个音频第一接口;若播放类应用中的媒体数据只包含视频数据,则会创建一个视频第一接口,所述第一接口具体可以包括MediaCodec。
第一接口创建好之后,第一接口获取播放类应用的进程号,然后通过进程间的通信方式调用播放控件的第二接口生成与媒体数据的编码类型匹配的解码器实例,并将对应的播放类应用的进程号添加至生成的解码器实例中,由于解码器实例的构造函数中增加了标签号这一参数,因此生成的解码器实例中包含了解码器实例的标签号和播放类应用的进程号;解码器实例生成之后,播放控件会根据媒体数据的参数信息配置解码器实例,解码器实例配置成功后,所述播放类应用就可以向对应的解码器实例中注入媒体数据。所述媒体数据的参数信息包括:视频分辨率,音频位长、音频采样率、声道数等;所述媒体数据的编码类型包括H265、H264、ACC、AC3等。
步骤20,获取根据每个播放类应用所创建的解码器实例对应的信息集,并将所述解码器实例对应的信息集呈现于投屏应用的界面,以便用户指定需投屏至播放设备的解码器实例;
当用户启用投屏应用时,投屏应用获取播放控件根据每个播放类应用创建的解码器实例的进程号、解码器实例的标签号、媒体数据的类型和媒体数据的媒体规格,并调用终端设备自身的系统方法将获取的每个解码器实例的进程号转换为对应的播放类应用名称,此时投屏应用便获取到播放控件中每个解码器实例的信息集;其中,所述解码器实例的信息集包括播放类应用名称、解码器实例的标签号、媒体数据的类型和媒体数据的媒体规格(即所述解码器实例对应的信息集包括播放类应用名称、解码器实例的标签号、视频编码类型、视频分辨率、音频编码类型、音频位长、音频采样率、声道数中的一项或者多项)。其中,所述媒体数据的媒体规格包括媒体数据的参数信息和媒体数据的编码类型,所述媒体数据的参数信息包括:视频分辨率,音频位长、音频采样率、声道数等;所述媒体数据的编码类型包括H265、H264、ACC、AC3等;所述媒体数据的类型包括音频数据和视频数据;所述投屏应用将获取的每个解码器实例的信息集呈现于投屏应用的界面,以便用户指定需投屏至播放设备的解码器实例;用户根据需要指定想要投屏至播放设备的解码器实例,其中,所述解码器实例包括音频解码器实例和视频解码器实例。
步骤30,根据投屏应用与所述播放设备的协商结果获取指定解码器实例中的媒体数据,以便于在播放设备进行显示。
用户指定想要投屏至播放设备的解码器实例后,投屏应用搜索局域网内的播放设备,选择想要投屏的播放设备,然后进行信令交互,完成建连、预设协商规则的设置和能力的协商;
投屏应用与选取的播放设备进行能力协商,如图3所示,具体包括:
步骤301,判断所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力是否匹配;
如果判断结果为所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力匹配(即指定解码器实例中的媒体数据可以在播放设备直接进行播放),步骤302,则获取的指定解码器实例中的媒体数据为解码前的媒体数据,所述投屏应用获取指定解码器实例中解码前的媒体数据后,对解码前的媒体数据进行打包,其中打包过程包括音视频数据复用(Mux)、PS/TS封装、RTP打包等,然后将打包后的媒体数据发送至选取的播放设备端进行解码播放。
如果判断结果为所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力不匹配,步骤303,则获取的指定解码器实例中的媒体数据为解码后的媒体数据,由于投屏应用获取的媒体数据为解码后的媒体数据,因此数据较大,一般用共享内存的方式将解码后的媒体数据共享给投屏应用,步骤304,投屏应用按照预设协商规则将获取的解码后的媒体数据进行编码、打包,步骤305,然后将打包后的媒体数据发送至选取的播放设备端进行解码播放。
本实施例提供一种实际场景中可实现的方式,如图4所示,假设终端设备正在运行2个播放类应用,这2个播放类应用分别为爱奇艺和QQ音乐,由于爱奇艺在播放视频时,其媒体数据的类型包含音频数据和视频数据,因此会创建两个第一接口,分别为音频第一接口1、视频第一接口1;由于QQ音乐在播放音乐时,其媒体数据只包含音频数据,因此会创建一个第一接口,为音频第一接口2;
所述音频第一接口1、视频第一接口1和音频第一接口2创建好之后,所述音频第一接口1、视频第一接口1会获取爱奇艺的进程号1001;所述音频第一接口1通过进程间的通信方式调用播放控件的第二接口生成与爱奇艺的音频数据的编码类型匹配的音频解码器实例,若该音频数据的编码类型为AAC,则生成解码类型为AAC的音频解码器实例,并将爱奇艺的进程号1001添加至生成的音频解码器实例中,同时通过解码器实例的构造函数为该音频解码器实例全局唯一指定一个标签号101,所标签号101用于唯一识别该音频解码器实例;解码类型为AAC的音频解码器实例101生成之后,播放控件会根据爱奇艺的音频数据的参数信息,如:音频位长、音频采样率和声道数等进行配置,如音频位长为16bit,音频采样率为8000Hz,声道数为2,则播放控件根据音频位长为16bit,音频采样率为8000Hz,声道数为2的音频数据的参数信息对音频解码器实例101进行配置,配置成功之后,爱奇艺就可以向音频解码器实例101中注入音频数据了,此时音频解码器实例101就具备了解码该音频数据的能力。所述视频第一接口1通过进程间的通信方式调用播放控件的第二接口生成与爱奇艺的视频数据的编码类型匹配的视频解码器实例,若该视频数据的编码类型为H265,则生成解码类型为H265的视频解码器实例,并将爱奇艺的进程号1001添加至生成的视频解码器实例中,同时通过解码器实例的构造函数为该视频解码器实例全局唯一指定一个标签号102,所标签号102用于唯一识别该视频解码器实例;解码类型为H265的视频解码器实例102生成之后,播放控件会根据爱奇艺的视频数据的参数信息,如:视频分辨率等进行配置,如视频分辨率为1920*1080,则播放控件根据视频分辨率为1920*1080的视频数据的参数信息对视频解码器实例102进行配置,配置成功之后,爱奇艺就可以向视频解码器实例102中注入视频数据了,此时视频解码器实例102就具备了解码该视频数据的能力。
所述音频第一接口2会获取QQ音乐的进程号,假设该进程号为1002;所述音频第一接口2通过进程间的通信方式调用播放控件的第二接口生成与QQ音乐的音频数据的编码类型匹配的音频解码器实例,若该音频数据的编码类型为AC3,则生成解码类型为AC3的音频解码器实例,并将QQ音乐的进程号1002添加至生成的音频解码器实例中,同时通过解码器实例的构造函数为该音频解码器实例全局唯一指定一个标签号103,所标签号103用于唯一识别该音频解码器实例;解码类型为AC3的音频解码器实例103生成之后,播放控件会根据QQ音乐的音频数据的参数信息,如:音频位长、音频采样率和声道数等进行配置,如音频位长为16bit,音频采样率为8000Hz,声道数为2,则播放控件根据音频位长为16bit,音频采样率为8000Hz,声道数为2的音频数据的参数信息对音频解码器实例103进行配置,配置成功之后,QQ音乐就可以向音频解码器实例103中注入音频数据了,此时音频解码器实例103就具备了解码该音频数据的能力。所述音频解码器实例和视频解码器实例后面加的数字为标签号,本实施例仅仅是举例说明,并不用于限定本发明。
当用户启用投屏应用时,投屏应用会获取音频解码器实例101、视频解码器实例102和音频解码器实例103对应的信息集,其中投屏应用在获取解码器实例的进程号时,会调用终端设备自身的系统方法将获取的每个解码器实例的进程号转换为对应的播放类应用名称,如:会将音频解码器实例101和视频解码器实例102的进程号1001转换为对应的爱奇艺;会将音频解码器实例103的进程号1002转换为对应的QQ音乐。然后投屏应用会将音频解码器实例101、视频解码器实例102和音频解码器实例103对应的信息集呈现于投屏应用的界面,供用户指定需投屏至播放设备的解码器实例对应的媒体数据。
假设用户同时选择了视频解码器实例102和音频解码器实例103,投屏应用搜索局域网内的播放设备,并选择播放设备1进行投屏,此时终端设备的投屏应用与播放设备1进行信令交互,完成初始化,同时设置预设协商规则,假设设置的预设协商规则为将输出至播放设备1的媒体数据的媒体规格协商为最高的媒体规格(此处的最高规格为在满足投屏应用的编码能力和终端设备的解码能力的前提下得到的),即媒体数据投屏至播放设备时,播放设备的播放效果最佳。
假设播放设备1的解码能力为只能解码视频规格为“视频编码类型为H265、视频分辨率为1920*1080”的视频数据,音频规格为“音频编码类型为AAC、音频位长为16bit、音频采样率为8000Hz、声道数为1”的音频数据;
投屏应用能将解码后的视频数据编码为视频规格为“视频编码类型为H265、视频分辨率为1920*1080”的视频数据;能将解码后的音频数据编码为音频规格为“音频编码类型为AC3、音频位长为16bit、音频采样率为48000Hz、声道数为2”的音频数据。
视频解码器实例102中的视频数据的视频规格为“视频编码类型为H265、视频分辨率为1920*1080”,音频解码器实例103的音频数据的音频规格为“音频编码类型为AC3、音频位长为16bit,音频采样率为8000Hz,声道数为2”。
所述根据投屏应用与所述播放设备的协商结果获取指定解码器实例中的媒体数据,具体为:
步骤301,投屏应用首先判断所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力是否匹配;
视频解码器实例102中的视频数据的视频规格为“视频编码类型为H265、视频分辨率为1920*1080”,播放设备1的解码能力为只能解码视频规格为“视频编码类型为H265、视频分辨率为1920*1080”的视频数据,由此可知,播放设备1可以解码视频解码器实例102中的视频数据,因此投屏应用获取视频解码器实例102中解码前的视频数据;音频解码器实例103的音频数据的音频规格为“音频编码类型为AC3、音频位长为16bit,音频采样率为8000Hz,声道数为2”,播放设备1的解码能力为只能解码音频规格为“音频编码类型为AAC、音频位长为16bit、音频采样率为8000Hz、声道数为1”,由于播放设备1不能直接解码音频解码器实例103的音频数据,因此投屏应用获取音频解码器实例103中的音频数据为经过音频解码器实例103解码后的数据,然后投屏应用按照预设的最高规格将对解码后的音频数据进行编码,如:由于播放设备1的解码能力为只能解码音频规格为“音频编码类型为AAC、音频位长为16bit、音频采样率为8000Hz、声道数为1”,投屏应用能将解码后的音频数据编码为音频规格为“音频编码类型为AC3、音频位长为16bit、音频采样率为48000Hz、声道数为2”的音频数据,因此投屏应用将解码后的音频数据编码为“音频编码类型为AAC、音频位长为16bit、音频采样率为8000Hz、声道数为1”的音频规格的音频数据。然后投屏应用对视频解码器实例102中解码前的视频数据、音频解码器实例103中经过音频解码器实例103解码和投屏应用编码后的音频数据进行打包并将媒体数据发送至播放设备进行解码播放,因为用户只选取了视频解码器实例102和音频解码器实例103,因此终端设备只会播放爱奇艺的视频,并不会播放爱奇艺的音频,同时会播放QQ音乐的音频。
终端设备和播放设备同步播放媒体数据,因为终端设备和播放设备数据同源且同步,因此终端设备相应用户的操作控制进度,同步地影响到播放设备的播放。如果终端设备暂停,可采用填充小空包的形式保持终端设备与播放设备的连通。
当用户主动断开终端设备与播放设备的连通或者用户停止播放所投屏的播放类应用时,断开终端设备与播放设备的连通。
如果判断结果为所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力匹配,则获取的指定解码器实例中的媒体数据为解码前的媒体数据;
如果判断结果为所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力不匹配,则获取的指定解码器实例中的媒体数据为解码后的媒体数据。
所述如果判断结果为所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力不匹配,则先获取指定解码器实例中的解码后的媒体数据,然后按照预设协商规则将获取的解码后的媒体数据进行编码。
具体场景中可实现的方式为:假设投屏应用判断结果为所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力不匹配,则投屏应用与播放设备按照预设协商规则进行能力协商,假设预设协商规则为将输出至播放设备的媒体数据的媒体规格协商为最高的媒体规格,如播放设备能解码视频规格为“视频编码类型为H265、视频分辨率为1920*1080”的视频数据,而终端设备的投屏应用只能编码视频规格为“视频编码类型为H264、视频分辨率为1080*720”的视频数据,则投屏应用按照预设协商规则的最高规格将经过视频解码器实例解码后的视频数据编码为视频规格为“视频编码类型为H264、视频分辨率为1080*720”的视频数据。如播放设备只能解码音频规格为“音频编码类型为AAC、音频位长为16bit,音频采样率为8000Hz、声道数为2”的音频数据,而终端设备的投屏应用能编码音频规格为“音频编码类型为AC3、音频位长为16bit,音频采样率为48000Hz、声道数为2”的音频数据,则投屏应用按照预设协商规则的最高规格将经过音频解码器实例解码后的音频数据编码为音频规格为“音频编码类型为AAC、音频位长为16bit,音频采样率为8000Hz、声道数为2”的音频数据。
所述创建解码器实例,如图5所示,具体为:
步骤101,创建第一接口,所述第一接口通过进程间的通信方式调用播放控件的第二接口生成与对应媒体数据的编码类型匹配的解码器实例;
播放类应用中的在线播放类应用运行时,首先会创建媒体播放器,然后由媒体播放器创建第一接口,或者视频通信类应用和视频会议类应用会直接创建第一接口;所述媒体数据包括音频数据和视频数据,若播放类应用中的媒体数据的类型包括包含视频数据和音频数据,则会创建两个第一接口,分别为视频第一接口和音频第一接口;若播放类应用中的媒体数据只包含音频数据,则会创建一个音频第一接口;若播放类应用中的媒体数据只包含视频数据,则会创建一个视频第一接口,所述第一接口具体可以包括MediaCodec。
第一接口创建好之后,第一接口获取播放类应用的进程号,然后通过进程间的通信方式调用播放控件的第二接口生成与媒体数据的编码类型匹配的解码器实例,并将对应的播放类应用的进程号添加至生成的解码器实例中,由于解码器实例的构造函数中增加了标签号这一参数,因此生成的解码器实例中包含了解码器实例的标签号和播放类应用的进程号;
步骤102,根据媒体数据的参数信息配置解码器实例,所述播放类应用向对应的配置成功的解码器实例中注入媒体数据;
解码器实例生成之后,播放控件会根据媒体数据的参数信息配置解码器实例,解码器实例配置成功后,所述播放类应用就可以向对应的解码器实例中注入媒体数据。
本实施例提供的视频投屏方法由于是基于原始媒体数据的投屏,能保留原始媒体数据的质量,解决传统视频投屏方法对于媒体数据显示质量的损失,同时,由于整个投屏过程只会将用户指定的解码器实例中的媒体数据投屏至播放设备,能很好的保护用户的隐私和保证投屏的灵活度。
实施例2
在上述实施例1提供的视频投屏方法的基础上,本发明还提供了一种可用于实现上述方法的视频投屏装置,如图6所示,是本发明实施例的装置架构示意图。本实施例的视频投屏装置包括一个或多个处理器21以及存储器22。其中,图6中以一个处理器21为例。
所述处理器21和所述存储器22可以通过总线或者其他方式连接,图6中以通过总线连接为例。
所述存储器22作为一种视频投屏方法非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如实施例1中的视频投屏方法。所述处理器21通过运行存储在所述存储器22中的非易失性软件程序、指令以及模块,从而执行视频投屏装置的各种功能应用以及数据处理,即实现实施例1的视频投屏方法。
所述存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,所述存储器22可选包括相对于所述处理器21远程设置的存储器,这些远程存储器可以通过网络连接至所述处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例1中的视频投屏方法,例如,执行以上描述的图2、图3和图5所示的各个步骤。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种视频投屏方法,其特征在于,包括:
创建解码器实例;
获取根据每个播放类应用所创建的解码器实例对应的信息集,并将所述解码器实例对应的信息集呈现于投屏应用的界面,以便用户指定需投屏至播放设备的解码器实例;
根据投屏应用与所述播放设备的协商结果获取指定解码器实例中的媒体数据,以便于在播放设备进行显示。
2.根据权利要求1所述的视频投屏方法,其特征在于,所述根据投屏应用与所述播放设备的协商结果获取指定解码器实例中的媒体数据,具体为:
判断所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力是否匹配;
如果判断结果为所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力匹配,则获取的指定解码器实例中的媒体数据为解码前的媒体数据;
如果判断结果为所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力不匹配,则获取的指定解码器实例中的媒体数据为解码后的媒体数据。
3.根据权利要求2所述的视频投屏方法,其特征在于,所述如果判断结果为所述指定解码器实例中的媒体数据的媒体规格与所述播放设备的解码能力不匹配,则先获取指定解码器实例中的解码后的媒体数据,然后按照预设协商规则将获取的解码后的媒体数据进行编码。
4.根据权利要求2所述的视频投屏方法,其特征在于,所述媒体数据的媒体规格包括媒体数据的参数信息和媒体数据的编码类型。
5.根据权利要求4所述的视频投屏方法,其特征在于,所述创建解码器实例,具体为:
创建第一接口,所述第一接口通过进程间的通信方式调用播放控件的第二接口生成与对应媒体数据的编码类型匹配的解码器实例;
根据媒体数据的参数信息配置解码器实例,所述播放类应用向对应的配置成功的解码器实例中注入媒体数据。
6.根据权利要求5所述的视频投屏方法,其特征在于,所述第二接口的参数包括播放类应用的进程号;
将所述播放类应用的进程号添加至对应生成的解码器实例中;
调用终端设备的系统方法将获取的解码器实例的进程号转换为对应的播放类应用名称,从而呈现于投屏应用的界面。
7.根据权利要求1所述的视频投屏方法,其特征在于,所述解码器实例对应的信息集包括解码器实例的标签号、视频编码类型、视频分辨率、音频编码类型、音频位长、音频采样率、声道数中的一项或者多项。
8.根据权利要求1-7任一所述的视频投屏方法,其特征在于,所述播放类应用包括在线播放类应用、视频通信类应用、视频会议类应用。
9.一种视频投屏系统,其特征在于,包括:
播放控件,
用于接收所述第一接口通过进程间的通信方式调用播放控件的第二接口生成与对应媒体数据的编码类型匹配的解码器实例的请求,并生成与对应媒体数据的编码类型匹配的解码器实例;
根据媒体数据的参数信息配置解码器实例,所述播放类应用向对应的配置成功的解码器实例中注入媒体数据;
投屏应用,
用于获取根据每个播放类应用所创建的解码器实例对应的信息集,并将所述解码器实例对应的信息集呈现于界面,以便用户指定需投屏至播放设备的解码器实例;
用于与所述播放设备进行协商,并根据协商结果获取指定解码器实例中的媒体数据,以便将所述指定解码器实例中的媒体数据输出至播放设备;
播放设备,
所述播放设备用于接收指定解码器实例中的媒体数据进行显示。
10.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被计算机运行以使所述计算机执行根据权利要求1-8任一项所述的视频投屏方法。
CN202110601161.6A 2021-05-31 2021-05-31 一种视频投屏方法及系统 Active CN113316013B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110601161.6A CN113316013B (zh) 2021-05-31 2021-05-31 一种视频投屏方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110601161.6A CN113316013B (zh) 2021-05-31 2021-05-31 一种视频投屏方法及系统

Publications (2)

Publication Number Publication Date
CN113316013A true CN113316013A (zh) 2021-08-27
CN113316013B CN113316013B (zh) 2022-04-26

Family

ID=77376511

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110601161.6A Active CN113316013B (zh) 2021-05-31 2021-05-31 一种视频投屏方法及系统

Country Status (1)

Country Link
CN (1) CN113316013B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114302202A (zh) * 2021-12-22 2022-04-08 深圳创维-Rgb电子有限公司 音视频投屏方法、装置、设备、系统及存储介质
CN114615544A (zh) * 2022-03-17 2022-06-10 深圳创维-Rgb电子有限公司 投屏信道优化方法、装置、设备及计算机可读存储介质

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102131090A (zh) * 2010-11-22 2011-07-20 华为技术有限公司 视频文件播放的方法、系统及媒体资源服务器
CN103096163A (zh) * 2011-11-01 2013-05-08 中国移动通信集团公司 媒体播放器和媒体文件的播放方法
US20140073298A1 (en) * 2012-09-13 2014-03-13 Klip, Inc. Method and system for screencasting smartphone video game software to online social networks
US20150029395A1 (en) * 2013-07-23 2015-01-29 3M Innovative Properties Company Audio encoding of control signals for displays
CN106658110A (zh) * 2016-12-30 2017-05-10 上海寰视网络科技有限公司 一种投屏方法及系统
CN106789453A (zh) * 2015-11-19 2017-05-31 中国移动通信集团公司 一种无线投屏方法及设备
CN109327728A (zh) * 2018-11-23 2019-02-12 深圳市鹰硕技术有限公司 一种一对多同屏方法、装置和系统、同屏设备及存储介质
CN109479113A (zh) * 2016-07-21 2019-03-15 高通股份有限公司 用于在多媒体通信中使用压缩并行编解码器的方法和装置
CN109600570A (zh) * 2018-12-25 2019-04-09 天津微迪加科技有限公司 一种共享协作方法及装置
CN109891856A (zh) * 2016-09-12 2019-06-14 伯斯有限公司 通告媒体处理能力
CN110740363A (zh) * 2019-10-25 2020-01-31 华为终端有限公司 投屏方法和系统、电子设备
CN110830841A (zh) * 2019-12-04 2020-02-21 郑州华视美达信息技术有限公司 一种处于不同局域网下的投屏方法、系统及智能装置
CN111258526A (zh) * 2020-05-06 2020-06-09 上海幻电信息科技有限公司 投屏方法和系统
CN111741372A (zh) * 2020-07-08 2020-10-02 聚好看科技股份有限公司 一种视频通话的投屏方法、显示设备及终端设备
CN112114767A (zh) * 2020-10-26 2020-12-22 努比亚技术有限公司 一种投屏帧率控制方法、设备及计算机可读存储介质
CN112612433A (zh) * 2020-12-09 2021-04-06 深圳乐播科技有限公司 一种竖屏视频的投屏方法、设备及系统
CN112764853A (zh) * 2021-01-19 2021-05-07 深圳乐播科技有限公司 一种投屏方法、设备及系统
CN112866804A (zh) * 2020-12-31 2021-05-28 努比亚技术有限公司 一种投屏自适应方法、移动终端及可读存储介质

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102131090A (zh) * 2010-11-22 2011-07-20 华为技术有限公司 视频文件播放的方法、系统及媒体资源服务器
CN103096163A (zh) * 2011-11-01 2013-05-08 中国移动通信集团公司 媒体播放器和媒体文件的播放方法
US20140073298A1 (en) * 2012-09-13 2014-03-13 Klip, Inc. Method and system for screencasting smartphone video game software to online social networks
US20150029395A1 (en) * 2013-07-23 2015-01-29 3M Innovative Properties Company Audio encoding of control signals for displays
CN106789453A (zh) * 2015-11-19 2017-05-31 中国移动通信集团公司 一种无线投屏方法及设备
CN109479113A (zh) * 2016-07-21 2019-03-15 高通股份有限公司 用于在多媒体通信中使用压缩并行编解码器的方法和装置
CN109891856A (zh) * 2016-09-12 2019-06-14 伯斯有限公司 通告媒体处理能力
CN106658110A (zh) * 2016-12-30 2017-05-10 上海寰视网络科技有限公司 一种投屏方法及系统
CN109327728A (zh) * 2018-11-23 2019-02-12 深圳市鹰硕技术有限公司 一种一对多同屏方法、装置和系统、同屏设备及存储介质
CN109600570A (zh) * 2018-12-25 2019-04-09 天津微迪加科技有限公司 一种共享协作方法及装置
CN110740363A (zh) * 2019-10-25 2020-01-31 华为终端有限公司 投屏方法和系统、电子设备
CN110830841A (zh) * 2019-12-04 2020-02-21 郑州华视美达信息技术有限公司 一种处于不同局域网下的投屏方法、系统及智能装置
CN111258526A (zh) * 2020-05-06 2020-06-09 上海幻电信息科技有限公司 投屏方法和系统
CN111741372A (zh) * 2020-07-08 2020-10-02 聚好看科技股份有限公司 一种视频通话的投屏方法、显示设备及终端设备
CN112114767A (zh) * 2020-10-26 2020-12-22 努比亚技术有限公司 一种投屏帧率控制方法、设备及计算机可读存储介质
CN112612433A (zh) * 2020-12-09 2021-04-06 深圳乐播科技有限公司 一种竖屏视频的投屏方法、设备及系统
CN112866804A (zh) * 2020-12-31 2021-05-28 努比亚技术有限公司 一种投屏自适应方法、移动终端及可读存储介质
CN112764853A (zh) * 2021-01-19 2021-05-07 深圳乐播科技有限公司 一种投屏方法、设备及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114302202A (zh) * 2021-12-22 2022-04-08 深圳创维-Rgb电子有限公司 音视频投屏方法、装置、设备、系统及存储介质
CN114615544A (zh) * 2022-03-17 2022-06-10 深圳创维-Rgb电子有限公司 投屏信道优化方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN113316013B (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
CN107251562B (zh) 检索媒体数据的方法及装置、发信媒体信息的方法及装置
US11381867B2 (en) Multiple decoder interface for streamed media data
BR112019019836A2 (pt) sinalização de informações importantes de vídeo em streaming de vídeo em rede usando parâmetros tipo mime
WO2016138844A1 (zh) 音视频文件直播方法和系统、服务器
CN113316013B (zh) 一种视频投屏方法及系统
CN103327361B (zh) 实时视频通讯回放数据流的获取方法、装置及系统
CN111316652A (zh) 使用对齐编码内容片段的个性化内容流
US9369508B2 (en) Method for transmitting a scalable HTTP stream for natural reproduction upon the occurrence of expression-switching during HTTP streaming
TW201445984A (zh) 無線通訊系統中的視訊流送
TW201924355A (zh) 用於高品質體驗的音頻信息的有效傳遞和使用的方法和裝置
US9826572B2 (en) Wireless enhanced projector
US20210014558A1 (en) Media Information Processing Method, Related Device, and Computer Storage Medium
WO2020097803A1 (zh) 弹幕处理方法、装置、电子设备及计算机可读取存储介质
US11968246B2 (en) Playback mode determining method and apparatus
CN111327580A (zh) 一种报文传输方法及装置
CN113938470A (zh) 一种浏览器播放rtsp数据源的方法、装置以及流媒体服务器
WO2021093882A1 (zh) 一种视频会议方法、会议终端、服务器及存储介质
CN113507639A (zh) 频道快速切换方法、播放器以及可读存储介质
WO2023231478A1 (zh) 音视频共享方法、设备及计算机可读存储介质
CN114157903A (zh) 重定向方法、装置、设备、存储介质及程序产品
KR20240007142A (ko) 5g 네트워크들을 통한 확장 현실 데이터의 분할 렌더링
CN117397227A (zh) 实时增强现实通信会话
CN107222769B (zh) 一种辅助数据流的传输方法、设备和系统
CN112565655A (zh) 视频数据的鉴黄方法、装置、电子设备及存储介质
CN112073727A (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