CN108401194B - 时间戳确定方法、装置和计算机可读存储介质 - Google Patents

时间戳确定方法、装置和计算机可读存储介质 Download PDF

Info

Publication number
CN108401194B
CN108401194B CN201810395928.2A CN201810395928A CN108401194B CN 108401194 B CN108401194 B CN 108401194B CN 201810395928 A CN201810395928 A CN 201810395928A CN 108401194 B CN108401194 B CN 108401194B
Authority
CN
China
Prior art keywords
terminal
time
time length
audio data
local
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.)
Active
Application number
CN201810395928.2A
Other languages
English (en)
Other versions
CN108401194A (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.)
Guangzhou Kugou Computer Technology Co Ltd
Original Assignee
Guangzhou Kugou Computer Technology 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 Guangzhou Kugou Computer Technology Co Ltd filed Critical Guangzhou Kugou Computer Technology Co Ltd
Priority to CN201810395928.2A priority Critical patent/CN108401194B/zh
Publication of CN108401194A publication Critical patent/CN108401194A/zh
Application granted granted Critical
Publication of CN108401194B publication Critical patent/CN108401194B/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种时间戳确定方法、装置和计算机可读存储介质,属于计算机技术领域。所述方法包括:确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值;接收第二终端发送的音频数据和音频数据的第一时间戳,音频数据的第一时间戳为第二终端采集音频数据时第二终端的本地时间与启动第二终端时第二终端的本地时间之间相距的时长;根据时长差值和音频数据的第一时间戳,确定音频数据的第二时间戳,音频数据的第二时间戳为第二终端采集音频数据时第一终端的本地时间与启动第一终端时第一终端的本地时间之间相距的时长。本发明中根据该时长差值对该音频数据的第一时间戳进行换算后得到该音频数据的第二时间戳,因而准确度较高。

Description

