CN115243077A - 音视频资源点播方法、装置、计算机设备及存储介质 - Google Patents

音视频资源点播方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN115243077A
CN115243077A CN202210859682.6A CN202210859682A CN115243077A CN 115243077 A CN115243077 A CN 115243077A CN 202210859682 A CN202210859682 A CN 202210859682A CN 115243077 A CN115243077 A CN 115243077A
Authority
CN
China
Prior art keywords
video
target audio
slice
audio
slicing
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
CN202210859682.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.)
Ping An Trust Co Ltd
Original Assignee
Ping An Trust 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 Ping An Trust Co Ltd filed Critical Ping An Trust Co Ltd
Priority to CN202210859682.6A priority Critical patent/CN115243077A/zh
Publication of CN115243077A publication Critical patent/CN115243077A/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio 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/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
    • 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/47202End-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 requesting content on demand, e.g. video on demand
    • 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/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists

Landscapes

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

Abstract

本申请提供了一种音视频点播方法、装置、计算机设备及存储介质,涉及音视频处理技术领域,服务器若接收到用户终端的目标音视频请求,会首先按照预设音视频切片策略对目标音视频对应的目标音视频播放时长数据进行切分,得到切片时长列表,然后将切片时长列表发送至用户终端,服务器若接收到用户终端根据切片时长列表发送的目标音视频流请求,则根据目标音视频流请求与切片时长列表,首先确定出所有目标音视频切片文件的发送顺序,然后按照发送顺序将所有目标音视频切片文件发送给用户终端,用户终端对所有目标音视频切片文件进行解码播放,能够较大概率使得目标音视频切片文件的数目与切片时长列表中的总的切片数目一致。

Description

