CN105959310B - 帧定位方法和装置 - Google Patents

帧定位方法和装置 Download PDF

Info

Publication number
CN105959310B
CN105959310B CN201610516072.0A CN201610516072A CN105959310B CN 105959310 B CN105959310 B CN 105959310B CN 201610516072 A CN201610516072 A CN 201610516072A CN 105959310 B CN105959310 B CN 105959310B
Authority
CN
China
Prior art keywords
time stamp
initial time
frame
fragment
played
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
CN201610516072.0A
Other languages
English (en)
Other versions
CN105959310A (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.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software 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 Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201610516072.0A priority Critical patent/CN105959310B/zh
Publication of CN105959310A publication Critical patent/CN105959310A/zh
Application granted granted Critical
Publication of CN105959310B publication Critical patent/CN105959310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
    • 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开是关于一种帧定位方法和装置,该方法包括:下载播放时间点对应的分片;所述分片的第一帧携带实际起始时间戳;根据预设的播放列表确定所述的分片的第一帧的预设起始时间戳;若所述预设起始时间戳与所述实际起始时间戳不匹配,则根据所述实际起始时间戳与偏移量定位待播放的帧,所述偏移量为所述预设起始时间戳与所述播放时间点之间的差值,避免了相关技术中终端在播放时间点对应的分片上无法定位到待播放的帧这一技术问题,帧定位效率高。

Description

帧定位方法和装置
技术领域
本公开涉及通信领域,尤其涉及一种帧定位方法和装置。
背景技术
流媒体播放(HTTP Live Streaming,简称HLS)协议是一种动态码率自适应技术,主要用于电脑、手机、iPad等终端的音视频服务。
HLS协议要求服务器为每个节目存储一组时长和大小相近的媒体文件,同时为这些媒体文件形成一个M3u8播放列表,这些媒体文件被称为切片。切片被存储在服务器上,当用户指示终端播放某个流媒体文件时,终端先根据用户定位的播放时间点和M3u8播放列表从服务器上下载用户定位的播放时间点对应的分片,根据该分片的时间戳进行帧定位。
发明内容
为克服相关技术中存在的问题,本公开提供一种帧定位方法和装置。
根据本公开实施例的第一方面,提供一种帧定位方法,包括:
下载播放时间点对应的分片;所述分片的第一帧携带实际起始时间戳;
根据预设的播放列表确定所述分片的第一帧的预设起始时间戳;
若所述预设起始时间戳与所述实际起始时间戳不匹配,则根据所述实际起始时间戳与偏移量定位待播放的帧,所述偏移量为所述预设起始时间戳与所述播放时间点之间的差值。
在一个实施例中,所述方法还包括:
若所述实际起始时间戳与所述预设起始时间戳戳相匹配,则根据所述预设起始时间戳戳与偏移量定位待播放的帧。
在一个实施例中,所述下载播放时间点对应的分片,包括:
根据所述预设的播放列表确定所述播放时间点对应的分片标识;
根据所述分片标识从服务器下载所述分片。
在一个实施例中,所述根据所述分片标识从服务器下载所述分片,包括:
向所述服务器发送下载请求;所述下载请求包括所述分片标识;
接收所述服务器发送的所述分片标识对应的分片。
在一个实施例中,所述方法还包括:
接收用户发送的播放操作指令;所述播放操作指令包括所述播放时间点和待播放媒体标识。
在一个实施例中,所述方法还包括:
获取所述待播放媒体标识对应的预设的播放列表;所述预设的播放列表为m3u8索引文件。
根据本公开实施例的第二方面,提供一种帧定位装置,包括:
下载模块,被配置为下载播放时间点对应的分片;所述分片的第一帧携带实际起始时间戳;
确定模块,被配置为根据预设的播放列表确定所述分片的第一帧的预设起始时间戳;
第一定位模块,被配置为若所述预设起始时间戳与所述实际起始时间戳不匹配,则根据所述实际起始时间戳与偏移量定位待播放的帧,所述偏移量为所述预设起始时间戳与所述播放时间点之间的差值。
在一个实施例中,所述装置还包括:
第二定位模块,被配置为若所述实际起始时间戳与所述预设起始时间戳戳相匹配,则根据所述预设起始时间戳戳与偏移量定位待播放的帧。
在一个实施例中,所述下载模块包括:
确定子模块,被配置为根据所述预设的播放列表确定所述播放时间点对应的分片标识;
下载子模块,被配置为根据所述分片标识从服务器下载所述分片。
在一个实施例中,所述下载子模块包括:
发送子模块,被配置为向所述服务器发送下载请求;所述下载请求包括所述分片标识;
接收子模块,被配置为接收所述服务器发送的所述分片标识对应的分片。
在一个实施例中,所述装置还包括:
接收模块,被配置为接收用户发送的播放操作指令;所述播放操作指令包括所述播放时间点和待播放媒体标识。
在一个实施例中,所述装置还包括:
获取模块,被配置为获取所述待播放媒体标识对应的预设的播放列表;所述预设的播放列表为m3u8索引文件。
根据本公开实施例的第三方面,提供一种帧定位装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
下载播放时间点对应的分片;所述分片的第一帧携带实际起始时间戳;
根据预设的播放列表确定所述分片的第一帧的预设起始时间戳;
若所述预设起始时间戳与所述实际起始时间戳不匹配,则根据所述实际起始时间戳与偏移量定位待播放的帧,所述偏移量为所述预设起始时间戳与所述播放时间点之间的差值。
本公开的实施例提供的技术方案可以包括以下有益效果:
一个实施例中,终端下载播放时间点对应的分片,根据预设的播放列表确定分片的第一帧的预设起始时间戳,若分片携带的实际起始时间戳与分片的预设起始时间戳不匹配,则根据实际起始时间戳与偏移量定位待播放的帧,由于偏移量为预设起始时间戳戳与播放时间点之间的差值,当分片的的第一帧的实际时间戳与预设时间戳不匹配时,根据实际时间戳和偏移量定位待播放的帧,避免了相关技术中终端在播放时间点对应的分片上无法定位到待播放的帧这一技术问题,帧定位效率高。
另一个实施例中,当实际起始时间戳与预设起始时间戳戳相匹配时,终端直接根据预设起始时间戳与偏移量定位待播放的帧,尤其是当实际起始时间戳与预设起始时间戳之间的差值小于预设阈值时,该差值可以忽略不计,有效提高了帧定位的速率。
另一个实施例中,终端根据预设的播放列表确定播放时间点对应的分片标识,将包括分片标识的下载请求发送给服务器,以使服务器根据该分片标识获取对应的分片,并将分片发送给终端,使得终端可以快速的从服务器下载到正确的分片,从而对待播放的帧进行准确定位,提高帧定位的准确度。
另一个实施例中,终端接收用户发送的包括播放时间点和待播放媒体标识的播放操作指令,获取待播放媒体标识预设的播放列表,使得终端下载播放时间点对应的分片,根据预设的播放列表确定分片的第一帧的预设起始时间戳,并判断分片的第一帧携带的实际起始时间戳与分片的预设起始时间戳是否匹配,终端根据匹配结果选择合适的帧定位方法,有效提高了帧定位效率和准确性。
另一个实施例中,终端根据用户发送的播放操作指令确定播放时间点,根据m3u8索引文件确定与播放时间点对应的分片,并计算偏移量,从服务器下载分片,判断分片的预设初始时间戳和实际起始时间戳是否匹配,若预设初始时间戳和实际起始时间戳匹配,则根据预设起始时间戳戳与偏移量定位待播放的帧;若预设初始时间戳和实际起始时间戳不匹配,则根据实际起始时间戳与偏移量定位待播放的帧,最后将定位到的帧对应的画面进行播放。经过测试,使用该帧定位方法,在时间戳出现错误的媒体流中,可以在一秒中内定位帧,且不存在时间轴不匹配的情况,帧定位的效率高,准确率高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种帧定位方法的流程图;
图2是根据另一示例性实施例示出的一种帧定位方法的流程图;
图3是根据另一示例性实施例示出的一种帧定位方法的流程图;
图4是根据再一示例性实施例示出的一种帧定位方法的流程图;
图5是根据再一示例性实施例示出的一种帧定位方法的流程图;
图6是根据再一示例性实施例示出的一种帧定位方法的流程图;
图7是根据一示例性实施例示出的一种帧定位装置的框图;
图8是根据另一示例性实施例示出的一种帧定位装置的框图;
图9是根据另一示例性实施例示出的一种帧定位装置的框图;
图10是根据再一示例性实施例示出的一种帧定位装置的框图;
图11是根据再一示例性实施例示出的一种帧定位装置的框图;
图12是根据一示例性实施例示出的一种用于帧定位的装置800的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本公开提供的帧定位方法主要应用于流媒体播放(HTTP Live Streaming,简称HLS)技术,这是一种动态码率自适应技术,主要用于电脑和终端的音视频服务。HLS包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件。
常用的流媒体协议主要有超文本传输协议(HyperText Transfer Protocol,简称HTTP)渐进下载和基于实时流传输协议(Real Time Streaming Protocol)RTSP/实时传输协议RTP(Real-time Transport Protocol,简称RTP)的实时流媒体协议,HTTP渐进下载与实时流媒体协议是两种完全不同的协议,目前,比较方便又好用的是用HTTP渐进下载方法,其中,apple公司的HTTP Live Streaming是这个方面的代表,它最初是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的流,现在在桌面也有很多应用了,HTML5可以直接支持HTTP Live Streaming。
但是,HLS协议的小切片方式会生成大量的文件,存储或处理这些文件会造成大量资源浪费。如果要实现数天的时移,索引量将会是个巨额数字,并明显影响请求速度。因此,HLS协议对存储I/O要求相当苛刻。新型点播服务器系统,独创了内存缓存数据实时切片技术,颠覆了这种传统实现方法,从根本上解决了大量切片的碎片问题,使得单台服务器的切片与打包能力不再是瓶颈。
相关技术中,回放是用户拖动进度条,确定播放时间戳。整个媒体流被划分为N个媒体流片段,每个媒体流片段的时长不统一。播放媒体流时,根据该时间戳先定位大致的媒体流片段,再在媒体流片段中匹配对应的时间戳,如果本媒体流片段未找到,将不断向下一流块寻找,造成响应时间长。简单来说,就是终端系统先定位出分片,然后简单使用时间戳(timestamp)定位需要寻找的帧。由于m3u(8)的索引文件中的分片时长和timestamp可能会存在不完全匹配的情况,这样会造成需要下载更多的分片,极端的情形下可能出现无法找到匹配的帧的现象,而且,下载更多的分片需要等待更长时间,用户体验会较差。
本公开实施例提供的帧定位方法主要是为了解决“m3u(8)的索引文件中的分片时长和timestamp会存在不完全匹配所引起的搜索过慢或无法搜索”的问题。
图1是根据一示例性实施例示出的一种帧定位方法的流程图,本实施例涉及的帧定位方法用于终端设备中,终端可以是移动电话,计算机,游戏控制台,平板设备,健身设备,个人数字助理等。如图1所示,该帧定位方法包括以下步骤:
在步骤S11中,下载播放时间点对应的分片;分片的第一帧携带实际起始时间戳。
在本公开实施例中,终端从服务器下载播放时间点对应的分片。其中,分片可以为某个视频、音频等流媒体文件的多个分片中的一个分片;播放时间点为用户设置的时间点,例如,用户拖动播放进度条、快进、快退等方式设置播放时间点;实际起时间戳为服务器在存储分片时为该分片设置的时间戳。
在步骤12中,根据预设的播放列表确定分片的第一帧的预设起始时间戳。
在本公开实施例中,预设的播放列表为将流媒体文件进行分片时生成的列表,该预设的播放列表用于记录各分片的播放顺序。分片的第一帧的预设起始时间戳为将流媒体文件进行分片时为分片设置的起始时间戳。
在步骤S13中,若预设起始时间戳与实际起始时间戳不匹配,则根据实际起始时间戳与偏移量定位待播放的帧,偏移量为预设起始时间戳与播放时间点之间的差值。
在本公开实施例中,当实际起始时间戳与预设起始时间戳不相等,或者,当实际起始时间戳与预设起始时间戳之间的差值超过预设阈值时,则确定实际起始时间戳与预设起始时间戳不匹配,例如,从服务器上下载的分片的第一帧的实际起始时间戳为60s,而对流媒体文件进行分片时设置的预设起始时间戳为90s,则实际起始时间戳与预设起始时间戳不匹配,或者,从服务器上下载的分片的第一帧的实际起始时间戳为90.02s,而对流媒体文件进行分片时设置的预设起始时间戳为90s,则实际起始时间戳与预设起始时间的差值为0.02s,则确定实际起始时间戳与预设起始时间戳相匹配。偏移量为预设起始时间戳与播放时间点之间的差值,例如,用户设置的播放时间点为100s,预设起始时间戳为96s,则偏移量为4s。
当实际起始时间戳与预设起始时间戳不匹配时,终端根据实际起始时间戳与偏移量定位待播放的帧。例如,分片的第一帧的实际起始时间戳为60s,而对流媒体文件进行分片时设置的预设起始时间戳为96s,播放时间点为100s,则终端根据60s这一时间戳个和4s这一偏移量来定位待播放的帧,也即,终端搜索与64s这一时间戳最接近的时间戳对应的帧作为待播放的帧。
相关技术中,当客户端根据时间戳序列向服务器推拉媒体流时,由于网络延迟、不稳定等因素,在推送、存储流媒体文件时,可能使时间戳顺序发生变化,导致服务器侧的实际时间戳与进行分片时预设的时间戳不匹配,若终端根据分片时设定的预设时间戳来进行帧定位,很可能会导致搜索到错误的待播放的帧,甚至出现搜索不到待播放的帧的情况。例如,播放时间点为100s,根据播放时间点确定的分片的第一帧的预设起始时间戳为96s,但下载的分片的第一帧的实际起始时间戳为60s,每个分片的时间长度为8s,那么,终端根据60s这一时间戳在下载的分片上根本无法搜索到100s对应的帧。
本公开实施例提供的帧定位方法,终端下载播放时间点对应的分片,根据预设的播放列表确定分片的第一帧的预设起始时间戳,若分片的第一帧携带的实际起始时间戳与分片的第一帧的预设起始时间戳不匹配,则根据实际起始时间戳与偏移量定位待播放的帧,由于偏移量为预设起始时间戳戳与播放时间点之间的差值,当分片的实际时间戳与预设时间戳不匹配时,根据分片的实际时间戳和偏移量定位待播放的帧,避免了相关技术中终端在播放时间点对应的分片上无法定位到待播放的帧这一技术问题,帧定位效率高。
图2为是根据另一示例性实施例示出的一种帧定位方法的流程图,本实施例涉及的真定位方法应用于终端,如图2所示,该帧定位方法包括以下步骤:
在步骤S21中,根据播放列表下载播放时间点对应的分片;分片的第一帧携带实际起始时间戳。
在步骤S22中,根据预设的播放列表确定分片的第一帧的预设起始时间戳。
在步骤S23中,若实际起始时间戳与预设起始时间戳戳相匹配,则根据预设起始时间戳戳与偏移量定位待播放的帧。
在本公开实施例中,当实际起始时间戳与预设起始时间戳相匹配时,终端直接根据预设起始时间戳与偏移量定位待播放的帧。例如,分片的第一帧的预设起始时间戳为60s,而实际起始时间戳为60s,或者,实际起始时间戳在59.56s~60.04s范围内,播放时间点为100s,则终端根据60s这一时间戳个和4s这一偏移量来定位待播放的帧,也即,终端搜索与64s这一时间戳最接近的时间戳对应的帧作为待播放的帧,其中,0.04s的误差可以忽略不计。
本公开实施例提供的帧定位方法,当实际起始时间戳与预设起始时间戳戳相匹配时,终端直接根据预设起始时间戳与偏移量定位待播放的帧,尤其是当实际起始时间戳与预设起始时间戳之间的差值小于预设阈值时,该差值可以忽略不计,有效提高了帧定位的速率。
图3是根据另一示例性实施例示出的一种帧定位方法的流程图,本实施例涉及的真定位方法应用于终端,在图1或图2所示实施例的基础上,如图3所示,“下载播放时间点对应的分片”这一步骤的具体实现方式包括以下步骤:
在步骤S31中,根据预设的播放列表确定播放时间点对应的分片标识。
在本公开实施例中,终端获取到播放时间点时,根据播放列表确定该播放时间点对应的分片标识,其中,分片标识可以为一个编号、一个时间段或一个下载地址等标识。
在步骤S32中,根据分片标识从服务器下载分片。
在本公开实施例中,参照4所示,步骤S32的具体实现方法包括以下步骤:
在步骤S41中,向服务器发送下载请求;下载请求包括分片标识。
在本公开实施例中,终端确定了分片标识之后,生成包括分片标识的下载请求,并将下载请求发送给服务器,以使服务器根据该分片标识获取对应的分片。
在步骤S42中,接收服务器发送的分片标识对应的分片。
在本公开实施例中,服务器根据分片标识获取到分片后,将分片发送终端,该分片携带了实际起始时间戳,终端可以根据分片的实际起始时间戳和预设起始时间戳之间的匹配结果选择相应的帧定位方法。
本公开实施例提供的帧定位方法,终端根据预设的播放列表确定播放时间点对应的分片标识,将包括分片标识的下载请求发送给服务器,以使服务器根据该分片标识获取对应的分片,并将分片发送给终端,使得终端可以快速的从服务器下载到正确的分片,从而对待播放的帧进行准确定位,提高帧定位的准确度。
图5是根据再一示例性实施例示出的一种帧定位方法的流程图,本实施例涉及的帧定位方法应用于终端,如图5所示,该帧定位方法还包括以下步骤:
在步骤S51中,接收用户发送的播放操作指令;播放操作指令包括播放时间点和待播放媒体标识。
在本公开实施例中,用户可以通过拖动进度条、点击快进、快退等按钮向终端发送播放操作指令。其中,播放时间点为用户最终确定的时间点,例如,用户量进度条拖动到视频的第100s处,则该播放时间点为100s。待播放媒体标识为用户打开一个媒体文件时产生的媒体标识,例如,待播放媒体标识可以为视频的编号、电影名称、歌曲名称等媒体文件的名称等。
在步骤S52中,获取待播放媒体标识对应的预设的播放列表;预设的播放列表为m3u8索引文件。
在本公开实施例中,终端确定了待播放媒体标识后,获取待播放媒体标识对应的预设的播放列表,该预设的播放列表为在对每个流媒体文件进行分片时生成的列表,该预设的播放列表可以为常用的m3u8索引文件,也可以为其它形式的列表文件,本公开中不加以限制。
本公开实施例提供的帧定位方法,终端接收用户发送的包括播放时间点和待播放媒体标识的播放操作指令,获取待播放媒体标识对应的预设的播放列表,使得终端下载播放时间点对应的分片,根据预设的播放列表确定分片的第一帧的预设起始时间戳,并判断分片的第一帧携带的实际起始时间戳与分片的第一帧的预设起始时间戳是否匹配,终端根据匹配结果选择合适的帧定位方法,有效提高了帧定位效率和准确性。
图6是根据再一示例性实施例示出的一种帧定位方法的流程图,本实施例涉及的帧定位方法应用于终端,如图6所示,该帧定位方法还包括以下步骤:
在步骤S61中,终端根据用户发送的播放操作指令确定播放时间点。
在步骤S62中,终端根据m3u8索引文件确定与播放时间点对应的分片。
在步骤S63中,终端根据分片的第一帧的预设初始时间戳和实际起始时间戳计算偏移量。
在步骤S64中,终端从服务器下载分片。
在步骤S65中,判断分片的第一帧的预设初始时间戳和实际起始时间戳是否匹配,若是,则执行步骤S66,若否,则执行步骤S67。
在步骤S66中,根据预设起始时间戳戳与偏移量定位待播放的帧,并执行步骤S68。
在步骤S67中,根据实际起始时间戳与偏移量定位待播放的帧。
在步骤S68中,显示待播放的帧对应的画面。
值得注意的是,当分片的第一帧的预设初始时间戳和实际起始时间戳不匹配时,服务器还可以对所有视频资料进行确认,根据实际起始时间戳对每个分片的时间戳进行重置,并重新生成新的m3u8索引文件。
本实施例提供的帧定位方法,终端根据用户发送的播放操作指令确定播放时间点,根据m3u8索引文件确定与播放时间点对应的分片,并计算偏移量,从服务器下载分片,判断分片的第一帧的预设初始时间戳和实际起始时间戳是否匹配,若分片的第一帧的预设初始时间戳和实际起始时间戳匹配,则根据预设起始时间戳戳与偏移量定位待播放的帧;若分片的第一帧的预设初始时间戳和实际起始时间戳不匹配,则根据实际起始时间戳与偏移量定位待播放的帧,最后将定位到的帧对应的画面进行播放。经过测试,使用该帧定位方法,在时间戳出现错误的媒体流中,可以在一秒中内定位帧,且不存在时间轴不匹配的情况,帧定位的效率高,准确率高。
图7是根据一示例性实施例示出的一种帧定位装置的框图,如图7所示,还装置包括下载模块11、确定模块12和第一定位模块13。
下载模块11被配置为下载播放时间点对应的分片;分片的第一帧携带实际起始时间戳。
确定模块12被配置为根据预设的播放列表确定分片的第一帧的预设起始时间戳。
第一定位模块13被配置为若预设起始时间戳与实际起始时间戳不匹配,则根据实际起始时间戳与偏移量定位待播放的帧,偏移量为预设起始时间戳与播放时间点之间的差值。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开实施例提供的帧定位装置,下载播放时间点对应的分片,根据预设的播放列表确定分片的第一帧的预设起始时间戳,若分片的第一帧携带的实际起始时间戳与分片的第一帧的预设起始时间戳不匹配,则根据实际起始时间戳与偏移量定位待播放的帧,由于偏移量为预设起始时间戳戳与播放时间点之间的差值,当分片的实际时间戳与预设时间戳不匹配时,根据分片的实际时间戳和偏移量定位待播放的帧,避免了相关技术中终端在播放时间点对应的分片上无法定位到待播放的帧这一技术问题,帧定位效率高。
图8是根据另一示例性实施例示出的一种帧定位装置的框图,在图7所示实施例的基础上,如图8所示,该装置还包括第二定位模块14。
第二定位模块14被配置为若实际起始时间戳与预设起始时间戳戳相匹配,则根据预设起始时间戳戳与偏移量定位待播放的帧。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开实施例提供的帧定位装置,当实际起始时间戳与预设起始时间戳戳相匹配时,终端直接根据预设起始时间戳与偏移量定位待播放的帧,尤其是当实际起始时间戳与预设起始时间戳之间的差值小于预设阈值时,该差值可以忽略不计,有效提高了帧定位的速率。
图9是根据另一示例性实施例示出的一种帧定位装置的框图,在图7或图8所示实施例的基础上,如图9所示,下载模块11包括确定子模块111和下载子模块112。
确定子模块111被配置为根据预设的播放列表确定播放时间点对应的分片标识。
下载子模块112被配置为根据分片标识从服务器下载分片。
进一步地,如图9所示,下载子模块112包括发送子模块1121和接收子模块1122。
发送子模块1121被配置为向服务器发送下载请求;下载请求包括分片标识。
接收子模块1122被配置为接收服务器发送的分片标识对应的分片。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开实施例提供的帧定位装置,根据预设的播放列表确定播放时间点对应的分片标识,将包括分片标识的下载请求发送给服务器,以使服务器根据该分片标识获取对应的分片,并将分片发送给帧定位装置,使得帧定位装置可以快速的从服务器下载到正确的分片,从而对待播放的帧进行准确定位,提高帧定位的准确度。
图10是根据再一示例性实施例示出的一种帧定位装置的框图,如图10所示,该装置还包括接收模块15。
接收模块15被配置为接收用户发送的播放操作指令;播放操作指令包括播放时间点和待播放媒体标识。
进一步地,如图10所示,该装置还包括获取模块16。
获取模块16被配置为获取待播放媒体标识预设的播放列表;预设的播放列表为m3u8索引文件。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开实施例提供的帧定位装置,接收用户发送的包括播放时间点和待播放媒体标识的播放操作指令,获取待播放媒体标识预设的播放列表,使得帧定位装置下载播放时间点对应的分片,根据预设的播放列表确定分片的第一帧的预设起始时间戳,并判断分片的第一帧携带的实际起始时间戳与分片的第一帧的预设起始时间戳是否匹配,帧定位装置根据匹配结果选择合适的帧定位方法,有效提高了帧定位效率和准确性。
图11是根据再一示例性实施例示出的一种帧定位装置的框图,如图11所示,该装置包括:
处理器21;
用于存储处理器21可执行指令的存储器22;
其中,处理器21被配置为:
下载播放时间点对应的分片;分片的第一帧携带实际起始时间戳;
根据预设的播放列表确定分片的第一帧的预设起始时间戳;
若预设起始时间戳与实际起始时间戳不匹配,则根据实际起始时间戳与偏移量定位待播放的帧,偏移量为预设起始时间戳与播放时间点之间的差值。
图12是根据一示例性实施例示出的一种用于帧定位的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件806为装置800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种帧定位方法,所述方法包括:
下载播放时间点对应的分片;所述分片的第一帧携带实际起始时间戳;
根据预设的播放列表确定所述分片的第一帧的预设起始时间戳;
若所述预设起始时间戳与所述实际起始时间戳不匹配,则根据所述实际起始时间戳与偏移量定位待播放的帧,所述偏移量为所述预设起始时间戳与所述播放时间点之间的差值。
其中,所述方法还包括:
若所述实际起始时间戳与所述预设起始时间戳戳相匹配,则根据所述预设起始时间戳戳与偏移量定位待播放的帧。
其中,所述下载播放时间点对应的分片,包括:
根据所述预设的播放列表确定所述播放时间点对应的分片标识;
根据所述分片标识从服务器下载所述分片。
其中,所述根据所述分片标识从服务器下载所述分片,包括:
向所述服务器发送下载请求;所述下载请求包括所述分片标识;
接收所述服务器发送的所述分片标识对应的分片。
其中,所述方法还包括:
接收用户发送的播放操作指令;所述播放操作指令包括所述播放时间点和待播放媒体标识。
其中,所述方法还包括:
获取所述待播放媒体标识对应的预设的播放列表;所述预设的播放列表为m3u8索引文件。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。

Claims (9)

1.一种帧定位方法,其特征在于,包括:
接收用户发送的播放操作指令;所述播放操作指令包括播放时间点和待播放媒体标识;
下载所述播放时间点对应的分片;所述分片的第一帧携带实际起始时间戳;
根据预设的播放列表确定所述分片的第一帧的预设起始时间戳;
若所述预设起始时间戳与所述实际起始时间戳不匹配,则根据所述实际起始时间戳与偏移量定位待播放的帧,所述偏移量为所述预设起始时间戳与所述播放时间点之间的差值;
若所述实际起始时间戳与所述预设起始时间戳相匹配,则根据所述预设起始时间戳与偏移量定位待播放的帧。
2.根据权利要求1所述的方法,其特征在于,所述下载所述播放时间点对应的分片,包括:
根据所述预设的播放列表确定所述播放时间点对应的分片标识;
根据所述分片标识从服务器下载所述分片。
3.根据权利要求2所述的方法,其特征在于,所述根据所述分片标识从服务器下载所述分片,包括:
向所述服务器发送下载请求;所述下载请求包括所述分片标识;
接收所述服务器发送的所述分片标识对应的分片。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述待播放媒体标识对应的预设的播放列表;所述预设的播放列表为m3u8索引文件。
5.一种帧定位装置,其特征在于,包括:
接收模块,被配置为接收用户发送的播放操作指令;所述播放操作指令包括播放时间点和待播放媒体标识;
下载模块,被配置为下载所述播放时间点对应的分片;所述分片的第一帧携带实际起始时间戳;
确定模块,被配置为根据预设的播放列表确定所述分片的第一帧的预设起始时间戳;
第一定位模块,被配置为若所述预设起始时间戳与所述实际起始时间戳不匹配,则根据所述实际起始时间戳与偏移量定位待播放的帧,所述偏移量为所述预设起始时间戳与所述播放时间点之间的差值;
第二定位模块,被配置为若所述实际起始时间戳与所述预设起始时间戳相匹配,则根据所述预设起始时间戳与偏移量定位待播放的帧。
6.根据权利要求5所述的装置,其特征在于,所述下载模块包括:
确定子模块,被配置为根据所述预设的播放列表确定所述播放时间点对应的分片标识;
下载子模块,被配置为根据所述分片标识从服务器下载所述分片。
7.根据权利要求6所述的装置,其特征在于,所述下载子模块包括:
发送子模块,被配置为向所述服务器发送下载请求;所述下载请求包括所述分片标识;
接收子模块,被配置为接收所述服务器发送的所述分片标识对应的分片。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
获取模块,被配置为获取所述待播放媒体标识对应的预设的播放列表;所述预设的播放列表为m3u8索引文件。
9.一种帧定位装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收用户发送的播放操作指令;所述播放操作指令包括播放时间点和待播放媒体标识;
下载所述播放时间点对应的分片;所述分片的第一帧携带实际起始时间戳;
根据预设的播放列表确定所述分片的第一帧的预设起始时间戳;
若所述预设起始时间戳与所述实际起始时间戳不匹配,则根据所述实际起始时间戳与偏移量定位待播放的帧,所述偏移量为所述预设起始时间戳与所述播放时间点之间的差值;
若所述实际起始时间戳与所述预设起始时间戳相匹配,则根据所述预设起始时间戳与偏移量定位待播放的帧。
CN201610516072.0A 2016-07-01 2016-07-01 帧定位方法和装置 Active CN105959310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610516072.0A CN105959310B (zh) 2016-07-01 2016-07-01 帧定位方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610516072.0A CN105959310B (zh) 2016-07-01 2016-07-01 帧定位方法和装置

Publications (2)

Publication Number Publication Date
CN105959310A CN105959310A (zh) 2016-09-21
CN105959310B true CN105959310B (zh) 2019-09-10

Family

ID=56903374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610516072.0A Active CN105959310B (zh) 2016-07-01 2016-07-01 帧定位方法和装置

Country Status (1)

Country Link
CN (1) CN105959310B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106686466B (zh) * 2017-01-10 2020-10-23 深圳市芯睿视科技有限公司 一种视频数据的定位方法
CN110460790A (zh) * 2018-05-02 2019-11-15 北京视联动力国际信息技术有限公司 一种视频帧的抽取方法和装置
CN111031354B (zh) * 2019-12-09 2020-12-01 腾讯科技(深圳)有限公司 一种多媒体播放方法、装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102487458A (zh) * 2010-12-02 2012-06-06 中兴通讯股份有限公司 Ts文件的播放处理方法及装置
CN103796341B (zh) * 2012-11-02 2017-04-26 展讯通信(天津)有限公司 移动终端及其帧位置确定方法和装置以及帧接收方法
US9307269B2 (en) * 2013-03-14 2016-04-05 Google Inc. Determining interest levels in videos
CN103780977B (zh) * 2014-02-26 2019-01-01 厦门雅迅网络股份有限公司 一种基于帧定位技术的流媒体播放方法
CN105245940A (zh) * 2015-10-08 2016-01-13 北京时医康科技发展有限公司 一种窄带宽在线播放高清视频的方法及播放器

Also Published As

Publication number Publication date
CN105959310A (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
KR101945090B1 (ko) 멀티미디어 데이터의 재생 방법, 장치 및 시스템
CN101529867B (zh) 在对等配置中共享多媒体内容
US9106801B2 (en) Terminals, servers, and methods that find a media server to replace a sensed broadcast program/movie
JP2016533075A (ja) 情報取得方法、装置、プログラム、及び記録媒体
KR101638276B1 (ko) 동영상 에피소드 선택방법, 장치, 프로그램 및 기록매체
CN108966025B (zh) 视频播放方法、装置及计算机可读存储介质
KR101834675B1 (ko) 정보를 푸시하는 방법, 장치, 설비 및 시스템
KR20150035387A (ko) 컨텐츠 재생을 위한 클라이언트, 컨텐츠 재생 방법, 컨텐츠 접속 제공 방법, 전자 장치의 컨텐츠 재생 선택 방법 및 컴퓨터 판독가능 기록매체
KR20120112698A (ko) 무선 통신 디바이스의 사용자에 의한 지리적 위치로의 멀티미디어 콘텐트의 태깅
CN105183513A (zh) 应用推荐方法和装置
CN110278450A (zh) 多媒体内容播放方法及装置
CN106484856B (zh) 音频播放方法及装置
CN105959310B (zh) 帧定位方法和装置
CN105069050A (zh) 搜索响应方法、装置及系统
CN109309843A (zh) 视频发布方法、终端及服务器
US11889165B2 (en) Methods, computer server systems and media devices for media streaming
CN104079964A (zh) 传输视频信息的方法及装置
CN110087148A (zh) 一种视频分享方法、装置、电子设备及存储介质
CN103944709A (zh) 一种数据同步方法及装置
CN105472433A (zh) 提供节目内容的方法、装置及智能电视
CN104702988A (zh) 音视频播放方法和装置
CN105430469A (zh) 音视频数据的播放方法、装置、终端及服务器
CN113613082A (zh) 一种视频播放方法、装置、电子设备及存储介质
EP2887234A1 (en) A method for rendering an electronic content on a rendering device
CN107872620A (zh) 视频录制方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant