CN115209208A - 一种视频循环播放的处理方法及装置 - Google Patents

一种视频循环播放的处理方法及装置 Download PDF

Info

Publication number
CN115209208A
CN115209208A CN202110374967.6A CN202110374967A CN115209208A CN 115209208 A CN115209208 A CN 115209208A CN 202110374967 A CN202110374967 A CN 202110374967A CN 115209208 A CN115209208 A CN 115209208A
Authority
CN
China
Prior art keywords
multimedia data
video
data
decoded
time axis
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
Application number
CN202110374967.6A
Other languages
English (en)
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.)
Hisense Visual Technology Co Ltd
Original Assignee
Hisense Visual 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 Hisense Visual Technology Co Ltd filed Critical Hisense Visual Technology Co Ltd
Priority to CN202110374967.6A priority Critical patent/CN115209208A/zh
Publication of CN115209208A publication Critical patent/CN115209208A/zh
Pending legal-status Critical Current

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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • 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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • 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/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供了一种视频循环播放的处理方法及装置,用于解决在视频循环播放过程中,重新下载视频带来的卡顿问题。方法包括:获取多媒体数据帧,多媒体数据帧属于待循环的视频流中的一个数据帧;对多媒体数据帧进行解封装得到第一多媒体数据,将第一多媒体数据存储到第一缓存队列中;在对第一多媒体数据进行解码之前,确定第一多媒体数据属于待循环的视频流的结束点且待循环的视频流的循环次数未达到设定次数时,启动重新下载待循环的视频流;从第一缓存队列获取第一多媒体数据,并进行解码,将解码后的第一多媒体数据存储到第二缓存队列中;从第二缓存队列中获取解码后的第一多媒体数据,将解码后的第一多媒体数据进行渲染。

Description