音视频资源点播方法、装置、计算机设备及存储介质
技术领域
本申请涉及音视频处理技术领域,尤其涉及一种音视频资源点播方法、音视频资源点播装置、计算机设备及存储介质。
背景技术
现有的音视频点播方案中,先根据用户终端发送的请求确定音视频资源,然后根据音视频资源的播放时长和服务器预设的切片时长,对音视频资源进行等间隙切片,将得到的切片时长列表返回至用户终端。再从源站拉取音视频流并进行切片,得到切片文件,根据用户终端按照切片时长列表发送的切片文件请求,将相应的切片文件发送至用户终端。然而,实际的音视频流的切片文件对应的时长与预设的切片时长不一定一致,进而造成实际切片数目与已经返回给客户端的切片时长列表所描述的切片数目不一致。
发明内容
基于此,有必要针对上述技术问题,提供一种音视频资源点播方法,以解决音视频资源点播方案中存在的实际切片数目与已经返回给客户端的切片时长列表所描述的切片数目不一致的问题。
本申请实施例的第一方面提供了一种音视频资源点播方法,包括:
按照预设音视频切片策略对目标音视频播放时长数据进行切分,得到切片时长列表;
将所述切片时长列表发送至用户终端;
若接收到所述用户终端根据所述切片时长列表发送的目标音视频流请求,则根据所述目标音视频流请求与所述切片时长列表,确定出所有目标音视频切片文件的发送顺序;其中,所述目标音视频切片文件是指与所述切片时长列表中的切片时长一一对应的目标音视频流的切片文件;
按照所述发送顺序将所述所有目标音视频切片文件发送给用户终端进行播放。
本申请实施例的第二方面提供了一种音视频资源点播装置,包括:
切片模块:用于按照预设音视频切片策略对目标音视频播放时长数据进行切分,得到切片时长列表;
发送模块:用于将所述切片时长列表发送至用户终端;
确定模块:用于若接收到所述用户终端根据所述切片时长列表发送的目标音视频流请求,则根据所述目标音视频流请求与所述切片时长列表,确定出所有目标音视频切片文件的发送顺序;其中,所述目标音视频切片文件是指与所述切片时长列表中的切片时长一一对应的目标音视频流的切片文件;
播放模块:用于按照所述发送顺序将所述所有目标音视频切片文件发送给用户终端进行播放。
本申请实施例的第三方面提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述音视频资源点播方法。
本申请实施例的第四方面提供了一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如上述音视频资源点播方法。
实施本申请实施例提供的一种音视频资源点播方法、音视频资源点播装置,计算机设备及存储介质,具有以下有益效果:
本申请实施例提供一种音视频资源点播方法,服务器在接收到用户终端的目标音视频请求,会首先按照预设音视频切片策略对目标音视频对应的目标音视频播放时长数据进行切分,得到切片时长列表,然后将切片时长列表发送至用户终端来告知用户终端目标音视频的切片信息,用户终端根据切片时长列表所表述的切片信息,向服务器发送目标音视频流请求,服务器根据目标音视频流请求与切片时长列表,首先确定出所有目标音视频切片文件的发送顺序,然后服务器按照发送顺序将所有目标音视频切片文件发送给用户终端,用户终端对所有目标音视频切片文件进行解码播放。按照预设音视频切片策略对目标音视频对应的目标音视频播放时长数据进行切分,使得目标音视频流的每一目标音视频切片文件与切片时长列表中的每一切片时长能够一一对应,能够较大概率使得目标音视频切片文件的数目与切片时长列表中的总的切片数目一致。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中音视频资源点播方法的一应用环境示意图;
图2是本申请实施例中音视频资源点播方法的实现流程示意图;
图3是本申请另一实施例中音视频资源点播方法的实现流程示意图;
图4是本申请实施例提供的音视频资源点播方法的一具体实施方式的应用环境示意图;
图5是本申请又一实施例中音视频资源点播方法的实现流程示意图;
图6是本申请实施例提供的一目标音视频流实际切分示意图;
图7是本申请实施例提供的一目标音视频流切分示意图;
图8是本申请实施例中音视频资源点播装置的结构示意图;
图9是本申请实施例中计算机设备的一示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1示出了本申请实施例中音视频资源点播方法的一应用环境示意图,如图1所示,本申请实施例提供的音视频资源点播方法,可应用在如图1的应用环境中,用户通过用户终端想要点播某个音视频资源时,会向服务器发送目标音视频播放请求,服务器接收到该请求,首先会向用户终端返回一个目标音视频播放时长数据对应的切片时长列表,该切片时长列表包含了用户终端请求的音视频资源的所有切片信息,然后用户终端可以根据该切片时长列表顺序请求每一个目标音视频切片文件进行解码播放。其中,用户终端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
在具体实现时,服务器在响应用户的请求播放目标音视频过程中,会先按照预设音视频切片策略对目标音视频的目标音视频播放时长数据进行划分,得到目标音视频对应的切片时长列表,该切片时长列表包括了目标音视频的所有切片信息,例如,不同的切片时长、最大切片时长以及总的切片数目等等。然后服务器先将切片时长列表发送至用户终端,用户终端可以根据该切片时长列表发送目标音视频流请求,以顺序请求各个切片时长对应的目标音视频切片文件,服务器按照用户终端发送的目标音视频流请求的顺序,将所有目标音视频切片文件发送给用户终端,用户终端接收到目标音视频切片文件可对应进行解码播放。
具体地,请参阅图2,图2所示为本申请实施例中音视频资源点播方法的实现流程图,以该方法应用在图1中的服务端的服务器为例进行说明,包括如下步骤:
S11:按照预设音视频切片策略对目标音视频播放时长数据进行切分,得到切片时长列表。
在步骤S11中,预设音视频切片策略用于表征对音视频播放时长数据的切割策略,本实施例中,将最后一个切片的时长取一个较长的时间,作为最大切片时长,对其余的播放时长采用较小的时长进行等间隙切割,以最大概率的降低因实际码流的I帧间隙不均匀,造成实际切出的切片数与已告诉用户的切片时长列表信息不一致的问题,且对非最后一个时长采用较小的时长进行等间隙切割保证了音视频在点播时拖动的精度。目标音视频播放时长数据是指目标音视频的总的播放时长,该播放时长可以是服务器通过从源站拉取得到。切片时长列表用于表征目标音视频的切片信息,该切片信息包括目标音视频的各个切片的切片时长,总的切片数目,切片排列顺序等等,其中,切片排列顺序也即目标音视频的播放顺序。
在本实施例中,服务器在向用户终端发送音视频资源或接收到用户终端发送的目标音视频播放请求时,由于对于大型音视频来说,完整下载后在播放会致使延时很大,估服务器会先按照预设音视频切片策略将目标音视频对应的目标音视频播放时长数据切分成若干子时长数据,得到切片时长列表,并对该切片时长列表存储在预设数据库中。
S12:将所述切片时长列表发送至用户终端。
在步骤S12中,用户终端包括但不限于手机、平板、计算机等终端设备,还可以是蓝牙音箱等音视频播放器设备,这里不做限定。
在本实施例中,服务器在对目标音视频播放时长数据进行切分得到切片时长列表之后,会先将切片时长列表发送至用户终端,以预先告知目标音视频的播放形式。用户终端可根据该切片时长列表中的切片信息按照不同的切片时长的排列顺序发送目标音视频流请求,其中,在每一个切片时长的起始时间戳都对应发送目标音视频流请求,该目标音视频流请求可以用于表示请求目标音视频流对应的目标音视频切片文件。
S13:若接收到所述用户终端根据所述切片时长列表发送的目标音视频流请求,则根据所述目标音视频流请求与所述切片时长列表,确定出所有目标音视频切片文件的发送顺序。
在步骤S13中,目标音视频切片文件是指与切片时长列表中的切片时长一一对应的目标音视频流的切片文件,其对应预存的目标音视频的切片时长列表存储在服务器中。在每一个切片时长的起始时间戳用户终端会向服务器发送目标音视频流请求,该目标音视频流请求可以是请求每一个切片时长对应的目标音视频流的切片文件,每一个切片时长对应一个切片文件,较大概率实现切片时长列表中的切片总数目与实际目标音视频流的切片文件的总数目是一致的。发送顺序,也是切片时长列表中各个切片时长的排列顺序,也是目标音视频的播放顺序。
在本实施例中,用户终端会根据切片时长列表顺序发送的目标音视频流请求以请求到所有的目标音视频切片文件,当服务器接收到用户终端发送的第一个目标音视频切片文件的请求时,服务器先根据目标音视频流请求确定用户终端请求的音视频信息,然后根据预存的切片时长列表对应的将第一个目标音视频切片文件发送至用户终端,相应的,若用户终端请求的是第N个目标音视频切片文件,服务器会根据预存的切片时长列表,将对应的第N个目标音视频切片文件发送至用户终端,N大于零,且小于或等于最大切片数目。当N等于最大切片数目时,用户终端接收到所有的目标音视频流切片文件。
S14:按照所述发送顺序将所述所有目标音视频切片文件发送给用户终端进行播放。
在步骤S14中,用于终端每接收到一个目标音视频切片文件,即可对该目标音视频切片文件进行解码得到目标音视频的切片进行播放。
在本实施例中,用户终端按照切片时候列表发送目标音视频流请求,顺序请求到所有的目标音视频流切片文件。每请求到一个目标音视频流切片文件可进行实施解码播放当请求到所有的目标音视频流切片文件后,相应的也可以完整的播放目标音视频。
本申请实施例提供一种音视频资源点播方法,服务器在接收到用户终端的目标音视频请求,会首先按照预设音视频切片策略对目标音视频对应的目标音视频播放时长数据进行切分,得到切片时长列表,然后将切片时长列表发送至用户终端来告知用户终端目标音视频的切片信息,用户终端根据切片时长列表所表述的切片信息,向服务器发送目标音视频流请求,服务器根据目标音视频流请求与切片时长列表,首先确定出所有目标音视频切片文件的发送顺序,然后服务器按照发送顺序将所有目标音视频切片文件发送给用户终端,用户终端对所有目标音视频切片文件进行解码播放,由于按照预设音视频切片策略对目标音视频对应的目标音视频播放时长数据进行切分,使得目标音视频流的每一目标音视频切片文件与切片时长列表中的每一切片时长能够一一对应,因此能够较大概率使得目标音视频切片文件的数目与切片时长列表中的总切片数目一致。
请参阅图3,图3所示为本申请另一实施例中音视频资源点播方法的实现流程示意图,相对于图2所示的音视频资源点播方法的实现流程示意图,本实施例中,在步骤S11之前还包括步骤S21-S22,具体如下:
S21:在接收到用户终端发送的音视频播放请求时,基于所述音视频播放请求,从源站拉取目标音视频元数据信息。
在步骤S21中,源站用于存放音视频文件,其中,音视频文件是以音视频流的形式存储在源站中。作为一示例,在源站为RTMP(Real Time Messaging Protocol,实时网络消息协议)或RTSP(Real Time Streaming Protocol,实时流传输协议)等基于实时流协议的服务器时,由于RTMP协议的结构复杂、带宽浪费大,只支持flashplayer,也就是只能在PC端(或安卓环境中安装了flashplayer组件,这种环境比较少)安装了flashplayer的情况下使用。RTSP虽然实时性最好,但是实现复杂且不能适用于网页环境。而HLS(HTTP LiveStreaming)是由苹果公司提出的基于http协议的流媒体网络传输协议,由于其具有简单,自适应,可以实现无插件化播放等优点,是目前全球运用最为广泛的网络传输协议之一,尤其适用于移动互联网流媒体领域。因此可以将RTMP协议或RTSP协议,通过转换为HLS(HTTPLive Streaming,流媒体网络传输协议)格式,向用户终端传输音视频文件。
在本实施例中,请参阅图4,图4所示为本申请实施例提供的音视频资源点播方法的一具体实施方式的应用环境示意图,提供了一种流源为RTSP或RTMP等实时流协议的HLS点播场景。用户想要点播某个音视频时,会通过用户终端向HLS服务器发送目标音视频播放请求,HLS服务器在根据接收到的目标音视频播放请求确定出目标音视频信息后,会先根据目标音视频信息向RTMP服务器或RTSP服务器发送拉取目标音视频的元数据信息的RTMP或RTSP请求,先获取目标音视频的参数信息。
需要说明的是,下述内容是以图4提供的一种流源为RTSP或RTMP等实时流协议的HLS点播场景为示例参考,进行本申请实施例实现方案作出的进一步的解释说明。
作为本申请一实施例,所述在接收到用户终端发送的音视频播放请求时,基于所述音视频播放请求,从源站拉取目标音视频元数据信息,包括:在接收到用户终端发送的目标音视频播放请求时,对所述目标音视频播放请求进行解析,得到目标音视频资源信息;根据所述目标音视频资源信息生成元数据拉取请求;基于所述元数据拉取请求从所述源站中拉取目标音视频元数据信息。
在本实施例中,由于目标音视频播放请求包括有目标音视频的信息,例如目标音视频名称等,因此服务器在接收到用户终端发送的目标音视频播放请求时,可以先对目标音视频播放请求进行解析,确定出用户终端所要请求的目标音视频资源信息。由于目标音视频的文件存放在源站中,因此服务器会再根据解析到的目标音视频资源信息生成元数据拉取请求,以上述示例为基础,元数据拉取请求是RTMP或RTSP协议的元数据拉取请求,相应地,源站如果是RTMP服务器,HLS服务器会发送RTMP元数据拉取请求得到SDP(SessionDescription Protocol,会话描述协议)信息,源站如果是RTSP服务器,HLS服务器会发送RTSP元数据拉取请求得到元数据信息,其中,该SDP信息和源数据信息即目标音视频元数据信息。
S22:对所述目标音视频元数据信息进行解析,得到目标音视频播放时长数据。
在步骤S22中,目标音视频元数据信息包括有目标音视频的参数数据信息。
在本实施例中,以上述示例为基础,HLS服务器在接收到SDP信息或源数据信息之后,会对对其进行解析,得到目标音视频播放时长数据。然后按照HLS协议的时间戳对其进行重新打包与封装。
作为本申请一实施例,所述目标音视频元数据信息包括目标音视频播放时长和目标音视频播放顺序;所述按照预设音视频切片策略对目标音视频播放时长数据进行切分,得到切片时长列表,包括:按照预设音视频切片策略将所述目标音视频播放时长数据切分成若干切片时长,得到切片时长集合;将所述所述切片时长集合中的各个切片时长按照所述目标音视频播放顺序排列,得到切片时长列表。
在本实施例中,目标音视频元数据信息包括目标目标音视频播放时长和目标音视频播放顺序等目标音视频的参数信息,以上述示例为基础,HLS服务器在从源站拉取到目标音视频元数据信息之后,按照HLS服务器中预设音视频切片策略,将目标音视频播放时长数据切分成若干切片时长,得到切片时长集合,并将切片时长集合中的各个切片时长按照目标音视频播放顺序排列,得到切片映射关系表,也即切片时长列表,该切片时长列表可以是m3u8列表。
作为本申请一实施例,所述切片时长集合包括最后切片时长和至少一个非最后切片时长;其中,所述非最后切片时长是指除所述最后切片时长外,其它任意一个切片时长;
所述按照预设音视频切片策略将所述目标音视频播放时长数据切分成若干切片时长,得到切片时长集合,包括:
按照下式计算得到所述非最后切片时长和最后切片时长:
t=n*tgop
tlast=N*tgop+T%t(N>n);
num=(T-tlast)/t+1;
其中,t表示所述非最后切片时长;gop表示预设关键帧的周期;tgop表示所述预设关键帧的周期时长;tlast表示所述最后切片时长,tlast的建议范围为大于等于10秒小于等于60秒,在实际应用场景中,也可取其他范围的数据,这里不做限定;其中,所述最后切片时长为最大切片时长;T表示所述目标音视频播放时长;num表示总切片数目;n和N均表示调整切片时长的参数,其中,N大于n,n取大于等于1小于等于3的整数;
将所述非最后切片时长和所述最后切片时长进行整合,得到切片时长集合。
在本实施例中,按照预设音视频切片策略将最后切片时长作为最大切片时长,将非最后切片时长进行等间隙切割,以最大概率的降低因实际码流的I帧间隙不均匀,造成实际切出的切片数与已告诉用户的切片时长列表信息不一致的问题,且对非最后一个时长采用较小的时长,取1~3个gop时长进行等间隙切割保证了音视频在点播时拖动的精度。
请参阅图5,图5所示为本申请又一实施例中音视频资源点播方法的实现流程示意图,相对于图3所示的音视频资源点播方法的实现流程示意图,本实施例中,在步骤S12之后还包括步骤S31-S32,具体如下:
S31:向所述源站发送目标音视频流拉取请求,基于所述目标音视频流拉取请求,从所述源站拉取目标音视频流。
在步骤S31中,目标音视频流是指目标音视频对应的编码格式的码流。
在本实施例中,以上述示例为基础,HLS服务器在将m3u8列表(切片时长列表)返回给用户终端后,会再向RTMP或RTSP服务器发送目标音视频流拉取请求,拉取目标音视频流。
S32:对所述目标音视频流进行切片,得到目标音视频切片文件集合。
在步骤S32中,目标音视频切片文件集合包括目标音视频流的所有目标音视频切片文件,该目标音视频切片文件与切片时长列表中的切片时长一一对应。
在本实施例中,实际对目标音视频流进行切片的时候,是基于音视频流中的关键帧,也即I帧来切分的,即目标音视频流中第一个I帧作为第一个切片的起始I帧,当目标音视频流中的后续I帧的时间戳减去切片的起始I帧的时间戳≧非最后切片时长时,第一个I帧到这个I帧之间的所有的音视频帧切到第一个切片,这个I帧作为下一个切片的起始I帧,后续切片以此类推,直至将目标音视频流切分完,得到目标音视频切片文件集合。但由于目标音视频流中任意两个I帧的间隙不一定是均匀的,而切片时长列表是严格按照预设切片时长策略切分得到,每个非最后切片时长均为n个关键帧周期的时长,因此实际得到的每个目标音视频切片文件的切片时长与切片市场列表中的时长不一定一致。本申请实施例将最后切片时长作为最大切片时长,在I帧的间隙不均匀的情况下最大概率的保证实际对目标音视频流切出的目标音视频切片文件的数目与已反馈给用户终端的切片时长列表列表中的总切片数目一致,使用户能够正常播放请求的目标音视频。
作为一示例,假设目标音视频的播放时长为31秒,目标音视频流的gop时长为2秒,本示例中将所述切片公式的n取1,N取5,即非最后切片时长取一个gop时长t=1*2=2秒,最后切片时长tlast=5*2+31%2=11秒,总的切片数目sum=(31-11)/2+1=11片。那么HLS服务器返回到用户终端的m3u8列表所描述的切片信息即目标音视频可以切分成11片,非最后切片时长均为2秒,最后切片时长为11秒。请参阅图6,图6所示为本申请实施例提供的一目标音视频流实际切分示意图,假设实际拉取的目标音视频流的I间隙(gop时长)如图6所示不均匀分布,基于目标音视频流中的I帧来切割,可以切分到11个目标音视频流切片文件,最后一个切片时长为6秒,用户在终端可以正常点播这段资源。通过增加最后一个切片的切片时长,来缓冲实际目标音视频流因I帧间隙不均匀而造成实际切片时存在的偏差问题,能最大概率的保证实际的切片数与已反馈给用户终端端的切片时长列表列表所描述的一致,使用户可以正常的点播这段音视频资源,同时非最后切片时长采用较小时长的等间隙切片(建议1~3个gop时长),保证了在通过用户终端播放音视频时,有较好的点播拖动精度。
请参阅图7,图7所示为本申请实施例提供的一目标音视频流切分示意图,假设音视频资源的播放时长T,按照预设音视频切片策略,取最后一个切片的时长为T-t秒,总切片数为num,前num-1个切片时长之和为t秒(每个非最后切片t/(num-1)秒),在实际拉流切片时,如果实际目标音视频流的I帧间隙均匀,则当前num–1个切片完成后,剩下的目标音视频切片文件的切片时长正好是T-t,如果实际目标音视频流的I帧间隙不均匀,剩下的目标音视频切片文件的切片时长将落在区间(0,T-t]之中。如果剩下的目标音视频切片文件的切片时长为0,则说明这段目标音视频流只切了num–1个切片,客户端最后一个切片将会请求失败。如果不为0,则剩下的目标音视频流都切到最后一个目标音视频切片文件中,最后一个目标音视频切片文件的切片时长将落在区间(0,T-t]中,客户端可以正常播放。因此本方案通过增加最后一个切片的切片时长,来缓冲实际码流因I帧间隙不均匀而造成实际切片时存在的偏差问题,最大概率的保证实际的切片数与已反馈给用户终端的切片时长列表所描述的一致,使用户可以正常的点播这段音视频资源。
作为本申请一实施例,所述根据所述目标音视频流请求与所述切片时长列表,确定出所有目标音视频切片文件的发送顺序,包括:对所述目标音视频流请求进行解析,确定出目标音视频流和所述目标音视频流对应的目标音视频切片文件集合;按照所述切片时长列表对应的目标音视频播放顺序,确定出所有目标音视频切片文件的发送顺序。
在本实施例中,服务器接收到用户终端发送的目标音视频流请求,先对所述目标音视频流请求进行解析,确定出目标音视频流和目标音视频流对应的目标音视频切片文件集合。由于切片时长列表是按照目标音视频播放顺序将目标音视频总的播放时长切分成若干个切片时长,因此按照切片时长列表对应的目标音视频播放顺序,可以确定出所有目标音视频切片文件的发送顺序,服务器可以按照发送顺序将目标音视频对应的所有目标音视频切片文件发送至用户终端,由用户终端进行解码播放。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在一个实施例中,提供一种音视频资源点播装置800,该音视频资源点播装置与上述实施例中音视频资源点播方法一一对应。如图8所示,该音视频资源点播装置包括切片模块801、发送模块802、确定模块803以及播放模块804。各功能模块详细说明如下:
切片模块801:用于按照预设音视频切片策略对目标音视频播放时长数据进行切分,得到切片时长列表;
发送模块802:用于将所述切片时长列表发送至用户终端;
确定模块803:用于若接收到所述用户终端根据所述切片时长列表发送的目标音视频流请求,则根据所述目标音视频流请求与所述切片时长列表,确定出所有目标音视频切片文件的发送顺序;其中,所述目标音视频切片文件是指与所述切片时长列表中的切片时长一一对应的目标音视频流的切片文件;
播放模块804:用于按照所述发送顺序将所述所有目标音视频切片文件发送给用户终端进行播放。
关于音视频资源点播装置的具体限定可以参见上文中对于音视频资源点播方法的限定,在此不再赘述。上述音视频资源点播装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该可读存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储音视频资源点播方法所涉及的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种音视频资源点播方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机可读指令被处理器执行时以实现一种音视频资源点播方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现以下步骤:
按照预设音视频切片策略对目标音视频播放时长数据进行切分,得到切片时长列表;
将所述切片时长列表发送至用户终端;
若接收到所述用户终端根据所述切片时长列表发送的目标音视频流请求,则根据所述目标音视频流请求与所述切片时长列表,确定出所有目标音视频切片文件的发送顺序;其中,所述目标音视频切片文件是指与所述切片时长列表中的切片时长一一对应的目标音视频流的切片文件;
按照所述发送顺序将所述所有目标音视频切片文件发送给用户终端进行播放。
在一个实施例中,提供了一个或多个存储有计算机可读指令的计算机可读存储介质,本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。可读存储介质上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时实现以下步骤:
按照预设音视频切片策略对目标音视频播放时长数据进行切分,得到切片时长列表;
将所述切片时长列表发送至用户终端;
若接收到所述用户终端根据所述切片时长列表发送的目标音视频流请求,则根据所述目标音视频流请求与所述切片时长列表,确定出所有目标音视频切片文件的发送顺序;其中,所述目标音视频切片文件是指与所述切片时长列表中的切片时长一一对应的目标音视频流的切片文件;
按照所述发送顺序将所述所有目标音视频切片文件发送给用户终端进行播放。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种音视频资源点播方法,其特征在于,包括:
按照预设音视频切片策略对目标音视频播放时长数据进行切分,得到切片时长列表;
将所述切片时长列表发送至用户终端;
若接收到所述用户终端根据所述切片时长列表发送的目标音视频流请求,则根据所述目标音视频流请求与所述切片时长列表,确定出所有目标音视频切片文件的发送顺序;其中,所述目标音视频切片文件是指与所述切片时长列表中的切片时长一一对应的目标音视频流的切片文件;
按照所述发送顺序将所述所有目标音视频切片文件发送给用户终端进行播放。
2.如权利要求1所述的音视频资源点播方法,在所述按照预设音视频切片策略对目标音视频的播放时长数据进行切片,得到切片时长列表的步骤之前,还包括:
在接收到用户终端发送的目标音视频播放请求时,基于所述目标音视频播放请求,从源站拉取目标音视频元数据信息;
对所述目标音视频元数据信息进行解析,得到目标音视频播放时长数据。
3.如权利要求2所述的音视频资源点播方法,其特征在于,所述在接收到用户终端发送的目标音视频播放请求时,基于所述目标音视频播放请求,从源站拉取目标音视频元数据信息,包括:
在接收到用户终端发送的目标音视频播放请求时,对所述目标音视频播放请求进行解析,得到目标音视频资源信息;
根据所述目标音视频资源信息生成元数据拉取请求;
基于所述元数据拉取请求从所述源站中拉取目标音视频元数据信息。
4.如权利要求3所述的音视频资源点播方法,其特征在于,所述目标音视频元数据信息包括目标音视频播放时长和目标音视频播放顺序;
所述按照预设音视频切片策略对目标音视频播放时长数据进行切分,得到切片时长列表,包括:
按照预设音视频切片策略将所述目标音视频播放时长数据切分成若干切片时长,得到切片时长集合;
将所述切片时长集合中的各个切片时长按照所述目标音视频播放顺序排列,得到切片时长列表。
5.如权利要求4所述的音视频资源点播方法,其特征在于,所述切片时长集合包括最后切片时长和至少一个非最后切片时长;其中,所述非最后切片时长是指除所述最后切片时长外,其它任意一个切片时长;
所述按照预设音视频切片策略将所述目标音视频播放时长数据切分成若干切片时长,得到切片时长集合,包括:
按照下式计算得到所述非最后切片时长和最后切片时长:
t=n*tgop
tlast=N*tgop+T%t(N>n);
num=(T-tlast)/t+1;
其中,t表示所述非最后切片时长;gop表示预设关键帧的周期;tgop表示所述预设关键帧的周期时长;tlast表示所述最后切片时长;其中,所述最后切片时长为最大切片时长;T表示所述目标音视频播放时长;num表示总切片数目;n和N均表示调整切片时长的参数,其中,N大于n,n取大于等于1小于等于3的整数;
将所述非最后切片时长和所述最后切片时长进行整合,得到切片时长集合。
6.如权利要求5所述的音视频资源点播方法,其特征在于,在所述将所述切片时长列表发送至用户终端的步骤之后,还包括:
向所述源站发送目标音视频流拉取请求,基于所述目标音视频流拉取请求,从所述源站拉取目标音视频流;
对所述目标音视频流进行切片,得到目标音视频切片文件集合;所述目标音视频切片文件集合包括所述目标音视频流的所有目标音视频切片文件。
7.如权利要求6所述的音视频资源点播方法,其特征在于,所述根据所述目标音视频流请求与所述切片时长列表,确定出所有目标音视频切片文件的发送顺序,包括:
对所述目标音视频流请求进行解析,确定出目标音视频流和所述目标音视频流对应的目标音视频切片文件集合;
按照所述切片时长列表对应的目标音视频播放顺序,确定出所有目标音视频切片文件的发送顺序。
8.一种音视频资源点播装置,其特征在于,包括:
切片模块:用于按照预设音视频切片策略对目标音视频播放时长数据进行切分,得到切片时长列表;
发送模块:用于将所述切片时长列表发送至用户终端;
确定模块:用于若接收到所述用户终端根据所述切片时长列表发送的目标音视频流请求,则根据所述目标音视频流请求与所述切片时长列表,确定出所有目标音视频切片文件的发送顺序;其中,所述目标音视频切片文件是指与所述切片时长列表中的切片时长一一对应的目标音视频流的切片文件;
播放模块:用于按照所述发送顺序将所述所有目标音视频切片文件发送给用户终端进行播放。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时以实现权利要求1-7任意一项所述的音视频资源点播方法。
10.一个或多个可读存储介质,所述可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1-7任意一项所述的音视频资源点播方法。
CN202210859682.6A 2022-07-21 2022-07-21 音视频资源点播方法、装置、计算机设备及存储介质 Pending CN115243077A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210859682.6A CN115243077A (zh) 2022-07-21 2022-07-21 音视频资源点播方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210859682.6A CN115243077A (zh) 2022-07-21 2022-07-21 音视频资源点播方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN115243077A true CN115243077A (zh) 2022-10-25