时间戳确定方法、装置和计算机可读存储介质
技术领域
本发明涉及计算机技术领域,特别涉及一种时间戳确定方法、装置和计算机可读存储介质。
背景技术
随着计算机技术的发展,诸如手机、电脑等终端已经成为人们工作、学习、社交以及休闲娱乐时的重要工具。使用终端进行直播也越来越受到用户的喜爱,用户可以通过终端中安装的直播软件向其他用户进行直播,其它用户可以观看该用户直播的视频,并听到其声音。
目前,可以使用双摄像头进行直播,如使用手机和电脑同时进行直播。具体地,手机使用其摄像头采集视频数据,电脑使用其摄像头采集视频数据,使用其声卡采集音频数据,并将采集到的音频数据发送给手机。之后,手机使用采集的视频数据和接收的音频数据进行直播,电脑使用采集的视频数据和音频数据进行直播。
由于不同终端的系统时钟难以保证同步,因此,手机使用采集的视频数据和接收的音频数据进行直播时,是将采集视频数据时的本地时间作为该视频数据的时间戳,将接收音频数据时的本地时间作为该音频数据的时间戳,继而将具有相同时间戳的音频数据和视频数据进行封装,并以此进行直播。
然而,上述方式中忽略了手机与电脑之间的传输时延,由于电脑将采集的音频数据发送到手机时需要耗费一定的时间,所以手机接收音频数据时手机的本地时间并不是电脑采集该音频数据时手机的本地时间,从而导致确定出的该音频数据的时间戳不准确。
发明内容
本发明实施例提供了一种时间戳确定方法、装置和计算机可读存储介质,可以解决相关技术中音频数据的时间戳不准确的问题。所述技术方案如下:
一方面,提供了一种时间戳确定方法,应用于第一终端,所述方法包括:
确定同一时间点时所述第一终端的运行时长与第二终端的运行时长之间的时长差值;
接收所述第二终端发送的音频数据和所述音频数据的第一时间戳,所述音频数据的第一时间戳为所述第二终端采集所述音频数据时所述第二终端的本地时间与启动所述第二终端时所述第二终端的本地时间之间相距的时长;
根据所述时长差值和所述音频数据的第一时间戳,确定所述音频数据的第二时间戳,所述音频数据的第二时间戳为所述第二终端采集所述音频数据时所述第一终端的本地时间与启动所述第一终端时所述第一终端的本地时间之间相距的时长。
可选地,所述确定同一时间点时所述第一终端的运行时长与第二终端的运行时长之间的时长差值,包括:
向所述第二终端发送运行时长获取请求,由所述第二终端获取接收所述运行时长获取请求时所述第二终端的运行时长作为第一运行时长;
接收所述第二终端发送的所述第一运行时长;
获取发送所述运行时长获取请求时所述第一终端的运行时长作为第二运行时长,或者,获取接收所述第一运行时长时所述第一终端的运行时长作为第二运行时长;
获取所述第一终端与所述第二终端之间的传输时延;
根据所述第一运行时长、所述第二运行时长和所述传输时延,确定同一时间点时所述第一终端的运行时长与所述第二终端的运行时长之间的时长差值。
可选地,所述获取所述第一终端与所述第二终端之间的传输时延,包括:
获取发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间;
根据发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间,确定所述第一终端与所述第二终端之间的传输时延。
可选地,所述根据发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间,确定所述第一终端与所述第二终端之间的传输时延,包括:
如果发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间之间相距的时长小于预设时长,则将发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间之间相距的时长除以2,得到所述第一终端与所述第二终端之间的传输时延;
如果发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间之间相距的时长大于或等于预设时长,则向所述第二终端发送探测消息;接收所述第二终端发送的回应消息;获取发送所述探测消息时所述第一终端的本地时间和接收所述回应消息时所述第一终端的本地时间;根据发送所述探测消息时所述第一终端的本地时间和接收所述回应消息时所述第一终端的本地时间,确定所述第一终端与所述第二终端之间的传输时延。
可选地,所述根据所述第一运行时长、所述第二运行时长和所述传输时延,确定同一时间点时所述第一终端的运行时长与所述第二终端的运行时长之间的时长差值,包括:
如果所述第二运行时长为发送所述运行时长获取请求时所述第一终端的运行时长,则将所述第一运行时长减去所述传输时延并减去所述第二运行时长,得到同一时间点时所述第一终端的运行时长与所述第二终端的运行时长之间的时长差值;
如果所述第二运行时长为接收所述第一运行时长时所述第一终端的运行时长,则将所述第一运行时长加上所述传输时延并减去所述第二运行时长,得到同一时间点时所述第一终端的运行时长与所述第二终端的运行时长之间的时长差值;
相应地,所述根据所述时长差值和所述音频数据的第一时间戳,确定所述音频数据的第二时间戳,包括:
将所述音频数据的第一时间戳减去所述时长差值,得到所述音频数据的第二时间戳。
可选地,所述方法还包括:
采集视频数据;
确定所述视频数据的第二时间戳,所述视频数据的第二时间戳为所述第一终端采集所述视频数据时所述第一终端的本地时间与启动所述第一终端时所述第一终端的本地时间之间相距的时长;
相应地,所述根据所述时长差值和所述音频数据的第一时间戳,确定所述音频数据的第二时间戳之后,还包括:
根据所述音频数据的第二时间戳和所述视频数据的第二时间戳,对所述音频数据和所述视频数据进行封装。
可选地,所述第一终端和所述第二终端为使用同一用户账号进行直播的终端。
可选地,所述第一终端和所述第二终端接入同一局域网。
一方面,提供了一种时间戳确定装置,应用于第一终端,所述装置包括:
第一确定模块,用于确定同一时间点时所述第一终端的运行时长与第二终端的运行时长之间的时长差值;
接收模块,用于接收所述第二终端发送的音频数据和所述音频数据的第一时间戳,所述音频数据的第一时间戳为所述第二终端采集所述音频数据时所述第二终端的本地时间与启动所述第二终端时所述第二终端的本地时间之间相距的时长;
第二确定模块,用于根据所述时长差值和所述音频数据的第一时间戳,确定所述音频数据的第二时间戳,所述音频数据的第二时间戳为所述第二终端采集所述音频数据时所述第一终端的本地时间与启动所述第一终端时所述第一终端的本地时间之间相距的时长。
可选地,所述第一确定模块包括:
发送单元,用于向所述第二终端发送运行时长获取请求,由所述第二终端获取接收所述运行时长获取请求时所述第二终端的运行时长作为第一运行时长;
接收单元,用于接收所述第二终端发送的所述第一运行时长;
第一获取单元,用于获取发送所述运行时长获取请求时所述第一终端的运行时长作为第二运行时长,或者,获取接收所述第一运行时长时所述第一终端的运行时长作为第二运行时长;
第二获取单元,用于获取所述第一终端与所述第二终端之间的传输时延;
确定单元,用于根据所述第一运行时长、所述第二运行时长和所述传输时延,确定同一时间点时所述第一终端的运行时长与所述第二终端的运行时长之间的时长差值。
可选地,所述第二获取单元用于:
获取发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间;
根据发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间,确定所述第一终端与所述第二终端之间的传输时延。
可选地,所述第二获取单元用于:
如果发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间之间相距的时长小于预设时长,则将发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间之间相距的时长除以2,得到所述第一终端与所述第二终端之间的传输时延;
如果发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间之间相距的时长大于或等于预设时长,则向所述第二终端发送探测消息;接收所述第二终端发送的回应消息;获取发送所述探测消息时所述第一终端的本地时间和接收所述回应消息时所述第一终端的本地时间;根据发送所述探测消息时所述第一终端的本地时间和接收所述回应消息时所述第一终端的本地时间,确定所述第一终端与所述第二终端之间的传输时延。
可选地,所述确定单元用于:
如果所述第二运行时长为发送所述运行时长获取请求时所述第一终端的运行时长,则将所述第一运行时长减去所述传输时延并减去所述第二运行时长,得到同一时间点时所述第一终端的运行时长与所述第二终端的运行时长之间的时长差值;
如果所述第二运行时长为接收所述第一运行时长时所述第一终端的运行时长,则将所述第一运行时长加上所述传输时延并减去所述第二运行时长,得到同一时间点时所述第一终端的运行时长与所述第二终端的运行时长之间的时长差值;
相应地,所述第二确定模块用于:
将所述音频数据的第一时间戳减去所述时长差值,得到所述音频数据的第二时间戳。
可选地,所述装置还包括:
采集模块,用于采集视频数据;
第三确定模块,用于确定所述视频数据的第二时间戳,所述视频数据的第二时间戳为所述第一终端采集所述视频数据时所述第一终端的本地时间与启动所述第一终端时所述第一终端的本地时间之间相距的时长;
封装模块,用于根据所述音频数据的第二时间戳和所述视频数据的第二时间戳,对所述音频数据和所述视频数据进行封装。
可选地,所述第一终端和所述第二终端为使用同一用户账号进行直播的终端。
可选地,所述第一终端和所述第二终端接入同一局域网。
一方面,提供了一种计算机可读存储介质,所述存储介质上存储有指令,所述指令被处理器执行时实现上述的时间戳确定方法的步骤。
本发明实施例提供的技术方案带来的有益效果至少包括:确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值后,接收第二终端发送的音频数据和该音频数据的第一时间戳,该音频数据的第一时间戳为第二终端采集该音频数据时第二终端的本地时间与启动第二终端时第二终端的本地时间之间相距的时长。之后,根据该时长差值和该音频数据的第一时间戳,确定该音频数据的第二时间戳,该音频数据的第二时间戳为第二终端采集该音频数据时第一终端的本地时间与启动第一终端时第一终端的本地时间之间相距的时长。由于是根据该时长差值对该音频数据的第一时间戳进行换算后得到该音频数据的第二时间戳,因此,该音频数据的第二时间戳的准确度较高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实施环境的示意图;
图2是本发明实施例提供的一种时间戳确定方法的流程图;
图3是本发明实施例提供的另一种时间戳确定方法的流程图;
图4是本发明实施例提供的一种时间戳确定装置的结构示意图;
图5是本发明实施例提供的另一种时间戳确定装置的结构示意图;
图6是本发明实施例提供的又一种时间戳确定装置的结构示意图;
图7是本发明实施例提供的一种终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在对本发明实施例进行详细地解释说明之前,对本发明实施例的实施环境予以说明。
图1是本发明实施例提供的一种实施环境的示意图。参见图1,该实施环境包括:第一终端101、第二终端102和服务器103。第一终端101和第二终端102可以为使用同一用户账号进行直播的终端,也即是,用户可以同时使用第一终端101和第二终端102来进行双摄像头直播,在此情况下,第一终端101和第二终端102可以接入同一局域网。
其中,第二终端102可以采集视频数据和音频数据,并为采集的视频数据设置第一时间戳,为采集的音频数据设置第一时间戳,将采集的音频数据和该音频数据的第一时间戳发送给第一终端101。之后,第二终端102可以将具有相同的第一时间戳的音频数据和视频数据进行封装,得到多媒体文件,并将该多媒体文件发送给服务器103,由服务器103对该多媒体文件进行下发,实现第二终端的直播。
其中,第一终端101可以采集视频数据,并为采集的视频数据设置第二时间戳,且可以接收第二终端102发送的音频数据和该音频数据的第一时间戳,并将该音频数据的第一时间戳换算为该音频数据的第二时间戳。之后,第一终端101可以将具有相同的第二时间戳的音频数据和视频数据进行封装,得到多媒体文件,并将该多媒体文件发送给服务器103,由服务器103对该多媒体文件进行下发,实现第一终端的直播。
图2是本发明实施例提供的一种时间戳确定方法的流程图,该方法应用于第一终端。参见图2,该方法包括:
步骤201:确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值。
步骤202:接收第二终端发送的音频数据和音频数据的第一时间戳,音频数据的第一时间戳为第二终端采集音频数据时第二终端的本地时间与启动第二终端时第二终端的本地时间之间相距的时长。
步骤203:根据时长差值和音频数据的第一时间戳,确定音频数据的第二时间戳,音频数据的第二时间戳为第二终端采集音频数据时第一终端的本地时间与启动第一终端时第一终端的本地时间之间相距的时长。
在本发明实施例中,确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值后,接收第二终端发送的音频数据和该音频数据的第一时间戳,该音频数据的第一时间戳为第二终端采集该音频数据时第二终端的本地时间与启动第二终端时第二终端的本地时间之间相距的时长。之后,根据该时长差值和该音频数据的第一时间戳,确定该音频数据的第二时间戳,该音频数据的第二时间戳为第二终端采集该音频数据时第一终端的本地时间与启动第一终端时第一终端的本地时间之间相距的时长。由于是根据该时长差值对该音频数据的第一时间戳进行换算后得到该音频数据的第二时间戳,因此,该音频数据的第二时间戳的准确度较高。
可选地,确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值,包括:
向第二终端发送运行时长获取请求,由第二终端获取接收运行时长获取请求时第二终端的运行时长作为第一运行时长;
接收第二终端发送的第一运行时长;
获取发送运行时长获取请求时第一终端的运行时长作为第二运行时长,或者,获取接收第一运行时长时第一终端的运行时长作为第二运行时长;
获取第一终端与第二终端之间的传输时延;
根据第一运行时长、第二运行时长和传输时延,确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值。
可选地,获取第一终端与第二终端之间的传输时延,包括:
获取发送运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间;
根据发送运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间,确定第一终端与第二终端之间的传输时延。
可选地,根据发送运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间,确定第一终端与第二终端之间的传输时延,包括:
如果发送运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间之间相距的时长小于预设时长,则将发送运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间之间相距的时长除以2,得到第一终端与第二终端之间的传输时延;
如果发送运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间之间相距的时长大于或等于预设时长,则向第二终端发送探测消息;接收第二终端发送的回应消息;获取发送探测消息时第一终端的本地时间和接收回应消息时第一终端的本地时间;根据发送探测消息时第一终端的本地时间和接收回应消息时第一终端的本地时间,确定第一终端与第二终端之间的传输时延。
可选地,根据第一运行时长、第二运行时长和传输时延,确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值,包括:
如果第二运行时长为发送运行时长获取请求时第一终端的运行时长,则将第一运行时长减去传输时延并减去第二运行时长,得到同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值;
如果第二运行时长为接收第一运行时长时第一终端的运行时长,则将第一运行时长加上传输时延并减去第二运行时长,得到同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值;
相应地,根据时长差值和音频数据的第一时间戳,确定音频数据的第二时间戳,包括:
将音频数据的第一时间戳减去时长差值,得到音频数据的第二时间戳。
可选地,该方法还包括:
采集视频数据;
确定视频数据的第二时间戳,视频数据的第二时间戳为第一终端采集视频数据时第一终端的本地时间与启动第一终端时第一终端的本地时间之间相距的时长;
相应地,根据时长差值和音频数据的第一时间戳,确定音频数据的第二时间戳之后,还包括:
根据音频数据的第二时间戳和视频数据的第二时间戳,对音频数据和视频数据进行封装。
可选地,第一终端和第二终端为使用同一用户账号进行直播的终端。
可选地,第一终端和第二终端接入同一局域网。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。
图3是本发明实施例提供的一种时间戳确定方法的流程图,该方法应用于第一终端。参见图3,该方法包括:
步骤301:确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值。
需要说明的是,第一终端和第二终端可以为使用同一用户账号进行直播的终端,也即是,用户可以同时使用第一终端和第二终端来进行双摄像头直播,在此情况下,第一终端和第二终端可以接入同一局域网。例如,第一终端为手机,第二终端为电脑,手机和电脑连接同一路由器,此时用户可以同时在手机和电脑上登录同一用户账号来进行双摄像头直播。
另外,第一终端和第二终端使用同一用户账号进行直播时,第一终端和第二终端中的一个终端中可以先登录用户账号进行直播,之后,另一个终端可以通过扫描正在登录该用户账号的终端显示的图形码(如二维码等)来同步登录该用户账号进行直播。
再者,某个时间点时第一终端的运行时长是指,在第一终端的运行过程中,在该时间点时第一终端的本地时间与启动第一终端时第一终端的本地时间之间相距的时长。某个时间点时第二终端的运行时长是指,在第二终端的运行过程中,在该时间点时第二终端的本地时间与启动第二终端时第二终端的本地时间之间相距的时长。
具体地,步骤301的操作可以为:向第二终端发送运行时长获取请求;接收第二终端发送的第一运行时长;获取发送该运行时长获取请求时第一终端的运行时长作为第二运行时长,或者,获取接收第一运行时长时第一终端的运行时长作为第二运行时长;获取第一终端与第二终端之间的传输时延;根据第一运行时长、第二运行时长和该传输时延,确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值。
需要说明的是,运行时长获取请求用于请求获取第二终端的运行时长,第二终端在接收到该运行时长获取请求时,可以获取接收该运行时长获取请求时第二终端的运行时长作为第一运行时长,即可以获取接收该运行时长获取请求时第二终端的本地时间与启动第二终端时第二终端的本地时间之间相距的时长作为第一运行时长。
另外,向第二终端发送运行时长获取请求之前,第一终端与第二终端之间可以建立通信连接,如可以建立TCP(Transmission Control Protocol,传输控制协议)连接等,本发明实施例对此不作限定。
需要说明的是,获取发送该运行时长获取请求时第一终端的运行时长作为第二运行时长,即是获取发送该运行时长获取请求时第一终端的本地时间与启动第一终端时第一终端的本地时间之间相距的时长作为第二运行时长。获取接收第一运行时长时第一终端的运行时长作为第二运行时长,即是获取接收第一运行时长时第一终端的本地时间与启动第一终端时第一终端的本地时间之间相距的时长作为第二运行时长。
另外,第一终端与第二终端之间的传输时延,为将数据从第一终端传输到第二终端时所需要的时间,或者为将数据从第二终端传输到第一终端时所需要的时间。
其中,获取第一终端与第二终端之间的传输时延的操作可以为:获取发送该运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间,根据发送该运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间,确定第一终端与第二终端之间的传输时延。
其中,根据发送该运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间,确定第一终端与第二终端之间的传输时延的操作可以为:如果发送该运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间之间相距的时长小于预设时长,则将发送该运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间之间相距的时长除以2,得到第一终端与第二终端之间的传输时延。
需要说明的是,预设时长可以预先进行设置,且预设时长可以设置的较短,如预设时长可以为50ms(毫秒)、60ms等,本发明实施例对此不作限定。
另外,发送该运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间之间相距的时长小于预设时长时,表明此次传输时的请求响应耗时较短,属于正常传输情况,则可以将此次传输作为一次有效探测,继而可以将发送该运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间之间相距的时长除以2,来得到第一终端与第二终端之间的传输时延。
进一步地,如果发送该运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间之间相距的时长大于或等于预设时长,表明此次传输时的请求响应耗时较长,属于异常传输情况,此时第一终端需要发送新的探测消息来确定第一终端与第二终端之间的传输时延。
具体地,如果发送该运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间之间相距的时长大于或等于预设时长,则向第二终端发送探测消息;接收第二终端发送的回应消息;获取发送该探测消息时第一终端的本地时间和接收该回应消息时第一终端的本地时间;根据发送该探测消息时第一终端的本地时间和接收该回应消息时第一终端的本地时间,确定第一终端与第二终端之间的传输时延。
需要说明的是,根据发送该探测消息时第一终端的本地时间和接收该回应消息时第一终端的本地时间,确定第一终端与第二终端之间的传输时延的操作与上述根据发送该运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间,确定第一终端与第二终端之间的传输时延的操作类似,本发明实施例对此不再赘述。
另外,如果第一终端向第二终端发送了多个探测消息后,仍不能得到一次有效探测,则表明第一终端与第二终端之间的连接很有可能出现异常,此时第一终端可以显示异常提示信息,以便及时提醒用户检查第一终端与第二终端之间的连接情况。例如,第一终端在5s内连续向第二终端发送了10个探测消息,而每次传输时的请求响应耗时都较长,即每次传输都不能作为有效探测,则第一终端可以显示异常提示信息来对用户进行提醒。
其中,根据第一运行时长、第二运行时长和该传输时延,确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值的操作可以为:如果第二运行时长为发送该运行时长获取请求时第一终端的运行时长,则将第一运行时长减去该传输时延并减去第二运行时长,得到同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值;如果第二运行时长为接收第一运行时长时第一终端的运行时长,则将第一运行时长加上该传输时延并减去第二运行时长,得到同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值。
在此情况下,同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值即为同一时间点时第二终端的运行时长减去同一时间点时第一终端的运行时长后得到的差值。
或者,根据第一运行时长、第二运行时长和该传输时延,确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值的操作可以为:如果第二运行时长为发送该运行时长获取请求时第一终端的运行时长,则将第二运行时长加上该传输时延并减去第一运行时长,得到同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值;如果第二运行时长为接收第一运行时长时第一终端的运行时长,则将第二运行时长减去该传输时延并减去第一运行时长,得到同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值。
在此情况下,同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值即为同一时间点时第一终端的运行时长减去同一时间点时第二终端的运行时长后得到的差值。
步骤302:接收第二终端发送的音频数据和该音频数据的第一时间戳。
需要说明的是,该音频数据中可以包括音频信号、音高信息、歌词信息等,该音频数据的第一时间戳为第二终端采集该音频数据时第二终端的本地时间与启动第二终端时第二终端的本地时间之间相距的时长,即该音频数据的第一时间戳是以第二终端启动时的本地时间作为基准确定得到。实际应用中,第二终端可以通过其声卡采集音频数据。
另外,第二终端不仅可以采集音频数据并为该音频数据设置第一时间戳,还可以采集视频数据,并为该视频数据设置第一时间戳。视频数据的第一时间戳为第二终端采集该视频数据时第二终端的本地时间与启动第二终端时第二终端的本地时间之间相距的时长,即该视频数据的第一时间戳是以第二终端启动时的本地时间作为基准确定得到。实际应用中,第二终端可以通过其摄像头采集视频数据。
再者,第二终端还可以根据采集的音频数据的第一时间戳和采集的视频数据的第一时间戳,将该音频数据和该视频数据进行封装,来实现直播。具体地,第二终端可以将具有相同的第一时间戳的音频数据和视频数据进行封装,得到多媒体文件。之后,第二终端可以将该多媒体文件发送给服务器,由服务器对该多媒体文件进行下发,实现第二终端的直播。
值得说明的是,第一终端和第二终端是使用相同的音频数据进行直播,也即是,第一终端和第二终端中可以只有第二终端采集音频数据,第二终端可以将采集的音频数据发送给第一终端以供第一终端进行直播,从而可以节省音频采集资源,且可以保证音频质量。
步骤303:根据该时长差值和该音频数据的第一时间戳,确定该音频数据的第二时间戳。
需要说明的是,该音频数据的第二时间戳为第二终端采集该音频数据时第一终端的本地时间与启动第一终端时第一终端的本地时间之间相距的时长,即该音频数据的第二时间戳是以第一终端启动时的本地时间作为基准确定得到。
另外,由于是根据同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值对该音频数据的第一时间戳进行换算后,得到该音频数据的第二时间戳,因此,该音频数据的第二时间戳的准确度较高。
具体地,步骤303的操作可以为:如果该时长差值为同一时间点时第二终端的运行时长减去同一时间点时第一终端的运行时长后得到的差值,则可以将该音频数据的第一时间戳减去该时长差值,得到该音频数据的第二时间戳;如果该时长差值为同一时间点时第一终端的运行时长减去同一时间点时第二终端的运行时长后得到的差值,则可以将该音频数据的第一时间戳加上该时长差值,得到该音频数据的第二时间戳。
需要说明的是,第一终端还可以采集视频数据,并确定该视频数据的第二时间戳。该视频数据的第二时间戳为第一终端采集该视频数据时第一终端的本地时间与启动第一终端时第一终端的本地时间之间相距的时长,即该视频数据的第二时间戳是以第一终端启动时的本地时间作为基准确定得到。
进一步地,第一终端可以根据该音频数据的第二时间戳和该视频数据的第二时间戳,对该音频数据和该视频数据进行封装。具体地,可以将具有相同的第二时间戳的音频数据和视频数据进行封装,得到多媒体文件。之后,第一终端可以将该多媒体文件发送给服务器,由服务器对该多媒体文件进行下发,实现第一终端的直播。
由于该音频数据的第二时间戳和该视频数据的第二时间戳都比较准确,因此,具有相同的第二时间戳的音频数据和视频数据是同一时间点采集得到,即该多媒体文件中的音频数据和视频数据是同一时间点采集的,从而可以保证直播过程中的音视频同步(即声音和口型一致),保证直播效果。
在本发明实施例中,确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值后,接收第二终端发送的音频数据和该音频数据的第一时间戳,该音频数据的第一时间戳为第二终端采集该音频数据时第二终端的本地时间与启动第二终端时第二终端的本地时间之间相距的时长。之后,根据该时长差值和该音频数据的第一时间戳,确定该音频数据的第二时间戳,该音频数据的第二时间戳为第二终端采集该音频数据时第一终端的本地时间与启动第一终端时第一终端的本地时间之间相距的时长。由于是根据该时长差值对该音频数据的第一时间戳进行换算后得到该音频数据的第二时间戳,因此,该音频数据的第二时间戳的准确度较高。
图4是本发明实施例提供的一种时间戳确定装置的结构示意图,应用于第一终端。参见图4,该装置包括第一确定模块401,接收模块402和第二确定模块403。
第一确定模块401,用于确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值;
接收模块402,用于接收第二终端发送的音频数据和音频数据的第一时间戳,音频数据的第一时间戳为第二终端采集音频数据时第二终端的本地时间与启动第二终端时第二终端的本地时间之间相距的时长;
第二确定模块403,用于根据时长差值和音频数据的第一时间戳,确定音频数据的第二时间戳,音频数据的第二时间戳为第二终端采集音频数据时第一终端的本地时间与启动第一终端时第一终端的本地时间之间相距的时长。
可选地,参见图5,第一确定模块401包括:
发送单元4011,用于向第二终端发送运行时长获取请求,由第二终端获取接收运行时长获取请求时第二终端的运行时长作为第一运行时长;
接收单元4012,用于接收第二终端发送的第一运行时长;
第一获取单元4013,用于获取发送运行时长获取请求时第一终端的运行时长作为第二运行时长,或者,获取接收第一运行时长时第一终端的运行时长作为第二运行时长;
第二获取单元4014,用于获取第一终端与第二终端之间的传输时延;
确定单元4015,用于根据第一运行时长、第二运行时长和传输时延,确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值。
可选地,第二获取单元4014用于:
获取发送运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间;
根据发送运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间,确定第一终端与第二终端之间的传输时延。
可选地,第二获取单元4014用于:
如果发送运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间之间相距的时长小于预设时长,则将发送运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间之间相距的时长除以2,得到第一终端与第二终端之间的传输时延;
如果发送运行时长获取请求时第一终端的本地时间和接收第一运行时长时第一终端的本地时间之间相距的时长大于或等于预设时长,则向第二终端发送探测消息;接收第二终端发送的回应消息;获取发送探测消息时第一终端的本地时间和接收回应消息时第一终端的本地时间;根据发送探测消息时第一终端的本地时间和接收回应消息时第一终端的本地时间,确定第一终端与第二终端之间的传输时延。
可选地,确定单元4015用于:
如果第二运行时长为发送运行时长获取请求时第一终端的运行时长,则将第一运行时长减去传输时延并减去第二运行时长,得到同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值;
如果第二运行时长为接收第一运行时长时第一终端的运行时长,则将第一运行时长加上传输时延并减去第二运行时长,得到同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值;
相应地,第二确定模块403用于:
将音频数据的第一时间戳减去时长差值,得到音频数据的第二时间戳。
可选地,参见图6,该装置还包括:
采集模块404,用于采集视频数据;
第三确定模块405,用于确定视频数据的第二时间戳,视频数据的第二时间戳为第一终端采集视频数据时第一终端的本地时间与启动第一终端时第一终端的本地时间之间相距的时长;
封装模块406,用于根据音频数据的第二时间戳和视频数据的第二时间戳,对音频数据和视频数据进行封装。
可选地,第一终端和第二终端为使用同一用户账号进行直播的终端。
可选地,第一终端和第二终端接入同一局域网。
在本发明实施例中,确定同一时间点时第一终端的运行时长与第二终端的运行时长之间的时长差值后,接收第二终端发送的音频数据和该音频数据的第一时间戳,该音频数据的第一时间戳为第二终端采集该音频数据时第二终端的本地时间与启动第二终端时第二终端的本地时间之间相距的时长。之后,根据该时长差值和该音频数据的第一时间戳,确定该音频数据的第二时间戳,该音频数据的第二时间戳为第二终端采集该音频数据时第一终端的本地时间与启动第一终端时第一终端的本地时间之间相距的时长。由于是根据该时长差值对该音频数据的第一时间戳进行换算后得到该音频数据的第二时间戳,因此,该音频数据的第二时间戳的准确度较高。
需要说明的是:上述实施例提供的时间戳确定装置在时间戳确定时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的时间戳确定装置与时间戳确定方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图7是本发明实施例提供的一种终端700的结构示意图,终端700可以是上述的第一终端。该终端700可以是:智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端700包括有:处理器701和存储器702。
处理器701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器701所执行以实现本申请中方法实施例提供的时间戳确定方法。
在一些实施例中,终端700还可选包括有:外围设备接口703和至少一个外围设备。处理器701、存储器702和外围设备接口703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口703相连。具体地,外围设备包括:射频电路704、触摸显示屏705、摄像头706、音频电路707、定位组件708和电源709中的至少一种。
外围设备接口703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器701和存储器702。在一些实施例中,处理器701、存储器702和外围设备接口703被集成在同一芯片或电路板上;在一些其他实施例中,处理器701、存储器702和外围设备接口703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏705是触摸显示屏时,显示屏705还具有采集在显示屏705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器701进行处理。此时,显示屏705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏705可以为一个,设置终端700的前面板;在另一些实施例中,显示屏705可以为至少两个,分别设置在终端700的不同表面或呈折叠设计;在再一些实施例中,显示屏705可以是柔性显示屏,设置在终端700的弯曲表面上或折叠面上。甚至,显示屏705还可以设置成非矩形的不规则图形,也即异形屏。显示屏705可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(OrganicLight-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件706用于采集图像或视频。可选地,摄像头组件706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器701进行处理,或者输入至射频电路704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器701或射频电路704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路707还可以包括耳机插孔。
定位组件708用于定位终端700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件708可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源709用于为终端700中的各个组件进行供电。电源709可以是交流电、直流电、一次性电池或可充电电池。当电源709包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端700还包括有一个或多个传感器710。该一个或多个传感器710包括但不限于:加速度传感器711、陀螺仪传感器712、压力传感器713、指纹传感器714、光学传感器715以及接近传感器716。
加速度传感器711可以检测以终端700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器711可以用于检测重力加速度在三个坐标轴上的分量。处理器701可以根据加速度传感器711采集的重力加速度信号,控制触摸显示屏705以横向视图或纵向视图进行用户界面的显示。加速度传感器711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器712可以检测终端700的机体方向及转动角度,陀螺仪传感器712可以与加速度传感器711协同采集用户对终端700的3D动作。处理器701根据陀螺仪传感器712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器713可以设置在终端700的侧边框和/或触摸显示屏705的下层。当压力传感器713设置在终端700的侧边框时,可以检测用户对终端700的握持信号,由处理器701根据压力传感器713采集的握持信号进行左右手识别或快捷操作。当压力传感器713设置在触摸显示屏705的下层时,由处理器701根据用户对触摸显示屏705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器714用于采集用户的指纹,由处理器701根据指纹传感器714采集到的指纹识别用户的身份,或者,由指纹传感器714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器714可以被设置终端700的正面、背面或侧面。当终端700上设置有物理按键或厂商Logo时,指纹传感器714可以与物理按键或厂商Logo集成在一起。
光学传感器715用于采集环境光强度。在一个实施例中,处理器701可以根据光学传感器715采集的环境光强度,控制触摸显示屏705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏705的显示亮度;当环境光强度较低时,调低触摸显示屏705的显示亮度。在另一个实施例中,处理器701还可以根据光学传感器715采集的环境光强度,动态调整摄像头组件706的拍摄参数。
接近传感器716,也称距离传感器,通常设置在终端700的前面板。接近传感器716用于采集用户与终端700的正面之间的距离。在一个实施例中,当接近传感器716检测到用户与终端700的正面之间的距离逐渐变小时,由处理器701控制触摸显示屏705从亮屏状态切换为息屏状态;当接近传感器716检测到用户与终端700的正面之间的距离逐渐变大时,由处理器701控制触摸显示屏705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图7中示出的结构并不构成对终端700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种时间戳确定方法,其特征在于,应用于第一终端,所述方法包括:
确定同一时间点时所述第一终端的运行时长与第二终端的运行时长之间的时长差值,所述第一终端的运行时长是指在所述同一时间点时所述第一终端的本地时间与启动所述第一终端时所述第一终端的本地时间之间相距的时长,所述第二终端的运行时长是指在所述同一时间点时所述第二终端的本地时间与启动所述第二终端时所述第二终端的本地时间之间相距的时长;
接收所述第二终端发送的音频数据和所述音频数据的第一时间戳,所述音频数据的第一时间戳为所述第二终端采集所述音频数据时所述第二终端的本地时间与启动所述第二终端时所述第二终端的本地时间之间相距的时长;
根据所述时长差值和所述音频数据的第一时间戳,确定所述音频数据的第二时间戳,所述音频数据的第二时间戳为所述第二终端采集所述音频数据时所述第一终端的本地时间与启动所述第一终端时所述第一终端的本地时间之间相距的时长。
2.如权利要求1所述的方法,其特征在于,所述确定同一时间点时所述第一终端的运行时长与第二终端的运行时长之间的时长差值,包括:
向所述第二终端发送运行时长获取请求,由所述第二终端获取接收所述运行时长获取请求时所述第二终端的运行时长作为第一运行时长;
接收所述第二终端发送的所述第一运行时长;
获取发送所述运行时长获取请求时所述第一终端的运行时长作为第二运行时长,或者,获取接收所述第一运行时长时所述第一终端的运行时长作为第二运行时长;
获取所述第一终端与所述第二终端之间的传输时延;
根据所述第一运行时长、所述第二运行时长和所述传输时延,确定同一时间点时所述第一终端的运行时长与所述第二终端的运行时长之间的时长差值。
3.如权利要求2所述的方法,其特征在于,所述获取所述第一终端与所述第二终端之间的传输时延,包括:
获取发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间;
根据发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间,确定所述第一终端与所述第二终端之间的传输时延。
4.如权利要求3所述的方法,其特征在于,所述根据发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间,确定所述第一终端与所述第二终端之间的传输时延,包括:
如果发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间之间相距的时长小于预设时长,则将发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间之间相距的时长除以2,得到所述第一终端与所述第二终端之间的传输时延;
如果发送所述运行时长获取请求时所述第一终端的本地时间和接收所述第一运行时长时所述第一终端的本地时间之间相距的时长大于或等于预设时长,则向所述第二终端发送探测消息;接收所述第二终端发送的回应消息;获取发送所述探测消息时所述第一终端的本地时间和接收所述回应消息时所述第一终端的本地时间;根据发送所述探测消息时所述第一终端的本地时间和接收所述回应消息时所述第一终端的本地时间,确定所述第一终端与所述第二终端之间的传输时延。
5.如权利要求2所述的方法,其特征在于,所述根据所述第一运行时长、所述第二运行时长和所述传输时延,确定同一时间点时所述第一终端的运行时长与所述第二终端的运行时长之间的时长差值,包括:
如果所述第二运行时长为发送所述运行时长获取请求时所述第一终端的运行时长,则将所述第一运行时长减去所述传输时延并减去所述第二运行时长,得到同一时间点时所述第一终端的运行时长与所述第二终端的运行时长之间的时长差值;
如果所述第二运行时长为接收所述第一运行时长时所述第一终端的运行时长,则将所述第一运行时长加上所述传输时延并减去所述第二运行时长,得到同一时间点时所述第一终端的运行时长与所述第二终端的运行时长之间的时长差值;
相应地,所述根据所述时长差值和所述音频数据的第一时间戳,确定所述音频数据的第二时间戳,包括:
将所述音频数据的第一时间戳减去所述时长差值,得到所述音频数据的第二时间戳。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
采集视频数据;
确定所述视频数据的第二时间戳,所述视频数据的第二时间戳为所述第一终端采集所述视频数据时所述第一终端的本地时间与启动所述第一终端时所述第一终端的本地时间之间相距的时长;
相应地,所述根据所述时长差值和所述音频数据的第一时间戳,确定所述音频数据的第二时间戳之后,还包括:
根据所述音频数据的第二时间戳和所述视频数据的第二时间戳,对所述音频数据和所述视频数据进行封装。
7.如权利要求1-6任一所述的方法,其特征在于,所述第一终端和所述第二终端为使用同一用户账号进行直播的终端。
8.如权利要求7所述的方法,其特征在于,所述第一终端和所述第二终端接入同一局域网。
9.一种时间戳确定装置,其特征在于,应用于第一终端,所述装置包括:
第一确定模块,用于确定同一时间点时所述第一终端的运行时长与第二终端的运行时长之间的时长差值,所述第一终端的运行时长是指在所述同一时间点时所述第一终端的本地时间与启动所述第一终端时所述第一终端的本地时间之间相距的时长,所述第二终端的运行时长是指在所述同一时间点时所述第二终端的本地时间与启动所述第二终端时所述第二终端的本地时间之间相距的时长;
接收模块,用于接收所述第二终端发送的音频数据和所述音频数据的第一时间戳,所述音频数据的第一时间戳为所述第二终端采集所述音频数据时所述第二终端的本地时间与启动所述第二终端时所述第二终端的本地时间之间相距的时长;
第二确定模块,用于根据所述时长差值和所述音频数据的第一时间戳,确定所述音频数据的第二时间戳,所述音频数据的第二时间戳为所述第二终端采集所述音频数据时所述第一终端的本地时间与启动所述第一终端时所述第一终端的本地时间之间相距的时长。
10.一种计算机可读存储介质,所述存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现权利要求1-8所述的任一项方法的步骤。
CN201810395928.2A 2018-04-27 2018-04-27 时间戳确定方法、装置和计算机可读存储介质 Active CN108401194B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810395928.2A CN108401194B (zh) 2018-04-27 2018-04-27 时间戳确定方法、装置和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810395928.2A CN108401194B (zh) 2018-04-27 2018-04-27 时间戳确定方法、装置和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN108401194A CN108401194A (zh) 2018-08-14
CN108401194B true CN108401194B (zh) 2020-06-30

Family

ID=63100734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810395928.2A Active CN108401194B (zh) 2018-04-27 2018-04-27 时间戳确定方法、装置和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN108401194B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108900859B (zh) * 2018-08-17 2020-07-10 广州酷狗计算机科技有限公司 直播方法及系统
TWI735890B (zh) * 2019-06-17 2021-08-11 瑞昱半導體股份有限公司 音訊播放系統與方法
CN111107389B (zh) * 2019-12-31 2021-10-22 广州酷狗计算机科技有限公司 确定观看直播时长的方法、装置和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1369170A (zh) * 1999-06-08 2002-09-11 狄克塔电话公司 一种用于通话记录创建及处理的系统和方法
CN1614590A (zh) * 2004-11-16 2005-05-11 萧学文 一种基于brew平台实现声音流式播放的方法及系统
CN1949879A (zh) * 2005-10-11 2007-04-18 华为技术有限公司 分组网络中多媒体实时传输的唇同步方法及其装置
CN102368745A (zh) * 2011-09-06 2012-03-07 上海量明科技发展有限公司 即时通信中用以提供时差信息的方法及系统
CN104902317A (zh) * 2015-05-27 2015-09-09 青岛海信电器股份有限公司 音视频同步方法及装置
CN105487763A (zh) * 2016-01-14 2016-04-13 深圳Tcl数字技术有限公司 应用程序显示方法和系统
CN105959079A (zh) * 2016-07-14 2016-09-21 深圳市旗众智能自动化有限公司 一种基于分布式控制系统的时钟同步方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9767845B2 (en) * 2013-02-05 2017-09-19 Alc Holdings, Inc. Activating a video based on location in screen

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1369170A (zh) * 1999-06-08 2002-09-11 狄克塔电话公司 一种用于通话记录创建及处理的系统和方法
CN1614590A (zh) * 2004-11-16 2005-05-11 萧学文 一种基于brew平台实现声音流式播放的方法及系统
CN1949879A (zh) * 2005-10-11 2007-04-18 华为技术有限公司 分组网络中多媒体实时传输的唇同步方法及其装置
CN102368745A (zh) * 2011-09-06 2012-03-07 上海量明科技发展有限公司 即时通信中用以提供时差信息的方法及系统
CN104902317A (zh) * 2015-05-27 2015-09-09 青岛海信电器股份有限公司 音视频同步方法及装置
CN105487763A (zh) * 2016-01-14 2016-04-13 深圳Tcl数字技术有限公司 应用程序显示方法和系统
CN105959079A (zh) * 2016-07-14 2016-09-21 深圳市旗众智能自动化有限公司 一种基于分布式控制系统的时钟同步方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
利用CPU时间戳实现局域网时间同步的新机制;谌华金,罗双喜,何佳洲;《计算机应用》;20091101;第29卷(第11期);正文第2921-2924页全文 *

Also Published As

Publication number Publication date
CN108401194A (zh) 2018-08-14

Similar Documents

Publication Publication Date Title
CN110971930B (zh) 虚拟形象直播的方法、装置、终端及存储介质
CN109348247B (zh) 确定音视频播放时间戳的方法、装置及存储介质
CN110278464B (zh) 显示榜单的方法和装置
CN111107389B (zh) 确定观看直播时长的方法、装置和系统
CN108897659B (zh) 修改日志级别的方法、装置及存储介质
CN109951398B (zh) 数据发送方法、装置及计算机设备
CN109635133B (zh) 可视化音频播放方法、装置、电子设备及存储介质
CN107896337B (zh) 信息推广方法、装置及存储介质
CN109451248B (zh) 视频数据的处理方法、装置、终端及存储介质
CN113271470B (zh) 直播连麦方法、装置、终端、服务器及存储介质
CN113076051A (zh) 从控终端同步方法、装置、终端及存储介质
CN108401194B (zh) 时间戳确定方法、装置和计算机可读存储介质
CN111092991B (zh) 歌词显示方法及装置、计算机存储介质
CN113536063A (zh) 信息处理方法、装置、设备及存储介质
CN109783176B (zh) 切换页面的方法和装置
CN109089137B (zh) 卡顿检测方法及装置
CN111083554A (zh) 直播礼物显示的方法和装置
CN110769120A (zh) 进行消息提醒的方法、装置、设备及存储介质
CN112770177B (zh) 多媒体文件生成方法、多媒体文件发布方法及装置
CN110912830A (zh) 传输数据的方法和装置
CN111064657B (zh) 关注账户分组的方法、装置、系统
CN109688064B (zh) 数据传输方法、装置、电子设备和存储介质
CN112118353A (zh) 信息显示方法、装置、终端及计算机可读存储介质
CN109413190B (zh) 文件获取方法、装置、电子设备及存储介质
CN108260023B (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