一种视频循环播放的处理方法及装置
技术领域
本申请涉及视频处理领域,特别涉及一种视频循环播放的处理方法及装置。
背景技术
现有的视频播放器可以满足用户基本的使用需求,如播放、快进、快退或者倍速播放等功能。但是如果用户需要循环播放一段视频时,需要在整段视频播放完成后快退到片头继续播放,快退后视频播放器会清空所有的视频数据,重新下载视频数据,由于重新下载需要一定的时间,所以快退到片头继续播放时会出现卡顿现象。
发明内容
本申请实施例提供了一种视频循环播放的处理方法及装置,用以解决在视频循环播放过程中,需要重新下载视频带来的卡顿问题。
第一方面,本申请提供了一种显示设备,包括:
输入接口,用于接收多媒体数据帧,所述多媒体数据帧属于待循环的视频流中的一个数据帧;
控制器,用于对所述多媒体数据帧进行解封装得到第一多媒体数据,将所述第一多媒体数据存储到第一缓存队列中;
所述控制器,还用于在对所述第一多媒体数据进行解码之前,确定所述第一多媒体数据属于所述待循环的视频流的结束点且待循环的视频流的循环次数未达到设定次数时,启动重新下载所述待循环的视频流并缓存到所述第一缓存队列;
所述控制器,还用于从所述第一缓存队列获取所述第一多媒体数据,并对获取的所述第一多媒体数据进行解码,将所述解码后的第一多媒体数据存储到第二缓存队列中;
所述控制器,还用于从所述第二缓存队列中获取所述解码后的第一多媒体数据,将所述解码后的第一多媒体数据渲染至显示屏。
所述显示屏,用于显示所述第一多媒体数据。
基于上述方案,控制器在确定接收到的第一多媒体数据为待循环视频流的结束点时,就启动重新下载待循环的视频流。不需要等待全部的待循环的视频流播放完成后再启动重新下载,能够在待循环的视频流播放完成前,就已经下载了下一次需要播放的待循环的视频流。解决了由于播放完成再下载所带来的时延,解决了循环播放过程中的卡顿问题。
在一些实施例中,在所述输入接口接收所述多媒体数据帧之前,所述控制器,还用于:
响应于用户的控制操作,确定所述待循环的视频流的结束点和所述设定次数。
基于上述方案,在输入接口接收到第一多媒体数据之前,控制器已经确定待循环的视频流的结束点和设定次数。则控制器可以准确的根据确定的待循环的视频流的结束点确定第一多媒体数据是否为待循环视频流的结束点,并且可以确定循环没有达到设定次数。
在一些实施例中,所述控制器还用于响应于所述控制操作,确定所述待循环的视频流的起始点,所述控制器,在启动重新下载所述待循环的视频流时,具体用于:
根据所述待循环的视频流的起始点和所述待循环的视频流的结束点,从待循环的视频流的起始点重新下载所述待循环的视频流。
基于上述方案,控制器根据用户的控制操作,确定待循环视频流的起始点、结束点,并根据待循环视频流的起始点和结束点重新下载待循环的视频流。能够精准的下载待循环的视频流,避免下载多余的无用数据。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制器还用于:
在当前渲染多媒体数据使用的主时间轴为视频时间轴时,确定所述当前渲染多媒体数据中的视频时间轴大于所述当前渲染多媒体数据中的音频时间轴,确定所述当前渲染多媒体数据中的音频数据的延迟量,将所述当前渲染多媒体数据中的音频数据的延迟量对应的所述当前渲染多媒体数据中的音频数据从所述第二缓存队列中删除。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制器还用于:
在当前渲染多媒体数据使用的主时间轴为视频时间轴时,确定所述当前渲染多媒体数据中的音频时间轴大于所述当前渲染多媒体数据中的视频时间轴,确定所述当前渲染多媒体数据中的视频数据的延迟量;根据所述当前渲染多媒体数据中的视频数据的延迟量确定第一时长,在所述第一时长内,停止输出音频数据。
基于上述方案,在渲染多媒体数据时使用的主时间轴为视频时间轴时,如果当前渲染的多媒体数据中的视频时间轴大于音频时间轴,则确定音频数据的延迟量,并将该延迟量对应的音频数据删除;如果当前渲染的多媒体数据中的音频时间轴大于视频时间轴,则根据视频数据的延迟量确定第一时长,在第一时长内停止输出音频数据。采用这种方法可以保证音视频数据能够同步输出,提升用户的观看体验。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制器还用于:
在当前渲染多媒体数据使用的主时间轴为音频时间轴时,将当前渲染多媒体数据使用的主时间轴切换为视频时间轴,确定所述当前渲染多媒体数据中的视频时间轴大于所述当前渲染多媒体数据中的音频时间轴,确定所述当前渲染多媒体数据中的音频数据的延迟量,将所述当前渲染多媒体数据中的音频数据的延迟量对应的所述当前渲染多媒体数据中的音频数据从所述第二缓存队列中删除。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制器还用于:
在当前渲染多媒体数据使用的主时间轴为音频时间轴时,将当前渲染多媒体数据使用的主时间轴切换为视频时间轴,确定所述当前渲染多媒体数据中的音频时间轴大于所述当前渲染多媒体数据中的视频时间轴,确定所述当前渲染多媒体数据中的视频数据的延迟量;根据所述当前渲染多媒体数据中的视频数据的延迟量确定第一时长,在所述第一时长内,停止输出音频数据。
基于上述方案,在渲染多媒体数据时使用的主时间轴为音频时间轴时,将当前使用的主时间轴切换为视频时间轴。如果当前渲染的多媒体数据中的视频时间轴大于音频时间轴,则确定音频数据的延迟量,并将该延迟量对应的音频数据删除;如果当前渲染的多媒体数据中的音频时间轴大于视频时间轴,则根据视频数据的延迟量确定第一时长,在第一时长内停止输出音频数据。采用这种方法可以保证音视频数据能够同步输出,提升用户的观看体验。
第二方面,本申请实施例提供了一种视频循环播放的处理方法,包括:
获取多媒体数据帧,所述多媒体数据帧属于待循环的视频流中的一个数据帧;
对所述多媒体数据帧进行解封装得到第一多媒体数据,将所述第一多媒体数据存储到第一缓存队列中;
在对所述第一多媒体数据进行解码之前,确定所述第一多媒体数据属于所述待循环的视频流的结束点且待循环的视频流的循环次数未达到设定次数时,启动重新下载所述待循环的视频流并缓存到所述第一缓存队列;
从所述第一缓存队列获取所述第一多媒体数据,并对获取的所述第一多媒体数据进行解码,将所述解码后的第一多媒体数据存储到第二缓存队列中;
从所述第二缓存队列中获取所述解码后的第一多媒体数据,将所述解码后的第一多媒体数据进行渲染。
在一些实施例中,所述方法还包括:
在获取所述多媒体数据帧之前,通过应用程序接口接收上层应用发送的所述待循环的视频流的结束点和所述设定次数。
在一些实施例中,应用程序接口还用于接收上层应用发送的所述待循环的视频流的起始点,启动重新下载所述待循环的视频流,包括:
根据所述待循环的视频流的起始点和所述待循环的视频流的结束点,从待循环的视频流的起始点重新下载所述待循环的视频流。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述方法还包括:
当前渲染多媒体数据使用的主时间轴为视频时间轴时,确定所述当前渲染多媒体数据中的视频时间轴大于所述当前渲染多媒体数据中的音频时间轴,确定所述当前渲染多媒体数据中的音频数据的延迟量,将所述当前渲染多媒体数据中的音频数据的延迟量对应的所述当前渲染多媒体数据中的音频数据从所述第二缓存队列中删除。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述方法还包括:
当前渲染多媒体数据使用的主时间轴为视频时间轴时,确定所述当前渲染多媒体数据中的音频时间轴大于所述当前渲染多媒体数据中的视频时间轴,确定所述当前渲染多媒体数据中的视频数据的延迟量;根据所述当前渲染多媒体数据中的视频数据的延迟量确定第一时长,在所述第一时长内,停止输出音频数据。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述方法还包括:
当前渲染多媒体数据使用的主时间轴为音频时间轴时,将当前渲染多媒体数据使用的主时间轴切换为视频时间轴,确定所述当前渲染多媒体数据中的视频时间轴大于所述当前渲染多媒体数据中的音频时间轴,确定所述当前渲染多媒体数据中的音频数据的延迟量,将所述当前渲染多媒体数据中的音频数据的延迟量对应的所述当前渲染多媒体数据中的音频数据从所述第二缓存队列中删除。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述方法还包括:
当前渲染多媒体数据使用的主时间轴为音频时间轴时,将当前渲染多媒体数据使用的主时间轴切换为视频时间轴,确定所述当前渲染多媒体数据中的音频时间轴大于所述当前渲染多媒体数据中的视频时间轴,确定所述当前渲染多媒体数据中的视频数据的延迟量;根据所述当前渲染多媒体数据中的视频数据的延迟量确定第一时长,在所述第一时长内,停止输出音频数据。
第三方面,本申请实施例提供了一种视频循环播放的处理装置,包括:
输入单元,用于接收多媒体数据帧,所述多媒体数据帧属于待循环的视频流中的一个数据帧;
控制单元,用于对所述多媒体数据帧进行解封装得到第一多媒体数据,将所述第一多媒体数据存储到第一缓存队列中;
所述控制单元,还用于在对所述第一多媒体数据进行解码之前,确定所述第一多媒体数据属于所述待循环的视频流的结束点且待循环的视频流的循环次数未达到设定次数时,启动重新下载所述待循环的视频流并缓存到所述第一缓存队列;
所述控制单元,还用于从所述第一缓存队列获取所述第一多媒体数据,并对获取的所述第一多媒体数据进行解码,将所述解码后的第一多媒体数据存储到第二缓存队列中;
所述控制单元,还用于从所述第二缓存队列中获取所述解码后的第一多媒体数据,将所述解码后的第一多媒体数据渲染至显示单元。
所述显示单元,用于显示所述第一多媒体数据。
在一些实施例中,在所述输入单元接收所述多媒体数据帧之前,所述控制单元,还用于:
响应于用户的控制操作,确定所述待循环的视频流的结束点和所述设定次数。
在一些实施例中,所述控制单元还用于响应于所述控制操作,确定所述待循环的视频流的起始点,所述控制单元,在启动重新下载所述待循环的视频流时,具体用于:
根据所述待循环的视频流的起始点和所述待循环的视频流的结束点,从待循环的视频流的起始点重新下载所述待循环的视频流。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制单元还用于:
在当前渲染多媒体数据使用的主时间轴为视频时间轴时,确定所述当前渲染多媒体数据中的视频时间轴大于所述当前渲染多媒体数据中的音频时间轴,确定所述当前渲染多媒体数据中的音频数据的延迟量,将所述当前渲染多媒体数据中的音频数据的延迟量对应的所述当前渲染多媒体数据中的音频数据从所述第二缓存队列中删除。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制单元还用于:
在当前渲染多媒体数据使用的主时间轴为视频时间轴时,确定所述当前渲染多媒体数据中的音频时间轴大于所述当前渲染多媒体数据中的视频时间轴,确定所述当前渲染多媒体数据中的视频数据的延迟量;根据所述当前渲染多媒体数据中的视频数据的延迟量确定第一时长,在所述第一时长内,停止输出音频数据。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制单元还用于:
在当前渲染多媒体数据使用的主时间轴为音频时间轴时,将当前渲染多媒体数据使用的主时间轴切换为视频时间轴,确定所述当前渲染多媒体数据中的视频时间轴大于所述当前渲染多媒体数据中的音频时间轴,确定所述当前渲染多媒体数据中的音频数据的延迟量,将所述当前渲染多媒体数据中的音频数据的延迟量对应的所述当前渲染多媒体数据中的音频数据从所述第二缓存队列中删除。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制单元还用于:
在当前渲染多媒体数据使用的主时间轴为音频时间轴时,将当前渲染多媒体数据使用的主时间轴切换为视频时间轴,确定所述当前渲染多媒体数据中的音频时间轴大于所述当前渲染多媒体数据中的视频时间轴,确定所述当前渲染多媒体数据中的视频数据的延迟量;根据所述当前渲染多媒体数据中的视频数据的延迟量确定第一时长,在所述第一时长内,停止输出音频数据。
第四方面,本申请实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,当所述指令在计算机上运行时,使得所述计算机执行如第二方面所记载的直播数据的处理方法。
第二方面至第四方面中任意一种实现方式所带来的技术效果可参见第一方面对应的实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的现有技术中视频循环播放的方法流程图;
图2A为本申请实施例提供的一种终端设备的硬件配置框图;
图2B为本申请实施例提供的控制装置100的配置框图;
图2C为本申请实施例提供的一种终端的软件结构框图;
图3为本申请实施例提供的一种视频循环播放的处理方法的流程示意图;
图4A为本申请实施例提供的一种设置视频循环播放的界面图;
图4B为本申请实施例提供的一种设置视频循环类型的界面图;
图4C为本申请实施例提供的一种设置视频循环次数的界面图;
图5为本申请实施例提供的一种将多媒体数据中音频数据和视频数据的时间轴同步的方法流程图;
图6为本申请实施例提供的一种视频整体循环播放的处理方法的流程示意图;
图7A为本申请实施例提供的一种设置视频循环次数、循环起始点和循环结束点的界面图;
图7B为本申请实施例提供的一种设置视频循环起始点位置的界面图;
图7C为本申请实施例提供的一种设置视频循环结束点位置的界面图;
图8为本申请实施例提供的一种确定距离循环起始点最近的起始帧的方法流程图;
图9为本申请实施例提供的另一种视频部分循环播放的处理方法的流程示意图;
图10为本申请实施例提供的一种显示设备的结构示意图;
图11为本申请实施例提供的一种视频循环播放的处理装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请进行详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
本申请实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
现有的视频应用在实现视频循环功能时,如果是需要整段视频循环的情况,可以参见图1所示的流程A,视频应用会在视频播放器第一次播放完成之后根据用户的设置或者快退操作将循环播放的指令下发到视频播放器,指示视频播放器从网络上下载视频,并再次播放视频。由于视频播放器从网络上下载视频需要一定的时间,所以会导致在每次开始循环播放视频片头时出现卡顿的现象。如果是需要循环整段视频中的某一小段的情况,可以参见图1所示的流程B,视频应用会根据用户调整视频进度条的操作,指示视频播放器从该段的起始点开始重新下载视频,并再次播放该段的视频。同样由于下载视频是需要一定的时间,所以在每次播放该段的起始点时会出现卡顿的情况。并且每一次播放该段视频时,都需要用户手动操作,将进度条拉到该段的起始点,操作不方便。基于此,本申请实施例提供了一种视频循环播放的处理方法及装置,视频播放器可以下载完成本次待循环的视频流时,直接启动重新下载待循环的视频流。不需要再待循环的视频流播放完再启动重新下载,可以保障在播放待循环的视频流的起始点时,不会再出现卡顿的情况。
下面,为了便于理解本申请的方案,将以不同场景下的多个实施例对本申请的方案进行说明。需要说明的是,本申请提出的方案可以应用于安装在电脑、电视、智能手机或者平板电脑等多种终端设备上安装的视频应用中。
作为一种举例,下面对本申请涉及的终端设备的结构进行详细说明。参见图2A所示,为一种可能的终端设备200的硬件配置示意图。在一些实施例中,终端设备包括调谐解调器210、通信器220、检测器230、外部装置接口240、处理器250、显示部件260、音频输出接口270、存储器、供电电源、用户接口280中的至少一种。
在一些实施例中,显示部件260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自处理器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控用户界面(User Interface,UI)界面等。
在一些实施例中,显示部件260可为液晶显示器、有机发光二极管(OrganicLight-Emitting Diode,OLED)显示器、以及投影显示器中的至少一种。
在一些实施例中,调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号。
在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。终端200可以通过通信器220与目标健康检测设备或对端设备300进行数据传输。
在一些实施例中,检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
在一些实施例中,外部装置接口240可以包括但不限于如下:高清多媒体接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、RGB端口、摄像接口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
在一些实施例中,处理器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在处理器250所在的主体设备的外置设备中,如外置机顶盒等。
在一些实施例中,处理器250,包括中央处理器(Central Processing Unit,CPU),视频处理器,音频处理器,图形处理器(Graphics Processing Unit,GPU),RAM(RandomAccess Memory),ROM(Read-Only Memory)中的至少一种。
在一些实施例中,CPU用于执行存储在存储器中操作***和应用程序指令,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。CPU处理器,可以包括多个处理器。如,包括一个主处理器以及一个或多个子处理器。
在一些实施例中,图形处理器,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等中的至少一种。图形处理器包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象;还包括渲染器,对基于运算器得到的各种对象,进行渲染,上述渲染后的对象用于显示在显示部件上。
在一些实施例中,视频处理器,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频处理中的至少一种,可得到直接在终端200上显示或播放的信号。
在一些实施例中,音频处理器,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理中的至少一种,得到可以在扬声器中播放的声音信号。
在一些实施例中,用户可在显示部件260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。
在一些实施例中,“显示界面”,是应用程序或操作***与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。
在一些实施例中,用户接口280,为可用于接收控制输入的接口(如:对端设备本体上的实体按键,或其他等)。
在一些实施例中,对端设备的***可以包括内核(Kernel)、命令解析器(shell)、文件***和应用程序。内核、shell和文件***一起组成了基本的操作***结构,它们让用户可以管理文件、运行程序并使用***。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(IPC)。内核启动后,再加载Shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
在一些实施例中,本申请实施例中还可以包括控制装置100,控制装置100被配置为控制如图2A所示的终端设备200,其可接收用户输入的操作指令,且将操作指令转换为终端设备200可识别和响应的指令,起着用户与终端设备200之间交互的中介作用。
控制装置100可以是遥控器100A,包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制终端设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制终端设备200。
控制装置100也可以是智能设备,如移动终端100B、平板电脑、计算机、笔记本电脑等。例如,使用在智能设备上运行的应用程序控制终端设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,通过直观的用户界面(UI)为用户提供各种控制。
图2B中示例性示出了控制装置100的配置框图。如图2B所示,控制装置100可以包括控制器110、存储器120、通信器130、用户输入接口140、输出接口150、供电电源160。应理解,图2B仅是一种示例,控制装置100可以包括相比图2B中更多或者更好的组件,本申请对此不作具体限定。
控制器110包括随机存取存储器(RAM)111、只读存储器(ROM)112、处理器113、通信接口以及通信总线。控制器110用于控制控制装置100的运行和操作,以及内部各部件之间的通信协作、外部和内部的数据处理功能。
示例性的,当检测到用户按压在遥控器100A上布置的按键的交互或触摸在遥控器100A上布置的触摸面板的交互时,控制器110可控制产生与检测到的交互相应的信号,并将该信号发送到终端设备200。
存储器120,用于在控制器110的控制下存储驱动和控制控制装置100的各种运行程序、数据和应用。
通信器130在控制器110的控制下,实现与终端设备200之间控制信号和数据信号的通信。如:控制装置100经由通信器130将控制信号(例如触摸信号或按钮信号)发送至终端设备200上,控制装置100可经由通信器130接收由终端设备200发送的信号。通信器130可以包括红外信号接口131和射频信号接口132。
用户输入接口140,可包括麦克风141、触摸板142、传感器143、按键144等中至少一者,从而用户可以通过语音、触摸、手势、按压等将关于控制终端设备200的用户指令输入到控制装置100。
输出接口150,通过将用户输入接口140接收的用户指令输出至终端设备200,或者,输出由终端设备200接收的图像或语音信号。这里,输出接口150可以包括LED接口151、产生振动的振动接口152、输出声音的声音输出接口153和输出图像的显示器154等。
供电电源160,用于在控制器110的控制下为控制装置100各元件提供运行电力支持。
参见图2C所示,示例性示出了终端设备操作***的架构配置框图。该操作***架构从上到下依次是应用层、中间件层和内核层。
应用层,***内置的应用程序以及非***级的应用程序都是属于应用层。负责与用户进行直接交互。应用层可包括多个应用程序,如设置应用程序、媒体中心应用程序等。
中间件层,可以提供一些标准化的接口,以支持各种环境和***的操作。例如,中间件层可以实现为与数据广播相关的中间件的多媒体和超媒体信息编码专家组(MHEG)等功能。
内核层,提供核心***服务,例如,基于Linux操作***的内核。
内核层也同时提供***软件和硬件之间的通信,为各种硬件提供设备驱动服务。
不同终端的硬件配置和软件结构会有所不同,因此上述图2A和图2B均是示例性说明。
为了便于理解本申请的方案,下面首先以一个具体的实施例对本申请提出的视频循环播放的处理方法进行说明,参见图3,提供了一种视频循环播放的处理方法的流程示意图。
301,视频播放器获取多媒体数据帧,多媒体数据帧属于待循环的视频流中的一个数据帧。
作为一种举例,终端设备会响应于用户在视频应用的显示界面中的操作,确定待循环的视频流的起始点、结束点和循环次数,并将待循环的视频流的起始点、结束点和循环次数发送给视频应用。视频应用会进一步通过设定接口将待循环的视频流的起始点、结束点和循环次数,以及将待循环的视频流的片源地址发送到视频播放器。其中,设定接口用于实现上层的视频应用与底层的视频播放器之间的数据传输。
视频播放器可以进一步根据待循环的视频流的起始点、结束点以及待循环的视频流的片源地址从网络中下载待循环的视频流,并且下载的待循环的视频流的多媒体数据帧。示例性地,视频播放器可以通过超文本传输协议(Hyper Text Transport Protocol,HTTP)、基于HTTP的流媒体网络传输(HTTP Live Streaming,HLS)协议或者文本描述符(File Description,FD)协议等从网络上下载待循环的视频流或者从本地存储器中读取待循环的视频流,并将待循环的视频流存储在缓冲区。其中,多媒体数据可以包括视频数据、音频数据和字幕数据。
302,视频播放器对多媒体数据帧进行解封装得到第一多媒体数据,将所述第一多媒体数据存储到第一缓存队列中。
需要说明的是,第一缓存队列中用于存储对多媒体数据帧解封装后得到的多媒体数据。解封装后的多媒体数据可以包括音频数据、视频数据或者字幕数据中的一项或者多项。作为一种举例,解封装后的多媒体数据包括不同的数据类型时,属于不同数据类型的数据可以缓存在不同的缓存队列中。比如,解封装后的音频数据缓存在音频缓存队列,解封装后的视频数据缓存在视频缓存队列,解封装后的字幕数据缓存在字幕缓存队列。上述提及的第一缓存队列可以包括第一音频缓存队列、第一视频缓存队列或者第一字幕缓存队列。
303,在对第一多媒体数据进行解码之前,视频播放器确定第一多媒体数据属于待循环的视频流的结束点且待循环的视频流的循环次数未达到设定次数时,启动重新下载待循环的视频流。
在一些实施例中,视频播放器可以根据来自视频应用的带循环的视频流的结束点对应的多媒体数据的时间戳,并与第一多媒体数据的时间戳进行对比,若两个时间戳相同,则可以确定第一多媒体数据为待循环的视频流的结束点。
304,视频播放器从第一缓存队列获取第一多媒体数据,并对获取的第一多媒体数据进行解码,将解码后的第一多媒体数据存储到第二缓存队列中。
其中,第二缓存队列用于存储解码后的多媒体数据,解码后的多媒体数据可以包括音频数据、视频数据或者字幕数据中的一项或者多项。作为一种举例,解码后的多媒体数据包括不同的数据类型时,属于不同数据类型的数据可以缓存在不同的缓存队列中。比如,解码后的音频数据缓存在第二音频缓存队列,解码后的视频数据缓存在第二视频缓存队列,解码后的字幕数据缓存在字幕缓存队列。上述提及的第二缓存队列可以包括第二音频缓存队列、第二视频缓存队列或者第二字幕缓存队列。
需要说明的是,视频播放器在送第一缓存队列中获取第一多媒体数据之后,可以将第一缓存队列中的第一多媒体数据删除。
305,视频播放器从所述第二缓存队列中获取所述解码后的第一多媒体数据,将所述解码后的第一多媒体数据进行渲染。
一般来说,下载、解封装及解码的速率高于播放的速度,从而不会出现卡顿,因此,视频播放器在执行步骤304与步骤305之间可以存在一定的时间差。比如,待循环的视频流中多媒体数据的渲染操作,晚于待循环的视频流中多媒体数据下载以及解封装操作。例如,渲染到第n个多媒体数据帧时,而下载的多媒体数据帧是第n+m个。
另外,需要说明的是,视频播放器在从第二缓存队列中提取第一多媒体数据之后,还可以将第二缓存队列中存储的第一多媒体数据删除,避免第二缓存队列中存储的已经使用的数据较多,导致资源浪费。
本申请实施例提出的视频循环播放的处理方法是:建立用于在上层的视频应用和底层的视频播放器之间传输数据的设定接口,视频应用通过该设定接口将待循环的视频流的起始点、结束点和设定的循环次数发送给视频播放器。后续将设定的循环次数简称为设定次数。视频播放器对现有的循环播放的流程进行了相应的修改,现有的循环播放的流程可以参见图1所示的流程图。在本申请中,视频播放器并不是在待循环的视频流播放完成后再通知视频应用待循环的视频流播放完成,然后由视频应用将再次启动下载、播放待循环的视频流的指令下发到视频播放器。而是直接根据通过设定接口接收到的待循环的视频流的起始点、结束点以及设定次数,在本次播放还没有结束之前,就启动重新下载下一次所要播放的待循环的视频流,实现无缝循环播放。比如,视频播放器确定已经下载到待循环的视频流的结束点的多媒体数据帧时,则不需要确定待循环的视频流的结束点的多媒体数据帧之前的多媒体数据帧有没有播放完成,也不需要确定待循环的视频流的结束点的多媒体数据帧有没有播放,可以直接启动重新下载待循环的视频流。
下面,以具体的场景为例,对本申请提出的视频循环播放的处理方法进行说明。
场景一:整段视频整体循环的场景。
在本场景下,待循环的视频流为整段视频,也就是说上述实施例中提及的待循环的视频流的起始点为整段视频的片头、待循环的视频流的结束点为整段视频的片尾。为了便于描述,将本场景下需要整段循环的视频称为视频A。
在一些实施例中,在播放视频A的过程中,终端设备可以响应于用户在视频应用的显示界面中的操作确定循环播放视频A。例如,在视频应用在视频A的播放过程中可以提供如图4A所示的显示界面,图4A的显示界面中包括循环播放的选项401。终端设备可以响应于用户在如图4A所示的显示界面中对选项401的触控或者遥控的操作,确定用户需要循环播放视频A,并可以进一步将循环播放视频A的指令传输到视频应用。视频应用接收到该指令后可以在显示界面中展示循环类型的选项,例如,可以参见图4B所示的显示界面。其中,循环类型可以分为整体循环和部分循环。在本场景下,以视频A进行整体循环为例,终端设备会响应于用户在如图4B所示的显示界面中选择循环类型为整体循环的操作,确定用户需要整体循环播放视频A,并可以将整体循环播放视频A的指令传输到视频应用。需要说明的是,用户在如图4B所示的显示界面中选择循环类型为整体循环的操作可以是触控操作也可以是遥控操作。视频应用接收到该指令后可以在显示界面中进一步展示选择设定次数的选项,例如,可以参见图4C所示的显示界面。在一些实施例中,终端设备响应于用户在如图4C所示的显示界面中选择设定次数的操作确定用户要循环播放视频A的次数。其中,用户选择设定次数的操作可以在如图4C的显示界面中将设定次数输入到对应的选择框中,也可以在如图4C的显示界面中对设定次数后的上翻和下翻选项进行操作,其中上翻可以是将设定次数加一,也可以是将设定次数减一,本申请实施例在此不做具体限定。终端设备响应于用户的上述操作确定设定次数后可以将设定次数传输到视频应用,视频应用还可以进一步将循环类型和设定次数通过设定接口发送到视频播放器。视频播放器在通过设定接口接收到循环类型及设定次数后,确定当前播放的视频A需要循环播放,并确定解封装后的视频A的多媒体数据中的第一多媒体数据属于视频A的片尾,并进一步确定当前的完成的循环次数未达到设定次数时,启动重新下载视频A,也就是从片头开始重新下载视频A。由于一般情况下,下载、解封装和解码的速率要高于视频渲染的速度,所以基于上述方案,视频播放器在确定解封装后的第一多媒体数据属于视频A的片尾时,就启动从视频A的片头开始重新下载视频A。可以保证在渲染视频A的片尾的多媒体数据这一动作还没有完成时,已经完成了下一次要播放的视频A的片头的多媒体数据的下载。这样可以进一步确保视频A的片尾的多媒体数据渲染完成时,可以直接渲染视频A的片头的多媒体数据,不会出现卡顿的现象。需要说明的是,本实施例中提供的图4A-图4C仅作为一种示例,还可以采用替他的方法设定视频A的循环类型及循环次数。
在另一些实施例中,如果用户在启动播放视频A之前设置循环类型和循环次数。在这种情况下,视频应用会在视频A启动播放之前就将循环类型和循环次数发送到视频播放器。视频播放器在视频A启动下载后,就会判定解封装后的多媒体数据是否属于视频A的片尾并且会判定循环次数是否达到设定次数,若解封装后的多媒体数据属于视频A的片尾且循环次数没达到设定次数,则视频播放器可以从视频A的片头开始启动重新下载视频A。在一些实施例中,解封装后的多媒体数据可以存储在第一缓存队列中,视频播放器可以从第一缓存队列中获取多媒体数据进行判定是否属于视频A的片尾,并可以从第一缓存队列中获取多媒体数据进行解码处理。
在上述两个实施例中,视频播放器在确定第一缓存队列中的多媒体数据属于视频A的片尾并且确定循环次数还没达到设定次数之后,还可以进一步将片头偏移量设置为0,这一步操作的目的是用于指示从片头开始下载视频A。其中,片头偏移量指的是当前的多媒体数据与属于视频A的片头的多媒体数据之间的偏移量。
在一些实施例中,视频播放器在对第一缓存队列中的多媒体数据进行解码处理后,可以将解码后的多媒体数据存储待第二缓存队列中。在一些实施例中,视频播放器对第二缓存队列中的某一解码后的多媒体数据进行渲染之前,可以首先判断该解码后的多媒体数据是否属于视频A的片头并且判断是否是首次渲染该解码后的多媒体数据。为了便于描述,后续将该解码后的多媒体数据称为解码后的第二多媒体数据。视频播放器若确定解码后的第二多媒体数据属于视频A的片头并且确定非首次渲染解码后的第二多媒体数据,则将解码后的第二多媒体数据中的视频数据的时间轴与解码后的第二多媒体数据中的音频数据的时间轴同步。作为一种举例,将解码后的第二多媒体数据中音频数据和视频数据的时间轴同步可以采用如下图5所示的方法:
501,视频播放器判断当前使用的主时间轴是否为视频数据的时间轴。
其中,主时间轴可以称为播放时间轴或者基准时间轴。如果主时间轴为视频数据的时间轴,主时间轴可以用于指示视频数据对应的时间,如视频数据的总时长、起始时间、终止时间以及当前播放时间等信息。也就是说,主时间轴就是视频播放的时间线,是线性递增的。同理,如果主时间轴为音频数据的时间轴,主时间轴可以用于指示音频数据对应的时间,如音频数据的总时长、起始时间、终止时间等信息。
若是,则执行步骤503。
若不是,则执行步骤502。
502,视频播放器将主时间轴切换为视频数据的时间轴。
503,视频播放器计算当前渲染的多媒体数据中的音频数据的延迟量。
在一些实施例中,音频数据的延迟量可以采用如下方式计算:用音频数据的时间轴减去视频数据的时间轴,将得到的差值多为音频数据的延迟量。例如,当前渲染的多媒体数据中的音频数据的时间轴为00:55s,而当前渲染的多媒体数据中的视频数据的时间轴为00:40s,则音频数据的延迟量为15ms。
504,视频播放器判断音频数据的延迟量是否大于0。
若音频数据的延迟量小于0,则可能是上一次播放过程中,视频数据全部播放完成,而音频数据没有全部播放完成,在第二缓存队列中还存在一些剩余的音频数据,所述剩余的音频数据与延迟量相对应。则执行步骤505。
若音频数据的延迟量大于0,则可能是上一次播放过程中,音频数据全部播放完成,而视频数据没有全部播放完成,在第二缓存队列中还存在一些剩余的视频数据,,则执行步骤507。
505,视频播放器计算剩余的音频数据的数据量。
在一些实施例中,可以采用如下方式进行计算:
剩余的音频数据的数据量=音频数据的延迟量的绝对值*每秒钟音频数据的数据量。
506,视频播放器丢弃剩余的音频数据的数据量。
507,视频播放器根据音频数据的延迟量确定第一时长,在第一时长内停止输出音频数据。
例如,当前渲染的多媒体数据中的音频数据的时间轴为00:55s,而当前渲染的多媒体数据中的视频数据的时间轴为00:40s,则音频数据的延迟量为15ms,则第一时长为15ms。当前使用的主时间轴为00:40s,则在00:40s开始的15ms内停止输出音频数据。在主时间轴达到00:55s时,开始同步输出音频数据和视频数据。
508,音频数据与视频数据的时间轴同步完成,将主时间轴切换回原来使用的时间轴。
若在执行步骤502之前,视频播放器是以音频数据的时间轴作为主时间轴,则将主时间轴由视频数据的时间轴切换为音频数据的时间轴。
若在执行步骤502之前,视频播放器是以视频数据的时间轴作为主时间轴,则继续以视频数据的时间轴作为主时间轴。
需要说明的是,将第二多媒体数据中的音频数据和视频数据的时间轴进行校正还可以采用其他的方法,图5仅作为一种示例。
下面,将以一个具体的实施例对本场景下的视频循环播放的处理方法进行说明。具体可以参见图6所示的流程图,图6所示的流程图是以在视频A启动播放之前设置设定次数和循环类型为例。
601,视频播放器启动下载视频A。
具体地,视频应用在确定播放视频A时,会将视频A的片源地址发送到视频播放器,视频播放器可以根据视频A的片源地址从网络上下载视频A。
602,视频播放器对视频A进行解封装得到视频A的多媒体数据。
在一些实施例中,视频播放器在对视频A进行解封装处理之后,可以将解封装后得到的多媒体数据存储在第一缓存队列中。
603,视频播放器判断解封装后的多媒体数据是否属于视频A的片尾。
若属于,则执行步骤604。
若不属于,则执行步骤607。
604,视频播放器确定是否需要循环播放视频A。
若需要,则执行步骤605。
若不需要,则执行步骤607。
605,视频播放器将片头偏移量设置为0。
其中,片头偏移量指的是当前的多媒体数据与片头的多媒体数据之间的偏移量。
606,视频播放器启动重新下载视频A。
视频播放器根据片头偏移量为0,从片头开始下载视频A。
下载完成后继续执行步骤602-步骤603。
607,视频播放器获取第一缓存队列中的多媒体数据,并对多媒体数据进行解码操作。
在一些实施例中,视频播放器在对第一缓存队列中的多媒体数据进行解码操作之后可以将解码后的多媒体数据存储到第二缓存队列中。
608,视频播放器判断解码后的多媒体数据是否属于视频A的片头。
若属于,将属于视频A的片头的解码后的多媒体数据称为解码后的第二多媒体数据,继续执行步骤609。
若不属于,执行步骤611。
609,视频播放器判断是否是首次渲染解码后的第二多媒体数据。
在一些实施例中,视频播放器中可以包括计数器,视频播放器在开始渲染属于视频A的片头多媒体数据时,启动计数器,并在渲染到属于视频A的片尾的多媒体数据时,将计数器加一。所以,如果是首次渲染解码后的第二多媒体数据,则计数器显示为0。视频播放器可以根据计数器显示的数字确定是否为首次渲染解码后的第二多媒体数据。
若是首次,则执行步骤610。
若不是首次,则执行步骤611。
610,视频播放器将解码后的第二多媒体数据中的音频数据和视频数据的时间轴同步。
作为一种举例,可以采用图5所示的方式对解码后的第二多媒体数据中的音频数据和视频数据的时间轴同步。
611,视频播放器将第二缓存队列中的多媒体数据进行渲染。
612,视频播放器断是否达到设定次数。
若达到设定次数,则结束循环,退出播放。
若没有达到设定次数,则继续执行步骤608。
场景二:部分循环的场景。
在本场景下,待循环的视频流为一段视频中的某一部分,为了便于描述,将本场景下的待循环的视频称为视频B,将待循环的视频流的起始点称为循环起始点,将待循环的视频流的结束点称为循环结束点。
在一些实施例中,在播放视频的过程中终端设备可以响应于用户在视频应用的显示界面中的操作确定循环播放视频。例如,在视频应用在视频的播放过程中可以提供如场景一中的图4A所示的显示界面,图4A的显示界面中包括循环播放的选项401。终端设备可以响应于用户在如图4A所示的显示界面中对选项401的触控或者遥控的操作,确定用户需要循环播放视频,并可以将循环播放视频的指令传输到视频应用。视频应用接收到该指令后可以在显示界面中展示选择循环类型的选项,例如,可以参见场景一中的图4B所示的显示界面。其中,循环类型可以分为整体循环和部分循环,在本场景下,以视频将进行部分循环为例,循环播放的部分为视频B。在一些实施例中,终端设备会响应于用户在如图4B所示的显示界面中选择循环类型为部分循环的操作,将部分循环视频的执行传输到视频应用,视频应用在接收到该指令后可以在显示界面中展示设置循环起始点、设置循环结束点和设置设定次数的操作。例如,可以参见图7A所示的显示界面。其中,设置设定次数的操作可以参见场景一中提供的方式,在此不再赘述。图7A所示的显示界面中还包括设置循环起始点的选项,终端设备响应于用户对设置循环起始点的选项的触控或者遥控操作将用户要设置循环起始点的指令发送给视频应用,视频应用接收到该指令之后可以在显示界面中展示可供选择的循环起始点,例如,可以参见如图7B所示的界面,在图7B所示的界面中,视频下方的进度条呈虚化状态,表示用户可以点击进度条的任一位置作为循环起始点。
在一些实施例中,终端设备响应于用户在如图7B所示的显示界面中的操作确定循环起始点,并将循环起始点发送到视频应用。在一些实施例中,图7A所示的显示界面中包括设置循环结束点的选项,终端设备还可以响应于用户对设置循环结束点的选项的触控或者遥控操作将用户要设置循环结束点的指令发送给视频应用,视频应用接收到该指令之后可以在显示界面中展示可供选择的循环结束点,例如,可以参见如图7C所示的界面,在图7C所示的界面中,视频下方的进度条呈虚化状态,表示用户可以点击进度条的任一位置作为循环结束点。在一些实施例中,终端设备响应于用户在如图7C所示的显示界面中的操作确定循环结束点,并将循环结束点发送到视频应用。视频应用接收到设定次数,循环起始点、循环结束点之后,可以通过设定接口将设定次数,循环起始点、循环结束点发送到视频播放器。视频播放器在接收到设定次数,循环起始点、循环结束点之后,根据循环起始点和循环结束点以及包含视频B的完整视频的片源地址从网络上下载视频B,后续,为了便于描述,将包含视频B的完整视频称为视频C。视频播放器可以进一步将下载的视频B的进行解封装处理得到视频B的多媒体数据,并可以将视频B的多媒体数据存储在第一缓存队列中。视频播放器在根据来自视频应用的循环结束点确定解封装后的多媒体数据中的第一多媒体数据属于循环结束点时,启动重新下载视频B。
作为一种可选的方式,视频播放器在确定解封装后的多媒体数据中的第一多媒体数据属于循环结束点之后,并且在启动重新下载视频B之前,还可以将起始偏移量设置为0,该操作用于指示从循环起始点开始下载视频B。其中,起始偏移量指的是当前的多媒体数据与循环起始点的多媒体数据之前的偏移量。
另外,需要说明的是,由于循环起始点不一定是解码的起始帧,比如,循环起始点对应的时间为3:00,而起始帧对应的时间为2:58,在这种情况下,如果从3:00开始下载视频B会导致视频播放器无法对3:00的多媒体数据进行解码,所以视频播放器需要从2:58开始下载视频B。也就是说视频播放器在设置起始偏移量之后,还需要确定距离循环起始点最近的起始帧,并设置最近的起始帧的偏移量为0,从距离循环起始点最近的起始帧开始下载。
作为一种举例,确定起始帧可以采用图8所示的方法。需要说明的是,视频播放器在第一次下载视频B的时候无法获知距离循环起始点最近的起始帧,所以第一次下载视频B的时候需要将包括循环起始点的数据包都下载下来,并在对该数据包进行解封装处理后确定距离循环起始点最近的起始帧。如图8所示:
801,视频播放器确定循环起始点。
802,视频播放器下载包含循环起始点数据包。
具体地,视频播放器在根据片源地址以及循环起始点和循环结束点进行下载时,可以下载包含着循环起始点的数据包。例如,循环起始点对应的时间为3:00,包含着循环起始点的数据包为2:00-3:30,则对该数据包的数据全部进行下载。为了便于描述,后续将包含着循环起始点的数据包称为数据包P。
803,视频播放器对数据包P进行解封装处理。
804,视频播放器记录数据包P中包含的距离循环起始点最近的起始帧。
805,在视频播放器启动重新下载视频B之前,首先设置起始偏移量为0,再进一步设置最近的起始帧的偏移量为0。
806,视频播放器从距离循环起始点最近的起始帧开始下载视频B。
在一些实施例中,视频播放器下载视频B并对视频B进行解封装完成后,可以将解封装后得到的视频B的多媒体数据存储在第一缓存队列中。视频播放器在对第一缓存队列中的多媒体数据进行解码处理后,可以将解码后的多媒体数据存储待第二缓存队列中。在一些实施例中,视频播放器对第二缓存队列中的某一个解码后的多媒体数据进行渲染之前,还可以判断该解码后的多媒体数据是否属于循环起始点并且判定是否是首次渲染该解码后的多媒体数据。为了便于描述,将该解码后的多媒体数据称为解码后的第二多媒体数据。视频播放器若确定解码后的第二多媒体数据属于循环起始点并且确定不是首次渲染解码后的第二多媒体数据,则将解码后的第二多媒体数据中从起始帧到循环起始点的数据丢弃,并将解码后的第二多媒体数据中的视频数据的时间轴与解码后的第二多媒体数据中的音频数据的时间轴同步。作为一种举例,将解码后的第二多媒体数据中音频数据和视频数据的时间轴同步可以采用场景一中图5所示的方法,在此不再赘述。
下面,将以一个具体的实施例对本场景下的视频循环播放的处理方法进行说明。具体可以参见图9所示的流程图。
901,视频播放器启动播放视频C。
其中,视频C指的是包含视频B的完整的视频。
902,视频播放器中下载视频B。
具体地,在视频播放器播放视频C的过程中,终端设备响应于用户的操作将循环播放视频B的指令发送给视频应用,视频应用将循环起始点、循环结束点和设定次数发送到视频播放器。视频播放器在接收到循环起始点、循环结束点和设定次数后启动下载视频B。
903,视频播放器的对视频B进行解封装得到视频B的多媒体数据。
作为一种可选的方式,视频播放器在对视频B进行解封装处理之后,可以将解封装后得到的多媒体数据存储在第一缓存队列中。
904,视频播放器判断解封装后的多媒体数据是否属于循环结束点。
若属于,则执行步骤905。
若不属于,则执行步骤908。
905,视频播放器判断是否需要循环播放视频B。
若需要,则执行步骤909。
若不需要,则执行步骤908。
906,视频播放器将起始偏移量设置为0,并将最近的起始帧的偏移量设置为0。
其中,起始偏移量指的是当前的多媒体数据与循环起始点的多媒体数据之间的位移;最近的起始帧的偏移量指的是当前的多媒体数据与距离循环起始点最近的起始帧之间的偏移量。
907,视频播放器启动重新下载视频B。
视频播放器根据最近的起始帧的偏移量为0,从距离循环起始点最近的起始帧开始启动下载视频B。
下载完成后继续执行步骤903-步骤904。
908,视频播放器获取第一缓存队列中的多媒体数据,并对多媒体数据进行解码操作。
在一些实施例中,视频播放器在对第一缓存队列中的多媒体数据进行解码操作之后可以将解码后的多媒体数据存储到第二缓存队列中。
909,视频播放器判断解码后的多媒体数据是否属于循环起始点。
若属于,将属于循环起始点的解码后的多媒体数据称为解码后的第二多媒体数据,继续执行步骤910。
若不属于,执行步骤912。
910,视频播放器判断是否是首次渲染解码后的第二多媒体数据。
若是首次,则执行步骤911。
若不是首次,则执行步骤913。
911,视频播放器将解码后的第二多媒体数据中的音频数据和视频数据的时间轴同步。
作为一种举例,可以采用场景一中图5所示的方式对解码后的第二多媒体数据中的音频数据和视频数据的时间轴同步。
912,视频播放器判断解码后的多媒体数据是否属于距离循环起始点最近的起始帧与循环起始点之间的多媒体数据。
若属于,则将属于距离循环起始点最近的起始帧与循环起始点之间的多媒体数据丢弃。
若不属于,则执行步骤913。
913,视频播放器将第二缓存队列中的多媒体数据进行渲染。
914,视频播放器判断是否达到设定次数。
若达到设定次数,则结束循环,删除第一缓存队列中剩余的视频B的多媒体数据并删除第二缓存队列的解码后的视频B的多媒体数据,继续播放视频C。例如,视频C的时长为0-10:00,视频B为其中的3:00-5:00,在循环结束后,删除第一缓存队列中剩余的视频B的多媒体数据并删除第二缓存队列的解码后的视频B的多媒体数据,并从6:00时开始下载视频C。
若没有达到设定次数,则继续执行步骤909。
基于与上述方法的同一构思,如图10所示,提供了一种显示设备1000。显示设备1000能够执行上述方法中的各个步骤,为了避免重复,此处不再详述。显示设备1000包括:输入接口1001、控制器1002、显示屏1003。
输入接口1001,用于接收多媒体数据帧,所述多媒体数据帧属于待循环的视频流中的一个数据帧;
控制器1002,用于对所述多媒体数据帧进行解封装得到第一多媒体数据,将所述第一多媒体数据存储到第一缓存队列中;
所述控制器1002,还用于在对所述第一多媒体数据进行解码之前,确定所述第一多媒体数据属于所述待循环的视频流的结束点且待循环的视频流的循环次数未达到设定次数时,启动重新下载所述待循环的视频流并缓存到所述第一缓存队列;
所述控制器1002,还用于从所述第一缓存队列获取所述第一多媒体数据,并对获取的所述第一多媒体数据进行解码,将所述解码后的第一多媒体数据存储到第二缓存队列中;
所述控制器1002,还用于从所述第二缓存队列中获取所述解码后的第一多媒体数据,将所述解码后的第一多媒体数据渲染至显示屏1003。
所述显示屏1003,用于显示所述第一多媒体数据。
在一些实施例中,在所述输入接口1001接收所述多媒体数据帧之前,所述控制器1002,还用于:
响应于用户的控制操作,确定所述待循环的视频流的结束点和所述设定次数。
在一些实施例中,所述控制器1002还用于响应于所述控制操作,确定所述待循环的视频流的起始点,所述控制器1002,在启动重新下载所述待循环的视频流时,具体用于:
根据所述待循环的视频流的起始点和所述待循环的视频流的结束点,从待循环的视频流的起始点重新下载所述待循环的视频流。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制器1002还用于:
在当前渲染多媒体数据使用的主时间轴为视频时间轴时,确定所述当前渲染多媒体数据中的视频时间轴大于所述当前渲染多媒体数据中的音频时间轴,确定所述当前渲染多媒体数据中的音频数据的延迟量,将所述当前渲染多媒体数据中的音频数据的延迟量对应的所述当前渲染多媒体数据中的音频数据从所述第二缓存队列中删除。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制器1002还用于:
在当前渲染多媒体数据使用的主时间轴为视频时间轴时,确定所述当前渲染多媒体数据中的音频时间轴大于所述当前渲染多媒体数据中的视频时间轴,确定所述当前渲染多媒体数据中的视频数据的延迟量;根据所述当前渲染多媒体数据中的视频数据的延迟量确定第一时长,在所述第一时长内,停止输出音频数据。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制器1002还用于:
在当前渲染多媒体数据使用的主时间轴为音频时间轴时,将当前渲染多媒体数据使用的主时间轴切换为视频时间轴,确定所述当前渲染多媒体数据中的视频时间轴大于所述当前渲染多媒体数据中的音频时间轴,确定所述当前渲染多媒体数据中的音频数据的延迟量,将所述当前渲染多媒体数据中的音频数据的延迟量对应的所述当前渲染多媒体数据中的音频数据从所述第二缓存队列中删除。
在一些实施例中,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制器1002还用于:
在当前渲染多媒体数据使用的主时间轴为音频时间轴时,将当前渲染多媒体数据使用的主时间轴切换为视频时间轴,确定所述当前渲染多媒体数据中的音频时间轴大于所述当前渲染多媒体数据中的视频时间轴,确定所述当前渲染多媒体数据中的视频数据的延迟量;根据所述当前渲染多媒体数据中的视频数据的延迟量确定第一时长,在所述第一时长内,停止输出音频数据。
基于与上述方法的同一构思,如图11所示,提供了一种视频循环播放的处理装置1100。装置1100能够执行上述方法中的各个步骤,为了避免重复,此处不再详述。装置1100包括:通信单元1101、处理单元1102、显示单元1103。
输入单元1101,用于接收多媒体数据帧,所述多媒体数据帧属于待循环的视频流中的一个数据帧;
控制单元1102,用于对所述多媒体数据帧进行解封装得到第一多媒体数据,将所述第一多媒体数据存储到第一缓存队列中;
所述控制单元1102,还用于在对所述第一多媒体数据进行解码之前,确定所述第一多媒体数据属于所述待循环的视频流的结束点且待循环的视频流的循环次数未达到设定次数时,启动重新下载所述待循环的视频流并缓存到所述第一缓存队列;
所述控制单元1102,还用于从所述第一缓存队列获取所述第一多媒体数据,并对获取的所述第一多媒体数据进行解码,将所述解码后的第一多媒体数据存储到第二缓存队列中;
所述控制单元1102,还用于从所述第二缓存队列中获取所述解码后的第一多媒体数据,将所述解码后的第一多媒体数据渲染至显示单元1103。
所述显示单元1103,用于显示所述第一多媒体数据。
本申请实施例还提供一种计算机可存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述任一方法的步骤。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
虽然以上描述了本申请的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本申请的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本申请的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本申请的保护范围。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种显示设备,其特征在于,包括:
输入接口,用于接收多媒体数据帧,所述多媒体数据帧属于待循环的视频流中的一个数据帧;
控制器,被配置为执行:
对所述多媒体数据帧进行解封装得到第一多媒体数据,将所述第一多媒体数据存储到第一缓存队列中;在对所述第一多媒体数据进行解码之前,确定所述第一多媒体数据属于所述待循环的视频流的结束点且待循环的视频流的循环次数未达到设定次数时,启动重新下载所述待循环的视频流并缓存到所述第一缓存队列;从所述第一缓存队列获取所述第一多媒体数据,并对获取的所述第一多媒体数据进行解码,将所述解码后的第一多媒体数据存储到第二缓存队列中;从所述第二缓存队列中获取所述解码后的第一多媒体数据,将所述解码后的第一多媒体数据渲染至显示屏;
所述显示屏,用于显示所述第一多媒体数据。
2.如权利要求1所述的显示设备,其特征在于,在所述输入接口接收所述多媒体数据帧之前,所述控制器,还用于:
响应于用户的控制操作,确定所述待循环的视频流的结束点和所述设定次数。
3.如权利要求1或2所述的显示设备,其特征在于,所述控制器还用于响应于所述控制操作,确定所述待循环的视频流的起始点,所述控制器,在启动重新下载所述待循环的视频流时,具体用于:
根据所述待循环的视频流的起始点和所述待循环的视频流的结束点,从待循环的视频流的起始点重新下载所述待循环的视频流。
4.如权利要求1所述的显示设备,其特征在于,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制器还用于:
在当前渲染多媒体数据使用的主时间轴为视频时间轴时,确定所述当前渲染多媒体数据中的视频时间轴大于所述当前渲染多媒体数据中的音频时间轴,确定所述当前渲染多媒体数据中的音频数据的延迟量,将所述当前渲染多媒体数据中的音频数据的延迟量对应的所述当前渲染多媒体数据中的音频数据从所述第二缓存队列中删除。
5.如权利要求1所述的显示设备,其特征在于,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制器还用于:
在当前渲染多媒体数据使用的主时间轴为视频时间轴时,确定所述当前渲染多媒体数据中的音频时间轴大于所述当前渲染多媒体数据中的视频时间轴,确定所述当前渲染多媒体数据中的视频数据的延迟量;根据所述当前渲染多媒体数据中的视频数据的延迟量确定第一时长,在所述第一时长内,停止输出音频数据。
6.如权利要求1、4或5所述的显示设备,其特征在于,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制器还用于:
在当前渲染多媒体数据使用的主时间轴为音频时间轴时,将当前渲染多媒体数据使用的主时间轴切换为视频时间轴,确定所述当前渲染多媒体数据中的视频时间轴大于所述当前渲染多媒体数据中的音频时间轴,确定所述当前渲染多媒体数据中的音频数据的延迟量,将所述当前渲染多媒体数据中的音频数据的延迟量对应的所述当前渲染多媒体数据中的音频数据从所述第二缓存队列中删除。
7.如权利要求1、4或5所述的显示设备,其特征在于,所述第二缓存队列中还包括解码后的第二多媒体数据,所述解码后的第二多媒体数据包括音频数据和视频数据,所述解码后的第二多媒体数据属于所述待循环的视频流的起始点,所述控制器还用于:
在当前渲染多媒体数据使用的主时间轴为音频时间轴时,将当前渲染多媒体数据使用的主时间轴切换为视频时间轴,确定所述当前渲染多媒体数据中的音频时间轴大于所述当前渲染多媒体数据中的视频时间轴,确定所述当前渲染多媒体数据中的视频数据的延迟量;根据所述当前渲染多媒体数据中的视频数据的延迟量确定第一时长,在所述第一时长内,停止输出音频数据。
8.一种视频循环播放的处理方法,其特征在于,包括:
获取多媒体数据帧,所述多媒体数据帧属于待循环的视频流中的一个数据帧;
对所述多媒体数据帧进行解封装得到第一多媒体数据,将所述第一多媒体数据存储到第一缓存队列中;
在对所述第一多媒体数据进行解码之前,确定所述第一多媒体数据属于所述待循环的视频流的结束点且待循环的视频流的循环次数未达到设定次数时,启动重新下载所述待循环的视频流并缓存到所述第一缓存队列;
从所述第一缓存队列获取所述第一多媒体数据,并对获取的所述第一多媒体数据进行解码,将所述解码后的第一多媒体数据存储到第二缓存队列中;
从所述第二缓存队列中获取所述解码后的第一多媒体数据,将所述解码后的第一多媒体数据进行渲染。
9.如权利要求8所述的方法,其特征在于,还包括:
在获取所述多媒体数据帧之前,通过应用程序接口接收上层应用发送的所述待循环的视频流的结束点和所述设定次数。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被计算机调用时,使所述计算机执行如权利要求8-9任一项所述的方法。
CN202110374967.6A 2021-04-08 2021-04-08 一种视频循环播放的处理方法及装置 Pending CN115209208A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110374967.6A CN115209208A (zh) 2021-04-08 2021-04-08 一种视频循环播放的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110374967.6A CN115209208A (zh) 2021-04-08 2021-04-08 一种视频循环播放的处理方法及装置

