一种多媒体数据传输方法、终端及计算机可读介质与流程

文档序号:14070636阅读:142来源:国知局

本发明实施例涉及通信技术,尤其涉及一种多媒体数据传输方法、终端及计算机可读介质。



背景技术:

本发明中终端是指,包括智能机顶盒、智能电视在内的智能终端。其中,智能机顶盒,是指搭载了阿里云或者安卓系统的机顶盒,除了具备传统的电视盒看电视和视频功能,智能机顶盒可实现控制智能家居功能,还可以实现浏览网页、看电影、看电视、听音乐,聊qq、玩游戏等功能。智能电视,是指基于internet应用技术,具备开放式操作系统与芯片,拥有开放式应用平台,可实现双向人机交互功能,集影音、娱乐、数据等多种功能于一体,以满足用户多样化和个性化需求的电视产品。

目前,以iptv(internetprotocoltelevision,网路协定电视)和otttv(over-the-toptv,互联网电视)为代表的智能终端已经被广泛应用。通常,一台iptv终端只能连接一个电视屏幕,进行一项业务(媒体业务、上网、玩游戏等业务),而不能实现与其它子终端(手机、pad、电脑、智能机顶盒、智能电视等终端)连接,并向其它子终端分别发送不同多媒体数据的功能。例如,成员甲利用客厅中iptv终端观看电影时,成员乙不能通过子终端从iptv终端获取nba直播数据。

而一台otttv终端可以与其它子终端连接,实现多屏互动功能,即一台otttv终端可以同时连接手机、pad、电脑,并可以将手机、pad、电脑中的音频、图像、视频等多媒体数据转屏至otttv终端屏幕播放,但是多屏幕播放的多媒体数据一致,仍旧不能实现其它子终端从终端获取不同多媒体数据的功能。



技术实现要素:

有鉴于此,本发明实施例提供了一种多媒体数据传输方法、终端及计算机可读介质,在保证终端业务正常情况下,可向子终端发送媒体业务,把运营商媒体业务扩展到子终端,满足了家庭娱乐服务要求,提高了产品市场竞争力。

第一方面,本发明实施例提供了一种多媒体数据传输方法,包括:

接收子终端发送的控制指令,所述控制指令包含多媒体数据信息和所述子终端的硬件信息;

根据所述多媒体数据信息获取多媒体数据;

根据所述硬件信息确定编码方式,并根据所述编码方式对解码后多媒体数据进行编码;

将编码后的多媒体数据进行封装,并发送至所述子终端。

第二方面,本发明实施例提供了一种终端,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的多媒体数据传输方法。

第三方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的多媒体数据传输方法。

本发明实施例提供的一种多媒体数据传输方法、终端及计算机可读介质,终端可以根据子终端控制指令获取相应多媒体数据与编码方式,根据编码方式对解码后多媒体数据进行编码,将编码后数据发送至子终端,以实现向子终端发送不同多媒体数据的功能,满足了家庭娱乐服务要求,提高了产品市场竞争力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例一提供的一种多媒体数据传输方法流程图;

图2是本发明实施例二提供的一种多媒体数据传输方法流程图;

图3是本发明实施例三提供的一种终端的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

图1是本发明实施例一提供的一种多媒体数据传输方法流程图,本实施例可适用于终端向子终端发送媒体业务的情况,该方法可以由终端实现,例如智能机顶盒、智能电视等,具体可通过终端中的软件和/或硬件来实施。

参见图1,该多媒体数据传输方法包括如下步骤:

s110、接收子终端发送的控制指令,控制指令包含多媒体数据信息和子终端的硬件信息。

其中,子终端可以是手机、pad、电脑、智能机顶盒、智能电视等终端。

其中,多媒体数据信息可以是节目名称或者电影名称,可以是播放频道与播放时间,还可以是子终端根据终端的多媒体数据列表选取的多媒体数据信息,例如多媒体数据列表编号等。

其中,多媒体列表可以是,终端与子终端建立通信连接后,主动向子终端发送多媒体数据列表;也可以是终端与子终端建立通信连接,在接收到子终端的获取多媒体数据列表请求后,向子终端发送多媒体数据列表。其中,多媒体数据列表可以是直播节目列表、点播节目列表等。

其中,硬件信息是指与子终端执行媒体业务相关的硬件信息,例如可以是中央处理器(centralprocessingunit,cpu)运行速度、数字信号处理器(digitalsignalprocess,dsp)处理能力、屏幕分辨率、音视频兼容格式等。

s120、根据多媒体数据信息获取多媒体数据。

主终端接收子终端发送的多媒体数据信息后,对其进行解析处理,并通过相关传输协议从服务器获取多媒体数据信息对应的多媒体数据。其中相关传输协议包括但不限于本地文件传输协议(file)、超文本传输协议(hypertexttransferprotocol,http)、实时流传输协议(realtimestreamingprotocol,rtsp)、用户数据报协议(userdatagramprotocol,udp)、实时传输协议(real-timetransportprotocol,rtp)和因特网组管理协议(internetgroupmanagementprotocol,igmp)。

可选的,根据多媒体数据信息获取多媒体数据,具体可以是:

解析多媒体数据信息的地址信息;根据地址信息向多媒体服务器发送请求,以使多媒体服务器调取对应的多媒体数据;接收多媒体服务器反馈的多媒体数据。

s130、根据硬件信息确定编码方式,并根据编码方式对解码后多媒体数据进行编码。

其中,编码方式是指终端将接收的多媒体数据解码后,进行重新编码的方式,用以生成子终端可以处理的多媒体数据。其中,编码方式包含配置参数,配置参数可以是码率、视频分辨率、帧率和编码格式等参数。

其中,编码方式与硬件信息相对应。编码方式包含的配置参数以及编码方式与硬件信息的对应关系可以预先存储于终端或者预先存储于多媒体服务器。其中,硬件信息与编码方式的对应关系可以以表格、设置全局变量或其他方式进行存储。

当终端接收到子终端的硬件信息后,查找与其相匹配的编码方式,若查找成功则调取编码方式中的配置参数,用以配置编码器;若查找失败,则可以利用默认编码方式配置编码器。其中默认编码方式可以为终端初始化时编码方式,也可以用户通过预留设置入口自定义设置的编码方式。

可选的,硬件信息包括子终端的第一分辨率和音视频兼容格式,其中,第一分辨率指子终端屏幕分辨率;对应的,编码方式包括第二分辨率和编码格式,其中,第二分辨率指编码后的多媒体数据分辨率。在此基础上,根据硬件信息确定编码方式,并根据编码方式对解码后多媒体数据进行编码,可以包括:

根据第一分辨率和音视频兼容格式确定编码方式,编码方式包括第二分辨率和编码格式,其中第二分辨率与第一分辨率相匹配,编码格式与音视频兼容格式相匹配;

根据所述编码方式配置目标编码器,并基于目标编码器对解码后多媒体数据进行编码。

其中,第二分辨率与第一分辨率相匹配是指,子终端屏幕分辨率与编码后的多媒体数据分辨率相匹配,示例性的,当子终端屏幕分辨率为720p时,多媒体数据分辨率可以设置为小于等于720p,当子终端屏幕分辨率为1080p时,多媒体数据分辨率可以设置为小于等于1080p;其中,编码格式与音视频兼容格式相匹配是指,子终端的音视频兼容格式包含有编码格式类型,即经编码后多媒体数据格式可以被子终端兼容。

其中,编码过程可以与解码过程同步进行,且编码后的多媒体数据的视频编码格式可以是高视频编码格式(advancedvideocoding,avc),即h.264标准。音频编码格式可以是高级音频编码格式(advancedaudiocoding,aac)。

可选的,目标编码器为硬编码器,例如可以是mediacodec模块或基于软件开发包(softwaredevelopmentkit,sdk)开发的硬编码模块等。本实施例中,利用硬编码器对解码后多媒体数据进行硬编码,可实现在cpu资源占用少的情况下对多媒体数据进行编码,可以提高终端编码速率,同时保证了终端的正常运行。

s140、将编码后的多媒体数据进行封装,并发送至子终端。

其中,封装格式包括但不限于音频视频交错格式(audiovideointerleaved,avi)、流媒体格式(flashvideo,flv)、动态图像专家组格式(movingpictureexpertsgroup4,mp4)、可变比特率格式(realmediavariablebitrate,rmvb)和传输流格式(transportstream,ts)。

其中,终端通过相关传输协议将封装后多媒体数据发送至子终端。其中相关传输协议包括但不限于本地文件传输(file)协议、超文本传输协议(hypertexttransferprotocol,http)、实时流传输协议(realtimestreamingprotocol,rtsp)、用户数据报协议(userdatagramprotocol,udp)、实时传输协议(real-timetransportprotocol,rtp)和因特网组管理协议(internetgroupmanagementprotocol,igmp)。

其中,终端执行上述步骤与执行自身业务(媒体业务、上网、玩游戏等业务)可同时进行,互不影响,即终端在保证自身业务正常情况下,可向子终端发送媒体业务,把运营商媒体业务扩展到子终端。