Family

ID=83673158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210859682.6A Pending CN115243077A (zh) 2022-07-21 2022-07-21 音视频资源点播方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN115243077A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117336311A (zh) * 2023-11-30 2024-01-02 深圳市小溪流科技有限公司 一种使多台hls服务器切片保持一致性的方法及其装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932670A (zh) * 2012-11-29 2013-02-13 百视通网络电视技术发展有限责任公司 一种流媒体切片方法及系统
CN107277081A (zh) * 2016-04-06 2017-10-20 北京优朋普乐科技有限公司 流媒体数据的切片下载方法和装置、流媒体系统
CN108419123A (zh) * 2018-03-28 2018-08-17 广州市创新互联网教育研究院 一种教学视频的虚拟切片方法
CN111010620A (zh) * 2019-12-03 2020-04-14 青岛海信电器股份有限公司 多媒体资源轮播的方法、装置、电子设备和存储介质
CN111182331A (zh) * 2019-10-26 2020-05-19 腾讯科技(深圳)有限公司 媒体数据切片方法、系统及存储介质
CN111417000A (zh) * 2020-03-27 2020-07-14 北京奇艺世纪科技有限公司 一种切换视频码率的方法、装置、电子设备及介质
CN111741338A (zh) * 2020-07-22 2020-10-02 深圳力维智联技术有限公司 Hls流媒体播放方法、系统、设备及存储介质
CN113115120A (zh) * 2021-05-27 2021-07-13 武汉斗鱼鱼乐网络科技有限公司 视频切片方法、装置、电子设备及存储介质
CN113709412A (zh) * 2020-05-21 2021-11-26 中国电信股份有限公司 直播流处理方法、装置和系统、计算机可读存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932670A (zh) * 2012-11-29 2013-02-13 百视通网络电视技术发展有限责任公司 一种流媒体切片方法及系统
CN107277081A (zh) * 2016-04-06 2017-10-20 北京优朋普乐科技有限公司 流媒体数据的切片下载方法和装置、流媒体系统
CN108419123A (zh) * 2018-03-28 2018-08-17 广州市创新互联网教育研究院 一种教学视频的虚拟切片方法
CN111182331A (zh) * 2019-10-26 2020-05-19 腾讯科技(深圳)有限公司 媒体数据切片方法、系统及存储介质
CN111010620A (zh) * 2019-12-03 2020-04-14 青岛海信电器股份有限公司 多媒体资源轮播的方法、装置、电子设备和存储介质
CN111417000A (zh) * 2020-03-27 2020-07-14 北京奇艺世纪科技有限公司 一种切换视频码率的方法、装置、电子设备及介质
CN113709412A (zh) * 2020-05-21 2021-11-26 中国电信股份有限公司 直播流处理方法、装置和系统、计算机可读存储介质
CN111741338A (zh) * 2020-07-22 2020-10-02 深圳力维智联技术有限公司 Hls流媒体播放方法、系统、设备及存储介质
CN113115120A (zh) * 2021-05-27 2021-07-13 武汉斗鱼鱼乐网络科技有限公司 视频切片方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117336311A (zh) * 2023-11-30 2024-01-02 深圳市小溪流科技有限公司 一种使多台hls服务器切片保持一致性的方法及其装置
CN117336311B (zh) * 2023-11-30 2024-03-12 深圳市小溪流科技有限公司 一种使多台hls服务器切片保持一致性的方法及其装置