Publications (1)

Publication Number Publication Date
CN115209208A true CN115209208A (zh) 2022-10-18

Family

ID=83571067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110374967.6A Pending CN115209208A (zh) 2021-04-08 2021-04-08 一种视频循环播放的处理方法及装置

Country Status (1)

Country Link
CN (1) CN115209208A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116193185A (zh) * 2022-12-26 2023-05-30 北京仁光科技有限公司 对视频流进行多窗口播放的方法、设备、装置和介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1472960A (zh) * 2003-06-13 2004-02-04 天津大学 对循环播放的传输流进行控制和调整的方法
CN102084652A (zh) * 2008-06-04 2011-06-01 高通股份有限公司 用于选择性地缓存突发流传输的方法和装置
CN102421034A (zh) * 2011-12-19 2012-04-18 中山爱科数字科技股份有限公司 一种视频直播或视频监控所形成的视频播放方法
CN102724584A (zh) * 2012-06-18 2012-10-10 Tcl集团股份有限公司 网络视频在线播放方法、视频在线播放装置及智能电视
CN105187895A (zh) * 2015-09-17 2015-12-23 北京暴风科技股份有限公司 针对移动平台硬件加速播放视频的数据缓存方法及***
WO2017059450A1 (en) * 2015-10-02 2017-04-06 Twitter, Inc. Gapless video looping
WO2018195461A1 (en) * 2017-04-21 2018-10-25 Zenimax Media Inc. Player input motion compensation by anticipating motion vectors
CN109447048A (zh) * 2018-12-25 2019-03-08 苏州闪驰数控***集成有限公司 一种人工智能预警***

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1472960A (zh) * 2003-06-13 2004-02-04 天津大学 对循环播放的传输流进行控制和调整的方法
CN102084652A (zh) * 2008-06-04 2011-06-01 高通股份有限公司 用于选择性地缓存突发流传输的方法和装置
CN102421034A (zh) * 2011-12-19 2012-04-18 中山爱科数字科技股份有限公司 一种视频直播或视频监控所形成的视频播放方法
CN102724584A (zh) * 2012-06-18 2012-10-10 Tcl集团股份有限公司 网络视频在线播放方法、视频在线播放装置及智能电视
CN105187895A (zh) * 2015-09-17 2015-12-23 北京暴风科技股份有限公司 针对移动平台硬件加速播放视频的数据缓存方法及***
WO2017059450A1 (en) * 2015-10-02 2017-04-06 Twitter, Inc. Gapless video looping
WO2018195461A1 (en) * 2017-04-21 2018-10-25 Zenimax Media Inc. Player input motion compensation by anticipating motion vectors
CN109447048A (zh) * 2018-12-25 2019-03-08 苏州闪驰数控***集成有限公司 一种人工智能预警***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116193185A (zh) * 2022-12-26 2023-05-30 北京仁光科技有限公司 对视频流进行多窗口播放的方法、设备、装置和介质