示例性的,用户a通过终端观看电视节目,用户b可通过子终端与上述终端建立通信通道,向终端发送包含电影名称的控制指令,其中该终端承载的运营商媒体业务中有该电影,终端可以在不影响终端正常使用的情况下,通过服务器获取该电影的多媒体数据,经编码后发送至用户b的子终端,同时满足a和用户b的不同需求,提高了多媒体播放的智能化,以及用户体验。

示例性的,还可以基于上述方式使得不同用户获取直播节目中不同时间段的播放内容。

本实施例提供的多媒体数据传输方法,终端可以根据子终端控制指令获取相应多媒体数据与编码方式,根据编码方式对解码后多媒体数据进行编码,将编码后数据发送至子终端,以实现在终端正常运行时,向子终端发送不同多媒体数据的功能,同时满足了多用户娱乐服务要求,提高了产品市场竞争力。

在上述实施例的基础上,在步骤s120根据多媒体数据信息获取多媒体数据之后,还可以包括:

获取多媒体数据的参数信息,并判断参数信息与硬件信息是否匹配;

若是,则封装多媒体数据并发送至子终端;

若否,则根据硬件信息确定编码方式。

其中,多媒体数据的参数信息可以包括多媒体数据的分辨率、音视频格式等。其中,若多媒体数据的参数信息与硬件信息一致,即多媒体数据的参数信息与硬件信息相匹配,则说明子终端可以直接处理该多媒体数据,无需主终端进行解码与编码步骤,可直接封装并发送。若多媒体数据的参数信息与硬件信息不一致,即多媒体数据的参数信息与硬件信息不匹配,则主终端进行解码与编码步骤之后,才能进行封装与发送。

通过判断多媒体数据的参数信息与硬件信息是否匹配,可以选择是否配置编码器,从而提高多媒体数据传输至子终端的效率,提升用户体验。

实施例二

图2是本发明实施例二提供的一种多媒体数据传输方法流程图,本实施例在上述实施例的基础上提供了优选的实施方式,实现了终端向多个子终端发送多媒体数据的方法,并进一步根据终端实时资源使用情况选择响应子终端控制指令策略。与上述实施例相同或相应的术语解释,本实施例不再赘述。

参见图2,本实施例中多媒体数据传输方法包括:

s210、建立与至少一个子终端的至少一个通信通道。

其中,终端在执行自身业务时,可以开辟多条通信通道,用于实时监控是否存在子终端与之建立通信连接。每当存在一个子终端与终端建立通信连接时,终端则基于其中一条未占用通信通道,接收子终端控制指令以及向子终端发送多媒体数据。其中,未占用通信通道是指,终端未通过该通信通道与子终端进行通信。

其中,终端可以通过多条通信通道与多个子终端进行通信。其中,通信通道数量可以是预先设定的固定值,也可以根据终端实时资源使用情况进行增加或减少。示例性的,通信通道数量可以预先设定为固定值3个;也可以是开辟的2个通信通道皆被占用时,若第3个子终端请求与终端连接,且终端实时资源可以支持的情况下,开辟第3个通信通道,用以与第3个子终端进行通信,还可以在其中任一子终端通信终止后,减少一条通信通道。

s220、基于至少一个通信通道发送多媒体数据列表至至少一个子终端。

终端与至少一个子终端建立通信连接后,可通过子终端占用的对应的通信通道向至少一个子终端发送多媒体数据列表。子终端可根据终端发送的多媒体数据列表生成多媒体数据信息,例如可以是,根据多媒体数据列表选取列表中想要观看节目的编号,其中节目的编号即为多媒体数据信息。

s230、接收子终端发送的控制指令,控制指令包含多媒体数据信息和子终端的硬件信息。

s240、根据至少一个子终端发送的至少一个控制指令确定至少一个多媒体数据,将封装后的至少一个多媒体数据发送至对应的子终端。

本实施例中s240的步骤实质上对应实施例一中步骤s120至s140,其中,当终端接收到至少一个子终端的至少一个控制指令后,根据每一个控制指令中的多媒体数据信息获取一个多媒体数据;根据每一个控制指令中的子终端硬件信息确定一种编码方式,并根据该编码方式分别对该控制指令对应的解码后的多媒体数据进行编码;将编码后的每一个多媒体数据进行封装,并发送至每一个控制指令对应的子终端。

可选的,当根据至少一个多媒体数据信息获取至少一个多媒体数据之后,还可以包括:

获取多媒体数据的参数信息,并判断参数信息与对应的子终端硬件信息是否匹配;若是,则封装多媒体数据并发送至对应的子终端;若否,则根据对应子终端的硬件信息确定编码方式。

可选的,在接收至少一个子终端发送的控制指令之后,还包括:

获取当前实时资源信息,实时资源信息包括cpu使用率、空闲编码器数量和缓存剩余空间;判断当前实时资源信息是否满足控制指令处理条件;若是,则对所述控制指令进行处理;若否,将所述控制指令存储至预设位置。

终端在接收到至少一个子终端控制指令后,获取并判断实时资源使用情况,若实时资源使用情况可以支持响应子终端控制指令,则根据子终端控制指令获取相应的多媒体数据,并经过解码、编码、封装步骤发送至该子终端;若实时资源使用情况不支持响应子终端的控制指令,则该子终端控制指令被存储至预设位置,用以等待被处理。若子终端控制指令还未被处理时,该子终端终止了与终端的通信连接,则可以在预定时间后删除该控制指令。

其中,实时资源使用情况可以包括cpu使用率情况、空闲编码器数量多少和缓存剩余空间大小。

其中,cpu使用率指当前运行程序占用cpu资源的百分比,处理的运行程序越多则使用率越高,当cpu使用率达到预设使用率时,则判断为不满足子终端的控制指令处理条件,例如可以是,预设使用率为68%,当cpu使用率高于68%时,则判断cpu剩余的32%可使用空间不足以支持对子终端控制指令进行处理。其中,预设使用率可以通过预留设置入口,供用户自定义设置;也可以根据终端的cpu性能进行自定义设置。

其中,若存在空闲编码器,则判断为满足子终端的控制指令处理条件;若不存在空闲编码器,则判断为不满足子终端的控制指令处理条件。

其中,缓存剩余空间大小是指,终端cpu在对获取的多媒体数据进行解码、编码等处理过程中的数据占用运行缓存的情况。缓存剩余空间越小,则说明cpu处理多媒体数据过程中占用的存储地址区越多,当剩余空间小于预设值时,则判断为不满足子终端的控制指令处理条件。例如可以是,预设缓存剩余空间值可以为10m,当缓存剩余空间小于10m时,则判断缓存剩余空间不足以支持对子终端控制指令进行处理。其中,剩余空间预设值可以通过预留设置入口,供用户自定义设置;也可以根据终端的运行内存性能进行自定义设置。

通过对终端实时资源使用情况选择响应子终端控制指令策略,进一步优化了终端的处理控制指令性能。

在上述方案的基础上,可选的,在获取当前实时资源信息之前,还可以包括:

对至少一个控制指令按照时序或者优先级进行排序;

相应的,在当前实时资源信息满足控制指令处理条件时,根据排序对所述控制指令进行处理;

在将控制指令存储至预设位置之后,还包括:

根据预设时间间隔获取当前实时资源信息,并判断当前实时资源信息是否满足控制指令处理条件。

其中,通过对至少一个控制指令按照时序或者优先级进行排序,可以进一步的优化控制指令响应策略,使优先级高的子终端或者控制指令时序靠前的子终端优先获取请求的多媒体数据,可以进一步提升用户体验。

其中,当控制指令被存储至预设位置等待被处理时,终端还可以根据预设时间间隔获取当前实时资源信息,且当判断当前实时资源信息满足控制指令的处理条件时,可按照控制指令时序或者优先级顺序依次处理控制指令。

本实施例提供的多媒体数据传输方法,通过建立多个通信通道,实现了终端在保证自身业务正常情况下,向多个子终端发送媒体业务,把运营商媒体业务扩展到多个子终端。并且,基于多个子终端控制指令,根据终端实时资源使用信息进一步优化了控制指令响应策略,提高用户操作体验。

实施例三

本实施例提供了一种终端,可以用于终端向子终端发送媒体业务的情况。图3是本发明实施例三提供的一种终端的结构示意图。参见图3,该终端包括:

一个或多个处理器310;

存储器320,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器310执行,使得所述一个或多个处理器310实现如实施例一至二提出的多媒体数据传输方法。

图3中以一个处理器310为例;处理器310和存储器320可以通过总线或其他方式连接,图3中以通过总线连接为例。

存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的多媒体数据传输方法对应的程序指令/模块。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的多媒体数据传输方法。

存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

另外,根据终端的不同形式,除了处理器310和存储器320,终端还可以包括其他模块或结构,例如,终端可以是智能电视机,则还包括电视屏幕、扬声器、物理按键等。

本实施例提出的终端与实施例一至二提出的多媒体数据传输方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一至二,并且本实施例与实施例一至二具有相同的有益效果。

实施例四

本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例一至二提出的多媒体数据传输方法。

本实施例提出的计算机可读存储介质与实施例一至二提出的多媒体数据传输方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见实施例一至二,并且本实施例与实施例一至二具有相同的有益效果。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1