CN109819300A - 一种消息内容展示方法、发送方法、装置、终端和系统 - Google Patents
一种消息内容展示方法、发送方法、装置、终端和系统 Download PDFInfo
- Publication number
- CN109819300A CN109819300A CN201910005312.4A CN201910005312A CN109819300A CN 109819300 A CN109819300 A CN 109819300A CN 201910005312 A CN201910005312 A CN 201910005312A CN 109819300 A CN109819300 A CN 109819300A
- Authority
- CN
- China
- Prior art keywords
- message content
- time
- media stream
- instruction
- message
- 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.)
- Pending
Links
Abstract
本发明公开了一种消息内容展示方法,适于在移动终端中执行,该方法包括:获取媒体流及其对应的消息内容,所述媒体流中携带有该消息内容的发布指示,所述消息内容中携带有该消息内容的展示时间戳;对媒体流进行播放,并读取该媒体流在本地播放的时间信息;当在播放流媒体期间读取到所述消息内容的发布指示时,根据所述本地播放的时间信息,确定与读取到所述发布指示的时刻相对应的本地播放时刻;以及判断所述本地播放时刻指示的时间是否不早于所述展示时间戳指示的时间,若是,则展示所述消息内容;否则,在所述展示时间戳指示的时间来展示所述消息内容。本发明还公开了对应的消息内容展示装置、消息内容发送方法、移动终端和系统。
Description
技术领域
本发明涉及网络直播技术领域,尤其涉及一种消息内容展示方法、发送方法、装置、终端和系统。
背景技术
随着直播行业的发展和主播数量的日益增多,主播客户端将大量的直播视频流发送至服务器,并由服务器下发至用户客户端以供用户随时观看。其中比较热门的一种直播方式是答题直播,在直播过程中,主播端实时读题,客户端根据屏幕显示的题目进行作答,之后主播公布答案并同时在客户端屏幕显示。可见,能够适时恰当的展现题目对直播答题过程非常重要,然而现有技术中总会或多或少的出现题目显示时机不恰当的情况。
发明内容
为此,本发明提供了一种消息内容展示方法、发送方法、装置、终端和系统,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了消息内容展示方法,适于在移动终端中执行,该方法包括步骤:获取媒体流及其对应的消息内容,媒体流中携带有该消息内容的发布指示,消息内容中携带有该消息内容的展示时间戳;对媒体流进行播放,并读取该媒体流在本地播放的时间信息;当在播放流媒体期间读取到所述消息内容的发布指示时,根据本地播放的时间信息,确定与读取到发布指示的时刻相对应的本地播放时刻;以及判断本地播放时刻指示的时间是否不早于展示时间戳指示的时间,若是,则展示消息内容;否则,在展示时间戳指示的时间来展示消息内容。
可选地,在根据本发明的消息内容展示方法中,媒体流的每帧具有显示时间戳,该方法还包括步骤:获取服务器的系统时间,并根据该服务器系统时间对移动终端的本地时间进行校准;以及定时获取媒体流的显示时间戳,并计算该显示时间戳与校准后的本地时间的差值,若该差值大于预定数值,则重新获取最新的媒体流。
可选地,在根据本发明的消息内容展示方法中,媒体流和消息内容中分别携带有该消息内容的第一消息编码和第二消息编码,该方法还包括步骤:当读取到发布指示时,判断第一消息编码和所述第二消息编码是否为同一数值,若是,则展示消息内容。
可选地,在根据本发明的消息内容展示方法中,每条消息内容中还携带有下条消息内容的展示时间戳,该方法还包括步骤:当读取的媒体流的显示时间戳所指示的时间晚于或等于下条消息内容的展示时间戳所指示的时间、但仍未获取到下条消息内容时,根据下条消息内容的展示时间戳向服务端请求下条消息内容。
可选地,在根据本发明的消息内容展示方法中,消息内容通过服务器长连接下发获取。
可选地,在根据本发明的消息内容展示方法中,媒体流为视频直播流,消息内容为题目或答案文本,发布时间戳为主播开始说题或答案的时间戳。
可选地,在根据本发明的消息内容展示方法中,还包括步骤:对主播音频进行语音识别,识别主播开始说题的时间点,并加入该时间点的时间戳作为所述发布时间戳。
根据本发明的另一方面,提供一种消息内容发送方法,适于在服务器中执行,该方法包括步骤:确定用户开始讲述所述消息内容的时间点,在该时间点的媒体流中加入消息内容的发布指示,并将该媒体流发送给客户端,以便客户端在接收到媒体流时对该媒体流进行播放,并读取该媒体流在本地播放的时间信息;在消息内容中加入该消息内容的展示时间戳,并将该消息内容发送给客户端,以便客户端在读取到所述发布指示时,通过对比读取到该发布指示时的本地播放时刻与展示时间戳来确定当前是否播放该消息内容;其中,若本地播放时刻指示的时间晚于或等于展示时间戳指示的时间,则展示消息内容;否则,在展示时间戳指示的时间来展示消息内容。
可选地,在根据本发明的消息内容发送方法中,确定用户开始讲述该消息内容的时间点包括通过对用户音频进行语音识别来确定该时间点。
可选地,在根据本发明的消息内容发送方法中,用户在开始讲述消息内容时发出有特定暗语,通过对用户音频进行语音识别来确定该时间点包括通过对该暗语进行语音识别来确定该时间点。
根据本发明的另一个方面,提供了一种消息内容展示装置,适于驻留在移动终端中,该装置包括:数据获取模块,适于获取媒体流及其对应的消息内容,媒体流中携带有该消息内容的发布指示,消息内容中携带有该消息内容的展示时间戳;媒体流播放模块,适于对媒体流进行播放,并读取该媒体流在本地播放的时间信息;时间计算模块,适于当在播放流媒体期间读取到所述消息内容的发布指示时,根据本地播放的时间信息,确定与读取到发布指示的时刻相对应的本地播放时刻;以及消息展示模块,适于判断所确定的本地播放时刻指示的时间是否晚于或等于展示时间戳指示的时间,若是则展示所述消息内容,反之则在展示时间戳指示的时间来展示消息内容。
可选地,在根据本发明的消息内容展示装置中,媒体流的每帧具有显示时间戳,装置还包括媒体流更新模块,其中,时间计算模块还适于获取服务器的系统时间,并根据该服务器系统时间对移动终端的本地时间进行校准;以及媒体流更新模块还适于定时获取媒体流的显示时间戳,并计算该显示时间戳与校准后的本地时间的差值,若该差值大于预定数值,则重新获取最新的媒体流。
可选地,在根据本发明的消息内容展示装置中,媒体流和消息内容中分别携带有该消息内容的第一消息编码和第二消息编码,消息展示模块还适于:当读取到发布指示时,判断第一消息编码和所述第二消息编码是否为同一数值,若是,则展示消息内容。
根据本发明又一个方面,提供了一种移动终端,包括至少一个处理器;存储有程序指令的存储器,以及一个或多个程序,其中所述一个或多个程序存储在存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行如上所述的消息内容展示方法的指令。
根据本发明又一个方面,提供了一种存储一个或多个程序的计算机可读存储介质,所述指令当由移动终端执行时,使得所述移动终端执行使得该移动终端执行如上所述的消息内容展示方法。
根据本发明又一个方面,提供了一种消息内容展示系统,包括:一个或多个移动终端,用于执行如上所述的消息内容展示方法;以及服务器,用于执行如上所述的消息内容发送方法。
根据本发明的技术方案,通过对流协议添加媒体流和消息内容(如题目)的控制时间标签,并由客户端解析这些时间标签来适时触发某些特定逻辑。在直播流中插入消息内容的发布指示,在下发的消息内容中插入该消息内容的展示时间戳。播放器解析时读取到发布指示时,确定当前的本地播放时刻,并与展示时间戳作对比,当本地播放时刻指示的时间不早于展示时间戳所指示的时间时,才会显示该消息内容。另外,播放器读到时间戳时,会先和校准后的本地时间作对比,如果延时过高则客户端重新拉取直播流。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明的一个实施例的消息内容展示系统100的示意性结构图;
图2示出了根据本发明一个实施例的移动终端200的构造框图;
图3示出了根据本发明一个实施例的消息内容展示方法300的流程图;
图4示出了根据本发明一个实施例的消息内容发送方法400的流程图;以及
图5示出了根据本发明一个实施例的消息内容展示装置500的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明的一个实施例的消息内容展示系统100的示意性结构图。如图1所示,系统100包括一个或多个客户端120(如用户端1-n)、服务器140和主播端160。一个主播端160通过服务器140与多个客户端120构成一个直播间,直播平台中可包括多个直播间。应当理解,图1所示的消息内容展示系统100仅是示例性的,在具体实现中可以有不同数量的客户端和主播端,本发明对客户端120、服务器140、主播端160的数量和部署不做限制。
服务器140可以分别部署于多个地理位置,其可以实现为单个计算设备也可以实现为集群。服务器140分别与客户端120和主播端160通信连接,其能够接收主播端160上传的视频流、音频流等媒体流流,也能够接收客户端120发送的请求并向客户端120返回数据。在本发明中,服务器140可以向客户端120主动推送媒体流和消息内容,也可以响应于客户端的请求来向其返回媒体流和消息内容。其中,媒体流例如可以是主播端的视频直播流,消息内容例如可以是答题题目和/或题目答案,其可以是任意形式的题目,如纯文本、图文题、声音和文本题、视频和文本题等,本发明对此不作限制。
观众和主播可以通过登录移动终端或浏览器网页的方式进入直播间。当在移动终端上登录进入时,客户端120中可以有直播应用等视频应用,该视频应用中可以包括根据本发明的消息内容展示装置500,通过该装置对获取到的消息内容进行展示,例如展示题目及其答案。当然,装置500也可以不驻留在视频应用中,而是分散位于客户端的多个功能模块中,当视频应用需要实现该装置功能时,可以分功能调用该装置的各个模块。
根据本发明的一个实施例,上述答题系统100中的客户端120和主播端160,均可以通过如下所述的移动终端200来实现。图2示出了根据本发明一个实施例的移动终端200的结构框图。如图2所示,移动终端200可以包括存储器接口202、一个或多个数据处理器、图像处理器和/或中央处理单元204,以及外围接口206。
存储器接口202、一个或多个处理器204和/或外围接口206既可以是分立元件,也可以集成在一个或多个集成电路中。在移动终端200中,各种元件可以通过一条或多条通信总线或信号线来耦合。传感器、设备和子系统可以耦合到外围接口206,以便帮助实现多种功能。
例如,运动传感器210、光线传感器212和距离传感器214可以耦合到外围接口206,以方便定向、照明和测距等功能。其他传感器216同样可以与外围接口206相连,例如定位系统(例如GPS接收机)、加速度传感器、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。
相机子系统220和光学传感器222可以用于方便诸如记录照片和视频剪辑的相机功能的实现,其中所述相机子系统和光学传感器例如可以是电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器。可以通过一个或多个无线通信子系统224来帮助实现通信功能,其中无线通信子系统可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。无线通信子系统224的特定设计和实施方式可以取决于移动终端200所支持的一个或多个通信网络。例如,移动终端200可以包括被设计成支持LTE、3G、GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络以及BlueboothTM网络的通信子系统224。
音频子系统226可以与扬声器228以及麦克风230相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。I/O子系统240可以包括触摸屏控制器242和/或一个或多个其他输入控制器244。触摸屏控制器242可以耦合到触摸屏246。举例来说,该触摸屏246和触摸屏控制器242可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表面声波技术。
一个或多个其他输入控制器244可以耦合到其他输入/控制设备248,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、USB端口、和/或指示笔之类的指点设备。所述一个或多个按钮(未显示)可以包括用于控制扬声器228和/或麦克风230音量的向上/向下按钮。
存储器接口202可以与存储器250相耦合。该存储器250可以包括高速随机存取存储器和/或非易失性存储器,例如一个或多个磁盘存储设备,一个或多个光学存储设备,和/或闪存存储器(例如NAND,NOR)。存储器250可以存储操作系统252,例如Android、iOS或是Windows Phone之类的操作系统。该操作系统252可以包括用于处理基本系统服务以及执行依赖于硬件的任务的指令。存储器250还可以存储应用254(即,应用程序,以下简称应用)。在移动终端运行时,会从存储器250中加载操作系统252,并且由处理器204执行。应用254在运行时,也会从存储器250中加载,并由处理器204执行。应用254运行在操作系统之上,利用操作系统以及底层硬件提供的接口实现各种用户期望的功能,如即时通信、网页浏览、图片管理、视频播放等。应用254可以是独立于操作系统提供的,也可以是操作系统自带的,包括各种社交应用软件,如QQ、微信、微博等,也包括各种视频播放游戏直播等应用软件,还可以包括相册、计算器、录音笔等系统自带应用程序。另外,应用254被安装到移动终端200中时,也可以向操作系统添加驱动模块。
本发明的实施例所提供的用于执行消息内容展示方法300的程序为应用254的一种。在一些实施例中,移动终端200被配置为执行根据本发明的消息内容展示方法300。
图3示出了根据本发明一个实施例的消息内容展示方法300的流程图,该方法适于在移动终端中执行,具体地可在移动终端的应用中执行,如视频直播类应用。如图3所示,该方法始于步骤S320。
在步骤S320中,获取媒体流及其对应的消息内容,该媒体流中携带有该消息内容的发布指示,消息内容中携带有该消息内容的展示时间戳。
对于直播类应用,消息内容通常为题目文本或答案,则发布指示可以在用户(主播)开始说题或开始说答案加入,该指示可以由后台人员人工插入到直播流中。当然也可以根据以下方式进行自动插入:对用户音频进行语音识别,识别用户开始讲述该消息内容(主播开始说题或答案)的时间点,并在该时间点插入该发布指示。进一步地,用户开始讲述该消息内容时会发出有特定暗语,例如开始说题时会很清晰地读出“请看题”这三个字,开始说答案时会很清晰地读出“请看答案”这四个字,尤其可以慢语速读出。基于此,识别用户开始讲述该消息内容时的时间点可以通过对该暗语进行语音识别来确定。
相对应地,展示时间戳就是该消息内容何时展示的时间戳。消息内容是通过长链接下发过来的,当主播要开始读该消息内容(如开始读题)时,后台人员可以点击发消息,并带上该消息内容的展示时间戳(通常是发送该消息内容的时间),该消息内容就会提前通过长链接下发到客户端。当然,也可以实现展示时间戳的自动加入和消息内容的自动发送。具体地,通过对主播音频进行语音识别来确定其将要开始读题,插入该消息内容的展示时间戳(如当前要发送的时间点)后向客户端推送该消息内容。其中语音识别同样可以经过暗语识别来实现,在此不再赘述。
应当理解,时间戳通常是一个字符序列,用以唯一地标识某一刻的时间,其可以是现有技术中的常用时间戳类型,本发明对此不作限制。如可采用时分秒的时间表述形式,也可采用UNIX时间戳,即1970年1月1日(00:00:00GMT)以来的秒数。
随后,在步骤S340中,对媒体流进行播放,并读取该媒体流在本地播放的时间信息。需要说明的是,本发明的每帧媒体流也都含有显示时间戳(Presentation Time Stamp,PTS),表明每帧画面应该在何时显示,而移动终端的播放器在播放每一帧画面时都能读取到该画面的显示时间戳。
随后,在步骤S360中,当在播放流媒体期间读取到消息内容的发布指示时,根据本地播放的时间信息,确定与读取到发布指示的时刻相对应的本地播放时刻。
鉴于移动终端的本地时间可能与媒体流自带的时间戳具有延迟,因此可以获取服务器的系统时间,并根据该服务器系统时间对本地时间进行校准。具体地,客户端在启动应用后会去服务端拉取服务端的时间t1,并拿该服务端系统时间和用户的本地时间t2做比较,得到一个差值Δt=t1-t2,之后的本地时间都会加上该差值Δt以进行时间校正,使得移动终端上的所有本地时间均与服务器时间同步。步骤S360中的本地播放时刻即为经过服务器系统时间校准后的本地播放时刻。
随后,在步骤S380中,判断本地播放时刻指示的时间是否不早于展示时间戳指示的时间,若是则展示该消息内容,反之则在展示时间戳指示的时间来展示该消息内容。也就是当前者时间晚于或等于后者时间时,会立即展示该消息内容;当前者时间早于后者时间时,会待等到该后者时间时再播放该消息内容。
假设服务器发送的某段媒体流的起始播放时间为10:00:00(其为服务器时间),在该段媒体流的第2s出现该发布指示,消息内容的展示时间戳对应的(服务器)时间为10:00:05。客户端接收到该媒体流后开始播放,假设在本地时间10:00:04(该时间已经过服务器时间校准)时开始播放该媒体流,则会在10:00:06(即为步骤S360和S380中本地播放时刻所指示的时间)读到该播放指示。可见,本地播放时刻指示的时间晚于展示时间戳对应的时间,则播放器会立即播放该消息内容。而如果本地播放时刻指示的时间为10:00:04,则播放器会等待1s,待达到展示时间戳对应的时间时再播放该消息内容,这样客户端用户不会过早看到消息内容,保证竞争公平性。
根据本发明的一个实施例,方法200还可以包括步骤:获取服务器的系统时间,并根据该服务器系统时间对移动终端的本地时间进行校准;以及定时获取媒体流的显示时间戳,并计算该显示时间戳与校准后的本地时间的差值,若该差值大于预定数值,则重新获取最新的媒体流。其中,定时周期可以为每10s,预定数值可以是15s,当然也可以是其他数值,本发明对此不作限制。也就是,客户端中设置定时器定时去读取当前媒体流帧画面的显示时间戳PTS,并与当前校准后的本地时间作对比,如果PTS和校准后的本地时间相差15秒以上,表示当前媒体流的延迟较高,则会重新拉流以降低延迟。
此外,还可以调整帧率控制部分,解码线程运行的时候获取客户端本地时间并进行校准,对于分包发送的每段媒体流,获取每个数据包的第一帧画面的显示时间戳PTS,与校准后的本地时间作对比,计算机器本地时间与第一帧媒体流PTS的时间差(本地时间和流时间同步),若流的时间落后本地时间预定数值(如15s)时快放或者丢包。
根据本发明的另一个实施例,媒体流和消息内容中分别携带有该消息内容的第一消息编码和第二消息编码,方法200还可以包括步骤:当读取到该发布指示时,判断第一消息编码和第二消息编码是否为同一数值,若是,则展示该消息内容。其中消息编码可以是题目编号,例如媒体流和消息内容中分别携带每道题的消息编码,播放器在读取到发布指示时,除了要对比本地播放时刻和展示时间戳,还可以判断该两种题目编码是否一样,一样时才展示题目。当然,如果消息编码不一样,则根据该第一消息编码向服务器请求该第一消息编码所对应的消息内容,即以该第一消息编码为索引请求的参数去请求对应的消息内容。
根据本发明的又一个实施例,每条消息内容中还可以携带有下条消息内容的展示时间戳,方法200还可以包括步骤:当读取的媒体流时间戳所指示的时间晚于或等于下条消息内容的展示时间戳所指示的时间、但仍未获取到下条消息内容时,根据该下条消息内容的展示时间戳向服务端请求该下条消息内容。例如,若下条消息内容的展示时间戳对应的时间为10:00:10,则当播放到该时刻的媒体流时仍未获取到该下条消息内容,则以该展示时间戳为索引请求的参数去服务器中获取该下条消息内容。当然,每条消息内容中还可以携带下条消息内容的消息编码,这样也可以根据下条消息内容的消息编码来请求该下条消息内容。
也就是,服务器长连接下发的每道题目中都有下道题目的展示时间戳,因此客户端长链接收到了第一题后就会知道第二题的展示时间戳。如果播放器播放到了第二题的展示时间戳后但仍没有收到第二题题目,则会根据该第二题的展示时间戳通过HTTP请求去服务端拉取第二题的信息。另外,每道题目中还可以有下道题目的编号,当去请求下道题目时还可以根据该下道题目的编号来获取题目。
图4示出了根据本发明一个实施例的消息内容发送方法400的流程图,适于在服务器中执行。如图4所示,该方法始于步骤S420。
在步骤S420中,确定用户开始讲述消息内容的时间点,在该时间点的媒体流中加入该消息内容的发布指示,并将该媒体流发送给客户端,以便客户端在接收到所述媒体流时对该媒体流进行播放,并读取该媒体流在本地播放的时间信息。
根据一个实施例,可以通过对用户音频进行语音识别来确定用户开始讲述该消息内容的时间点。进一步地,用户在开始讲述该消息内容时可以发出有特定暗语,因此可以通过对该暗语进行语音识别来确定该时间点。其中,消息内容可以为题目或答案,暗语可以为“请看题”或“请看答案”,当然也可以为其他同类暗语,本发明对此不作限制。
随后,在步骤S440中,在该消息内容中加入该消息内容的展示时间戳,,并将该消息内容发送给客户端,以便客户端在读取到发布指示时,通过对比读取到该发布指示时的本地播放时刻与展示时间戳来确定当前是否播放该消息内容。其中,若本地播放时刻指示的时间晚于或等于展示时间戳指示的时间,则展示消息内容;否则,在展示时间戳指示的时间来展示消息内容。
图5示出了根据本发明一个实施例的消息内容展示装置500的示意性结构框图,其适于驻留在移动终端中,该移动终端包括视频应用。其中,装置500可以驻留在该视频应用中,也可以作为单个的功能模块分散驻留在移动终端中,以便视频应用进行调用。如图5所示,该装置500包括数据获取模块520、媒体流播放模块540、时间计算模块560和消息展示模块580。
数据获取模块520适于获取媒体流及其对应的消息内容,媒体流中携带有该消息内容的发布指示,所述消息内容中携带有该消息内容的展示时间戳。其中,媒体流可以为视频直播流,消息内容可以为题目或题目答案,其可以通过服务器长连接下发获取。消息内容的发布指示可以在主播开始说题的时间插入,展示时间戳即为该题目在客户端展示的时间。进一步地,每条消息内容中还可以携带下条消息内容的展示时间戳,当读取的媒体流时间戳指示的时间晚于或等于下条消息内容的展示时间戳指示的时间、但仍未获取到下条消息内容时,数据获取模块520适于根据该下条消息内容的展示时间戳向服务端请求下条消息内容。
媒体流播放模块540适于对媒体流进行播放,并读取该媒体流在本地播放的时间信息。其中,每帧媒体流还可以有显示时间戳,代表该帧画面在客户端上显示的时间。
时间计算模块560适于当在播放流媒体期间读取到消息内容的发布指示时,根据本地播放的时间信息,确定与读取到发布指示的时刻相对应的本地播放时刻。该本地播放时刻为通过服务器系统时间校正过的时间。根据一个实施例,时间计算模块560还适于获取服务器的系统时间,并根据该服务器系统时间对移动终端的本地时间进行校准。消息展示模块580适于判断所确定的本地播放时刻指示的时间是否晚于或等于所述展示时间戳指示的时间,若是则展示该消息内容,反之则在该展示时间戳指示的时间来展示该消息内容。也就是当展示时间戳指示的时间早于本地播放时刻对应的时间时立即展示该消息内容,当展示时间戳指示的时间晚于本地播放时刻对应的时间时,等待达到前者时间后再展示该消息内容。进一步地,媒体流和消息内容中还可以分别携带有该消息内容的第一消息编码和第二消息编码,当读取到发布指示时,消息展示模块580还适于判断第一消息编码和第二消息编码是否为同一数值,若是,则展示该消息内容。
根据本发明的一个实施例,装置500还可以包括媒体流更新模块(图中未示出),该模块可以定时获取媒体流的显示时间戳,并计算该显示时间戳与校准后的本地时间的差值,若该差值大于预定数值,则重新获取最新的媒体流。进一步地,媒体流更新模块还适于调整帧率控制部分,解码线程运行时,将每个数据包的第一帧画面的显示时间戳PTS与校准后的机器本地时间作对比,当流的时间落后本地时间多的时候快放或者丢包。
根据本发明的消息内容发送方法400和消息内容展示装置500,其具体细节已在基于图1-图3的描述中详细公开,在此不再赘述。
根据本发明的技术方案,在视频流中加入发布指示,在消息内容中加入展示时间戳,其他界面元素如文字的时间戳与视频流的时间戳进行校准,保障需要实时同步播放的视频能够统一,从而提高用户体验。
A6、如A1-A5中任一项所述的方法,其中,所述媒体流为视频直播流,所述消息内容为题目或答案,所述发布时间戳为主播开始说题或答案的时间戳。
B8、如B7所述的方法,其中,所述确定用户开始讲述该消息内容的时间点包括通过对用户音频进行语音识别来确定该时间点。
B9、如B8所述的方法,其中,用户在开始讲述所述消息内容时发出有特定暗语,所述通过对用户音频进行语音识别来确定该时间点包括通过对该暗语进行语音识别来确定该时间点。
C11、如C10所述的装置,其中,所述媒体流的每帧具有显示时间戳,所述装置还包括媒体流更新模块,其中,所述时间计算模块还适于获取服务器的系统时间,并根据该服务器系统时间对移动终端的本地时间进行校准;
以及所述媒体流更新模块还适于定时获取媒体流的显示时间戳,并计算该显示时间戳与校准后的本地时间的差值,若该差值大于预定数值,则重新获取最新的媒体流。
C12、如C9所述的装置,其中,所述媒体流和消息内容中分别携带有该消息内容的第一消息编码和第二消息编码,所述消息展示模块还适于:当读取到所述发布指示时,判断所述第一消息编码和所述第二消息编码是否为同一数值,若是,则展示所述消息内容。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的消息内容展示方法和发送方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种消息内容展示方法,适于在移动终端中执行,所述方法包括步骤:
获取媒体流及其对应的消息内容,所述媒体流中携带有该消息内容的发布指示,所述消息内容中携带有该消息内容的展示时间戳;
对所述媒体流进行播放,并读取该媒体流在本地播放的时间信息;
当在播放所述流媒体期间读取到所述消息内容的发布指示时,根据所述本地播放的时间信息,确定与读取到所述发布指示的时刻相对应的本地播放时刻;以及
判断所述本地播放时刻指示的时间是否不早于所述展示时间戳指示的时间,若是,则展示所述消息内容;否则,在所述展示时间戳指示的时间来展示所述消息内容。
2.如权利要求1所述的方法,所述媒体流的每帧具有显示时间戳,该方法还包括步骤:
获取服务器的系统时间,并根据该服务器系统时间对移动终端的本地时间进行校准;以及
定时获取媒体流的显示时间戳,并计算该显示时间戳与校准后的本地时间的差值,若该差值大于预定数值,则重新获取最新的媒体流。
3.如权利要求1所述的方法,其中,所述媒体流和消息内容中分别携带有该消息内容的第一消息编码和第二消息编码,该方法还包括步骤:
当读取到所述发布指示时,判断所述第一消息编码和所述第二消息编码是否为同一数值,若是,则展示所述消息内容。
4.如权利要求2所述的方法,其中,每条消息内容中还携带有下条消息内容的展示时间戳,该方法还包括步骤:
当读取的媒体流的显示时间戳所指示的时间晚于或等于下条消息内容的展示时间戳所指示的时间、但仍未获取到下条消息内容时,根据所述下条消息内容的展示时间戳向服务端请求所述下条消息内容。
5.如权利要求1-4中任一项所述的方法,其中,所述消息内容通过服务器长连接下发获取。
6.一种消息内容发送方法,适于在服务器中执行,该方法包括步骤:
确定用户开始讲述所述消息内容的时间点,在该时间点的媒体流中加入所述消息内容的发布指示,并将该媒体流发送给客户端,以便客户端在接收到所述媒体流时对该媒体流进行播放,并读取该媒体流在本地播放的时间信息;
在所述消息内容中加入该消息内容的展示时间戳,并将该消息内容发送给客户端,以便客户端在读取到所述发布指示时,通过对比读取到该发布指示时的本地播放时刻与所述展示时间戳来确定当前是否播放该消息内容;
其中,若所述本地播放时刻指示的时间晚于或等于所述展示时间戳指示的时间,则展示所述消息内容;否则,在所述展示时间戳指示的时间来展示所述消息内容。
7.一种消息内容展示装置,适于驻留在移动终端中,所述装置包括:
数据获取模块,适于获取媒体流及其对应的消息内容,所述媒体流中携带有该消息内容的发布指示,所述消息内容中携带有该消息内容的展示时间戳;
媒体流播放模块,适于对所述媒体流进行播放,并读取该媒体流在本地播放的时间信息;
时间计算模块,适于当在播放所述流媒体期间读取到所述消息内容的发布指示时,根据所述本地播放的时间信息,确定与读取到所述发布指示的时刻相对应的本地播放时刻;以及
消息展示模块,适于判断所确定的本地播放时刻指示的时间是否晚于或等于所述展示时间戳指示的时间,若是则展示所述消息内容,反之则在所述展示时间戳指示的时间来展示所述消息内容。
8.一种移动终端,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1-6所述的方法中的任一方法的指令。
9.一种存储一个或多个程序的可读存储介质,所述一个或多个程序包括指令,所述指令当由移动终端执行时,使得所述移动终端执行根据权利要求1-6所述的方法中的任一方法。
10.一种消息内容展示系统,包括:
一个或多个移动终端,用于执行如权利要求1-5中任一项所述的消息内容展示方法;以及
服务器,用于执行如权利要求6所述的消息内容发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910005312.4A CN109819300A (zh) | 2019-01-03 | 2019-01-03 | 一种消息内容展示方法、发送方法、装置、终端和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910005312.4A CN109819300A (zh) | 2019-01-03 | 2019-01-03 | 一种消息内容展示方法、发送方法、装置、终端和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109819300A true CN109819300A (zh) | 2019-05-28 |
Family
ID=66603907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910005312.4A Pending CN109819300A (zh) | 2019-01-03 | 2019-01-03 | 一种消息内容展示方法、发送方法、装置、终端和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109819300A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933449A (zh) * | 2019-12-20 | 2020-03-27 | 北京奇艺世纪科技有限公司 | 一种外部数据与视频画面的同步方法、系统及装置 |
WO2023151332A1 (zh) * | 2022-02-08 | 2023-08-17 | 腾讯科技(深圳)有限公司 | 一种多媒体流处理方法、装置、设备、计算机可读存储介质及计算机程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847896A (zh) * | 2016-03-30 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种直播中信息展示方法及装置 |
CN107666619A (zh) * | 2017-06-15 | 2018-02-06 | 北京金山云网络技术有限公司 | 直播数据传输方法、装置、电子设备、服务器及存储介质 |
US20180098099A1 (en) * | 2016-09-30 | 2018-04-05 | Disney Enterprises, Inc. | Real-time data updates from a run down system for a video broadcast |
CN108449605A (zh) * | 2018-03-13 | 2018-08-24 | 北京小米移动软件有限公司 | 信息同步播放方法、装置、设备、系统及存储介质 |
CN108881956A (zh) * | 2018-06-07 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 一种直播流传输方法、装置及相关设备 |
-
2019
- 2019-01-03 CN CN201910005312.4A patent/CN109819300A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847896A (zh) * | 2016-03-30 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种直播中信息展示方法及装置 |
US20180098099A1 (en) * | 2016-09-30 | 2018-04-05 | Disney Enterprises, Inc. | Real-time data updates from a run down system for a video broadcast |
CN107666619A (zh) * | 2017-06-15 | 2018-02-06 | 北京金山云网络技术有限公司 | 直播数据传输方法、装置、电子设备、服务器及存储介质 |
CN108449605A (zh) * | 2018-03-13 | 2018-08-24 | 北京小米移动软件有限公司 | 信息同步播放方法、装置、设备、系统及存储介质 |
CN108881956A (zh) * | 2018-06-07 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 一种直播流传输方法、装置及相关设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110933449A (zh) * | 2019-12-20 | 2020-03-27 | 北京奇艺世纪科技有限公司 | 一种外部数据与视频画面的同步方法、系统及装置 |
WO2023151332A1 (zh) * | 2022-02-08 | 2023-08-17 | 腾讯科技(深圳)有限公司 | 一种多媒体流处理方法、装置、设备、计算机可读存储介质及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102710789B (zh) | 智能终端间数据的交互方法、系统及装置 | |
CN104216697B (zh) | 用于移动终端的动画播放方法、装置和移动终端 | |
CN107333163A (zh) | 一种视频处理方法及装置、一种终端及存储介质 | |
CN106375860B (zh) | 一种视频播放方法、装置、终端及服务器 | |
CN109660859A (zh) | 一种动画展示方法和移动终端 | |
CN112995759A (zh) | 互动业务处理方法、系统、装置、设备及存储介质 | |
CN109669697A (zh) | 一种内容列表的组件化展示方法和移动终端 | |
US20230217081A1 (en) | Screen Casting Method and Terminal | |
CN112969093B (zh) | 互动业务处理方法、装置、设备及存储介质 | |
CN108900855B (zh) | 直播内容录制方法、装置、计算机可读存储介质及服务器 | |
CN103686246B (zh) | 传输流视频选时播放方法、装置、设备及系统 | |
CN112188267B (zh) | 视频播放方法、装置和设备及计算机存储介质 | |
CN109819300A (zh) | 一种消息内容展示方法、发送方法、装置、终端和系统 | |
US20230079785A1 (en) | Video clipping method and apparatus, computer device, and storage medium | |
CN110876078B (zh) | 动画图片的处理方法、装置、存储介质和处理器 | |
CN113672748A (zh) | 多媒体信息播放方法及装置 | |
CN109376254A (zh) | 数据流的处理方法、装置、电子设备及可读存储介质 | |
US20160203144A1 (en) | Method and System for Processing Associated Content | |
CN109040819A (zh) | 播放进度同步方法、装置、设备以及存储介质 | |
CN108260019A (zh) | 弹幕显示方法、装置及可读存储介质 | |
CN106533916A (zh) | 一种直播消息显示方法及装置 | |
CN103647761A (zh) | 录音标记方法、装置、终端、服务器及系统 | |
WO2014134998A1 (zh) | 应用平台化配置方法和装置 | |
CN110415318B (zh) | 图像处理方法和装置 | |
CN105187909B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210319 Address after: 101300 309, 3rd floor, 60 Fuqian 1st Street, Tianzhu District, Shunyi District, Beijing Applicant after: Beijing longzhixin Technology Co.,Ltd. Address before: 100041 room a-1123, 2nd floor, building 3, yard 30, Shixing street, Shijingshan District, Beijing Applicant before: BEIJING PANDA MUTUAL ENTERTAINMENT TECHNOLOGY Co.,Ltd. |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190528 |