Similar Documents

Publication Publication Date Title
CN111741372B (zh) 一种视频通话的投屏方法、显示设备及终端设备
WO2020098504A1 (zh) 一种视频切换的控制方法及显示设备
CN111601135B (zh) 一种音视频基本流同步注入的方法及显示设备
CN115244944A (zh) Url投屏方法和装置
CN112367543A (zh) 显示设备、移动终端、投屏方法及投屏***
CN112153447B (zh) 一种显示设备及音画同步控制方法
WO2021217435A1 (zh) 流媒体同步方法及显示设备
CN113507638A (zh) 显示设备及投屏方法
CN112153406A (zh) 一种直播数据生成方法、显示设备及服务器
CN111601142B (zh) 一种字幕的显示方法及显示设备
CN111935510B (zh) 一种双浏览器应用加载方法及显示设备
CN115209208A (zh) 一种视频循环播放的处理方法及装置
CN113473194B (zh) 一种智能设备及响应方法
CN114095769A (zh) 一种应用级播放器的直播低延迟处理方法及显示设备
CN111741314A (zh) 视频播放方法及显示设备
CN115379277B (zh) 一种基于iptv业务的vr全景视频播放方法和***
CN113596546B (zh) 一种多流节目的播放方法及显示设备
CN115623275A (zh) 一种字幕显示方法及显示设备
CN111343498B (zh) 一种静音控制方法、装置及智能电视
CN114040258A (zh) 数字电视节目由时移切换到录制的显示方法及显示设备
CN115119030A (zh) 一种字幕的处理方法及装置
CN111629250A (zh) 一种显示设备及视频播放方法
CN113453063B (zh) 一种资源播放方法及显示设备
CN115174991B (zh) 一种显示设备及视频播放方法
CN113873335B (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