Similar Documents

Publication Publication Date Title
US10911789B2 (en) Automatic failover for live video streaming
CN105915953B (zh) 直播视频鉴别的方法、装置、系统、服务器和存储介质
US11824912B2 (en) Systems and methods for frame duplication and frame extension in live video encoding and streaming
US10110911B2 (en) Parallel media encoding
US20150256600A1 (en) Systems and methods for media format substitution
US9356821B1 (en) Streaming content delivery system and method
CN107197386B (zh) 一种无客户端的跨平台视频播放实现方法
US10476928B2 (en) Network video playback method and apparatus
WO2018233539A1 (zh) 视频处理方法、计算机存储介质及设备
US10965945B2 (en) Optimized multipass encoding
US11743150B2 (en) Automated root cause analysis of underperforming video streams by using language transformers on support ticket systems
CN108260024B (zh) 直播数据处理方法、装置、计算机设备和存储介质
CN115243077A (zh) 音视频资源点播方法、装置、计算机设备及存储介质
CN110113298B (zh) 数据传输方法、装置、信令服务器和计算机可读介质
CN104753811B (zh) 一种流媒体业务优化方法、设备及系统
CN112243158A (zh) 媒体文件处理方法、装置及电子设备
CN113727189A (zh) 支持多种流媒体传输协议的媒体播放方法和系统
CN117714741A (zh) 视频文件处理方法、视频管理平台及存储介质
CN112188285A (zh) 视频转码方法、装置、系统及存储介质
EP3780632A1 (fr) Systeme de distribution d'un contenu audiovisuel
CN115086714B (zh) 数据处理方法、装置、设备及存储介质
CN105992018A (zh) 流媒体转码方法和装置
Thang et al. Video streaming over HTTP with dynamic resource prediction
CN111787417B (zh) 基于人工智能ai的音视频的传输控制方法及相关设备
US20220188549A1 (en) Context aware word cloud for context oriented dynamic actions

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20221025

WD01 Invention patent application deemed withdrawn after publication