CN107864406A - 时移视频播放方法、装置和系统 - Google Patents

时移视频播放方法、装置和系统 Download PDF

Info

Publication number
CN107864406A
CN107864406A CN201711003359.4A CN201711003359A CN107864406A CN 107864406 A CN107864406 A CN 107864406A CN 201711003359 A CN201711003359 A CN 201711003359A CN 107864406 A CN107864406 A CN 107864406A
Authority
CN
China
Prior art keywords
video
file
time shift
live
video segment
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.)
Granted
Application number
CN201711003359.4A
Other languages
English (en)
Other versions
CN107864406B (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.)
Guangdong Southern Digital Television Wireless Communication Co Ltd
Original Assignee
Guangdong Southern Digital Television Wireless Communication 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 Guangdong Southern Digital Television Wireless Communication Co Ltd filed Critical Guangdong Southern Digital Television Wireless Communication Co Ltd
Priority to CN201711003359.4A priority Critical patent/CN107864406B/zh
Publication of CN107864406A publication Critical patent/CN107864406A/zh
Application granted granted Critical
Publication of CN107864406B publication Critical patent/CN107864406B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • 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/26291Content 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 providing content or additional data updates, e.g. updating software modules, stored at the client
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • 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/47214End-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 content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Abstract

本发明涉及一种时移视频播放方法和系统,其中方法包括:创建直播索引文件和时移索引文件,分别记录直播时的视频切片文件和未删除的视频切片文件;响应观看终端的播放请求,将所述直播索引文件和时移索引文件下发至所述观看终端,以用于在观看终端上创建视频切片文件数据缓存队列;接收观看终端基于所述视频切片文件数据缓存队列发送的时移视频直播请求,将与所述时移视频直播请求相应的视频切片文件发送至所述观看终端进行播放。本发明在进行时移视频直播时无需频繁刷新直播索引文件,并可以实现大时间跨度的时移直播,提高了时移视频直播的效果。

Description

时移视频播放方法、装置和系统
技术领域
本发明涉及流媒体直播点播技术领域,特别是涉及一种时移视频播放方法、装置和系统。
背景技术
随着互联网多媒体技术的发展,在网络带宽不断增长的今天,基于互联网的视频直播由于观看的便利性,受到越来越多观众的欢迎。
传统视频直播技术,观看终端只能被动观看最新的视频画面和声音,观众不可以暂停和回退观看旧的视频内容;随着直播视频时移技术的出现,一定程度上解决了这个问题,使得观众在观看视频直播的时候可以对直播暂停,并随时从暂停点恢复播放,观众也可以选择跳到直播最新点观看最新实时的内容,也可以往回退观看已经播放过的视频内容。
但是现有技术实现的视频直播时移技术中,需要频繁刷新直播索引文件,而且无法不能实现大时间跨度的时移直播,影响了时移视频直播的效果。
发明内容
基于此,有必要针对影响时移视频直播的效果的问题,提供一种时移视频播放方法和装置。
一种时移视频播放方法,包括如下步骤:
创建直播索引文件和时移索引文件;其中,所述直播索引文件记录直播时的视频切片文件,所述时移索引文件记录未删除的视频切片文件;
响应观看终端的播放请求,将所述直播索引文件和时移索引文件下发至所述观看终端,用于在观看终端上创建视频切片文件数据缓存队列;
接收观看终端基于所述视频切片文件数据缓存队列发送的时移视频直播请求,将与所述时移视频直播请求相应的视频切片文件发送至所述观看终端进行播放。
上述时移视频播放方法,创建直播索引文件和时移索引文件记录直播时的视频切片文件和未删除的视频切片文件的切片文件路径及其播放时间;在直播视频时,将直播索引文件和时移索引文件下发至所述观看终端创建视频切片文件数据缓存队列,使得观看终端基于该视频切片文件数据缓存队列进行时移视频直播请求,播放相应的视频切片文件。该方案在进行时移视频直播时无需频繁刷新直播索引文件,可以实现大时间跨度的时移直播,提高了时移视频直播的效果。在一个实施例中,所述的时移视频播放方法还可以包括:对直播视频流进行切片,生成可配置时间长度的视频切片文件。
在一个实施例中,所述的时移视频播放方法中所述直播索引文件记录频道最新的若干个视频切片文件,所述时移索引文件记录频道所有未删除的视频切片文件。
在一个实施例中,所述对直播视频流进行切片的过程包括:
接收直播信号源的音视频帧数据的音视频帧,若当前没有视频切片文件或者当前视频切片文件的音视频内容时间长度已经大于等于预设的切片时间间隔且新收到的帧是视频关键帧,关闭当前的视频切片文件;
把当前视频切片文件的路径和时长以及当前视频切片文件的开始时间码写入直播索引文件;保留直播索引信息文件中的后设定个数的视频切片文件信息,其余的视频切片文件信息从直播索引文件中移除;把当前视频切片文件的路径和时长以及当前视频切片文件的开始时间码写入时移索引文件;
从时移索引文件中移除早于最新时间点减去最大时移时间长度的视频切片文件信息,并将这些视频切片文件从文件系统中删除;记录新的视频切片文件的开始时间码;创建新的视频切片文件作为当前视频切片文件。
在一个实施例中,所述的时移视频播放方法还可以包括:在观看终端检测到视频切片文件序号发生跳跃时,响应观看终端重新刷新时移索引文件的请求,将跳跃的视频切片文件信息下发至观看终端对时移索引文件进行更新。
在一个实施例中,所述观看终端可以按视频切片文件的平均时长为间隔重新加载所述直播索引文件,将新增的视频切片文件信息从队列前面加入视频切片文件数据缓存队列中;当最新加载的直播索引文件中记录的最旧的视频切片文件序号大于所述视频切片文件数据缓存队列中最新的视频文件切片文件的序号加1时,判定所述视频切片文件序号发生跳跃。
在一个实施例中,所述的时移视频播放方法还可以包括由录制服务器执行的步骤:
依据频道电子节目单对频道的直播索引文件和频道的视频切片文件进行录制,得到频道直播内容的视频文件;将所述视频文件进行存储,并将存储的对外可访问路径、节目名称和节目开始时间写入对应频道的点播视频列表。
一种时移视频播放装置,包括:
创建模块,用于创建直播索引文件和时移索引文件;其中,所述直播索引文件记录直播时的视频切片文件,所述时移索引文件记录未删除的视频切片文件;
响应模块,用于响应观看终端的播放请求,将所述直播索引文件和时移索引文件下发至所述观看终端,用于在观看终端上创建视频切片文件数据缓存队列;
播放模块,用于接收观看终端基于所述视频切片文件数据缓存队列发送的时移视频直播请求,将与所述时移视频直播请求相应的视频切片文件发送至所述观看终端进行播放。
上述时移视频播放装置,创建模块用于创建直播索引文件和时移索引文件记录直播时的视频切片文件和未删除的视频切片文件的切片文件路径及其播放时间;在直播视频时,响应模块用于将直播索引文件和时移索引文件下发至所述观看终端创建视频切片文件数据缓存队列,播放模块用于接收观看终端基于该视频切片文件数据缓存队列发送的时移视频直播请求,播放相应的视频切片文件。该方案在进行时移视频直播时无需频繁刷新直播索引文件,可以实现大时间跨度的时移直播,提高了时移视频直播的效果。
在一个实施例中,所述的时移视频播放装置中的观看终端在播放频道视频时,加载直播索引文件,依据视频切片文件顺序创建视频切片文件数据缓存队列;并加载所述时移索引文件,根据时移索引文件记录信息将视频切片文件信息从队列尾部加入所述视频切片文件数据缓存队列。
在一个实施例中,所述的时移视频播放系统中的所述观看终端加载直播索引文件后,依据所述直播索引文件中记录的切片文件路径加载视频切片文件并进入直播播放状态。
一种时移视频播放系统,包括视频服务器,以及用于播放视频的观看终端,所述视频服务器实现如上所述的时移视频播放方法。
上述时移视频播放系统,在进行时移视频直播时,观看终端无需频繁从所述视频服务器加载和刷新直播索引文件,可以实现大时间跨度的时移直播,提高了时移视频直播的效果。
在一个实施例中,所述的时移视频播放系统还包括录制服务器;
所述录制服务器依据频道电子节目单对频道的直播索引文件和频道的视频切片文件进行录制,得到频道直播内容的视频文件,将所述视频文件发送至所述视频服务器进行存储;
所述视频服务器将存储的对外可访问路径、节目名称和节目开始时间写入对应频道的点播视频列表。
一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的时移视频播放方法。
一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的时移视频播放方法。
附图说明
图1是一实施例的时移视频播放方法流程图;
图2是一个示例的直播索引文件和时移索引文件的结构示意图;
图3是一个示例的观看终端的工作示意图;
图4是一实施例的时移视频直播系统结构示意图;
图5是一个实施例的时移视频直播系统的视频服务器时移直播切片流程图;
图6是一个实施例的时移视频直播系统的录制服务器的录制流程图;
图7是一个实施例的时移视频直播装置结构示意图。
具体实施方式
下面结合附图阐述本发明的时移视频播放方法和系统、视频直播系统的实施例。
本发明实施例的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或(模块)单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明的时移视频播放方法、装置和系统的技术方案,可以应用在视频服务器上,在观看终端进行时移视频播放中,实现大时间跨度的时移直播。
参考图1所示,图1是一实施例的时移视频播放方法流程图,包括如下步骤:
步骤S101,创建直播索引文件和时移索引文件;其中,所述直播索引文件记录直播时的视频切片文件,所述时移索引文件记录未删除的视频切片文件。
此步骤中,可以在视频服务器对直播的视频流进行切片,生成直播视频切片文件和视频直播索引文件;
对于对直播视频流进行切片的过程,可以包括如下步骤:
接收直播信号源的音视频帧数据的音视频帧,若当前没有视频切片文件或者当前视频切片文件的音视频内容时间长度已经大于等于预设的切片时间间隔且新收到的帧是视频关键帧,关闭当前的视频切片文件;
把当前视频切片文件的路径和时长以及当前视频切片文件的开始时间码写入直播索引文件;保留直播索引信息文件中的后设定个数的视频切片文件信息,其余的视频切片文件信息从直播索引文件中移除;把当前视频切片文件的路径和时长以及当前视频切片文件的开始时间码写入时移索引文件;从时移索引文件中移除早于最新时间点减去最大时移时间长度的视频切片文件信息,并将这些视频切片文件从文件系统中删除;
记录新的视频切片文件的开始时间码;创建新的视频切片文件作为当前视频切片文件。
在一个实施例中,可以对直播视频流进行切片,生成可配置时间长度的视频切片文件;通过保留可配置时间长度的视频切片文件,如保留最新4个小时的视频切片文件不删除,可以根据需要配置视频切片文件的时间长度,便于实现所需跨度的时移播放。
在一个实施例中,对于直播频道,可以通过所述直播索引文件记录频道最新的若干个视频切片文件,通过所述时移索引文件记录频道所有未删除的视频切片文件。
例如,在对直播的频道的视频流切片时,产生两个视频直播索引文件:即直播索引文件,记为LIVE_INDEX_FILE,一般情况下,可以仅记录频道最新的3-5个视频切片文件;另一个时移索引文件,记为TS_INDEX_FILE,用于记录频道所有未删除的视频切片文件。
可以将各个视频切片文件的切片文件路径及其播放时间分别记录在所述直播索引文件和时移索引文件中。将每个视频切片文件的相关信息记录在直播索引文件和时移索引文件中。
可选的,可以将每个视频切片文件的视频内容信息以及视频内容开始点对应的UTC(Coordinated Universal Time,世界统一时间)时间分别记录在所述直播索引文件和时移索引文件中。
例如,在记录每个视频切片文件的文件路径及视频内容开始点对应的UTC时间,即时间码,可以记为TC。
参考图2所示,图2是一个示例的直播索引文件和时移索引文件的结构示意图,基于RTP协议,索引文件中:
#EXTM3U:每个M3U8文件第一行必须是这个tag;
#EXT-X-MEDIA-SEQUENCE:音频和视频帧号;
#EXT-X-TARGETDURATION:指定最大的媒体段时间长度(秒);
#EXTINF:指定的时间长度必须小于或等于这个最大值;
#EXT-X-SEG-TIMECODE:时间码。
步骤S102,响应观看终端的播放请求,将所述直播索引文件和时移索引文件下发至所述观看终端,以用于在观看终端上创建视频切片文件数据缓存队列。
此步骤中,在视频服务器响应观看终端的播放请求,在观看终端进行频道直播时,将相应频道的直播索引文件和时移索引文件下发至所述观看终端,观看终端创建视频切片文件数据缓存队列。
作为实施例,观看终端在播放频道视频时,可以首先加载直播索引文件,依据视频切片文件顺序创建视频切片文件数据缓存队列;进一步的,观看终端加载直播索引文件后,依据所述直播索引文件中记录的切片文件路径加载视频切片文件并进入直播播放状态。
此后,观看终端加载所述时移索引文件,根据时移索引文件记录信息将视频切片文件信息从队列尾部加入所述视频切片文件数据缓存队列。
例如,观看终端在播放所述时移直播频道时,首先加载直播索引文件,在内存中按切片序号建立视频切片文件数据缓存队列,可以记为LIVE_PLAY_QUEUE,并依据所述直播索引文件里的切片文件路径加载视频切片文件快速进入播放状态;此时称为直播状态;
所述观看终端在加载直播文件索引的同时,加载时移索引文件,解析时移索引文件,把更多的视频切片文件信息从队列尾部加入LIVE_PLAY_QUEUE。
在一个算法示例中,所述LIVE_PLAY_QUEUE队列的节点SEGMENT可以记录如下信息:
SEGMENT{
SeqNo:视频切片序号;
Uri:视频切片的相对文件路径;其中,(Uniform Resource Identifier,Uri),即统一资源标识符;
Duration:视频切片的时长;
Time Code:该视频切片的内容播出的UTC时间;
Buffer:该视频切片文件的数据缓存;
};
通过上述视频切片文件数据缓存队列,可以观看终端对频道进行直播播放过程中进行大时间跨度的时移直播。
步骤S103,接收观看终端基于所述视频切片文件数据缓存队列发送的时移视频直播请求,将与所述时移视频直播请求相应的视频切片文件发送至所述观看终端进行播放。
上述步骤中,所述观看终端可以接收用户对播放进度发送的请求,从而可以在视频切片文件数据缓存队列检索相应的节点,将请求视频文件路径发送至视频服务器,下载相应视频文件进行播放,实现所需时间跨度的时移直播。
在一个实施例中,本发明的时移视频播放方法,在播放过程中,还可以按频道EPG(Electronic Program Guide,电子节目指南)对直播频道视频数据进行录制,所述录制方法通过录制服务器来执行,便于观看播放终端在播放过程中,进行直播状态、直播时移状态以及点播时移状态之间的切换。
具体的,依据频道电子节目单对频道的直播索引文件和频道的视频切片文件进行录制,得到频道直播内容的视频文件;将所述视频文件进行存储,并将存储的对外可访问路径、节目名称和节目开始时间写入对应频道的点播视频列表。
录制的数据源为频道的直播索引文件和频道视频切片文件;所述频道EPG为电子节目单,包括节目的名称,开始时间,按开始时间排序的(节目开始时间,节目名称)二元组数组。
对直播频道进行录制,可以以一个EPG条目为开始点,下一个EPG条目为结束点,将直播内容录制为完整的视频文件,一个节目录制完成时,将对应的节目名称,节目开始时间和所述的完整视频文件传输到视频服务器,视频服务器将该视频文件切片存储,将存储后的对外可访问的路径,节目名称,节目开始时间写入对应频道的点播视频列表;
所述直播频道的点播视频列表,可以记为CHANNEL_VOD_LIST;CHANNEL_VOD_LIST中的每个条目记为VOD_ITEM,VOD_ITEM包含如下信息:
VOD_ITEM{
Title:该点播视频的节目名称;
Time Code:该节目在直播频道播出时的起始UTC时间;
Uri:该点播视频存储在视频服务器上的Web路径;
};
另外,随着录制过程不断继续,CHANNEL_VOD_LIST会变得越来越长,越来越大,因此对于CHANNEL_VOD_LIST可以采用数据库表存储,便于观看终端检索一段时间内的CHANNEL_VOD_LIST,也便于移除太旧的VOD_ITEM;所述直播频道可配置保存所需周期的点播文件,例如保存1个月,则早于1个月前的点播文件将被移除,对应的VOD_ITEM也将其从数据库表中移除。
结合上述实施例,可以发现本发明的技术方案,实现了大时间跨度时移视频直播,通过对直播视频流切片时保存为时移索引文件和直播索引文件,解决了随着切片文件越来越多,索引文件越来越大,降低响应速度和浪费带宽的问题;通过将直播视频录制成单个的带有时间码的点播视频文件,关联到直播频道,解决了大时间跨度的时移直播问题。
作为实施例,所述观看终端通过检测视频切片文件序号是否发生跳跃来进行视频切片文件的播放;对于判定视频切片文件序号是否发生跳跃的方法,具体的,所述观看终端可以按视频切片文件的平均时长为间隔重新加载所述直播索引文件,将新增的视频切片文件信息从队列前面加入视频切片文件数据缓存队列中;当最新加载的直播索引文件中记录的最旧的视频切片文件序号大于所述视频切片文件数据缓存队列中最新的视频文件切片文件的序号加1时,判定所述视频切片文件序号发生跳跃。
参考图3所示,图3是一个示例的观看终端的工作示意图,对于所述观看终端,播放方案可以如下:
在频道直播过程中,所述观看终端可以按视频切片的平均时长为间隔重新加载直播索引文件,把新增的切片文件信息从队列前面加入队列LIVE_PLAY_QUEUE,如果最新加载的直播索引文件中记录最旧的视频切片序号小于等于所述队列LIVE_PLAY_QUEUE中最新视频文件切片的序号+1,则表明视频切片文件序号未发生跳跃,直接将新增的切片文件信息从队列前部填入队列LIVE_PLAY_QUEUE中。
在一个实施例中,若观看终端检测到视频切片文件序号发生跳跃,此时重新刷新时移索引文件,根据时移索引文件记录的视频切片文件,将队列LIVE_PLAY_QUEUE中跳跃的视频切片文件信息补齐。
在一个实施例中,当队列LIVE_PLAY_QUEUE中节点的总时长超出了视频切片中所配置的时移时长(如4个小时)时,把队列LIVE_PLAY_QUEUE尾部的视频切片文件信息移除。
在一个实施例中,当所述观看终端对播放进度发出请求时,根据所请求视频切片文件的对应的UTC时间(即时间码)从队列LIVE_PLAY_QUEUE中检索节点,如SEGMENT节点。可以根据时间码在时间轴上定位播放点,实现直播、直播时移、点播时移等状态,具体方案可以如下:
(1)直播状态:
如果以检索到的节点距离最新节点差值小于等于m,则观看终端进入直播状态,从最新节点回退m个节点处对应的视频切片文件开始播放;一般情况下,m取值为3。
(2)直播时移状态:
如果检索到的节点距离最新节点大于m,则观看终端进入直播时移状态,从检索到的节点对应的视频切片文件开始播放。
(3)点播时移状态:
如果所述请求的节点的时间码小于最旧的节点的时间码,观看终端从视频服务器加载频道在所请求时间码前后一定时间内的点播视频文件列表CHANNEL_VOD_LIST,从所述列表CHANNEL_VOD_LIST中检索出所请求时间码对应的VOD_ITEM,初始化一个点播播放队列VOD_PLAY_QUEUE,结构与队列LIVE_PLAY_QUEUE相同,并加载该VOD_ITEM对应的点播视频的索引信息文件,将该点播的视频切片文件信息填入列表VOD_PLAY_QUEUE;进一步地,从所述VOD_PLAY_QUEUE中检索所请求的时间码对应的视频切片文件,从该视频切片文件开始播放,此时播放终端进入点播时移状态。
上述实施例的技术方案中,所述观看终端在播放直播频道时,可以完全采用时间码在时间轴上定位播放点,从而实现层面从直播状态、直播时移状态与点播时移状态之间的切换,实现了在直播频道上大时间跨度视频直播时移。
下面结合附图阐述本发明的视频直播系统的实施例。
参考图4,图4是一个实施例的时移视频播放系统结构示意图,包括视频服务器,以及用于播放视频的观看终端,所述视频服务器实现前面各个实施例的时移视频播放方法。
进一步的,该视频直播系统还可以包括录制服务器;所述录制服务器依据频道电子节目单对频道的直播索引文件和频道的视频切片文件进行录制,得到频道直播内容的视频文件;将所述视频文件发送至所述视频服务器进行存储;所述视频服务器将存储的对外可访问路径、节目名称和节目开始时间写入对应频道的点播视频列表。
如上述实施例,该视频直播系统包括:观看终端,视频服务器,录制服务器;所述视频服务器支持直播和点播视频;对直播频道建立频道数据库,对直播频道的电子节目单(EPG),直播频道录制下来的点播视频列表按视频节目的播出时间进行索引和管理;对直播的视频流进行切片,生成直播视频切片文件和视频直播索引文件;
所述录制服务器对直播频道视频数据按频道EPG进行录制,录制数据源为频道的直播索引文件和频道视频切片文件;对直播频道进行录制,以一个EPG条目为开始点,下一个EPG条目为结束点,将直播内容录制为完整的视频文件,一个节目录制完成时,将对应的节目名称,节目开始时间和所述的完整视频文件传输到视频服务器,视频服务器将该视频文件切片存储,将存储后的对外可访问的路径,节目名称,节目开始时间写入对应频道的点播视频列表;
所述观看终端在播放所述时移直播频道时,首先加载直播索引文件,在内存中按切片序号建立视频切片文件数据缓存队列,并依据所述直播索引文件里的切片文件路径加载视频切片文件快速进入直播状态;所述观看终端在加载直播文件索引的同时,加载时移索引文件,解析时移索引文件,把更多的视频切片文件信息从队列尾部加入视频切片文件数据缓存队列;在播放直播频道时,根据时间码在时间轴上定位播放点,在直播状态、直播时移状态、点播时移状态之间进行切换,在直播频道上进行大时间跨度视频直播时移。
参考图5所示,图5是一个实施例的时移视频播放系统的视频服务器时移直播切片流程图;所述视频服务器切片包括如下步骤:
步骤s501,源源不断地接收来自直播信号源音视频帧数据,每接收到一帧音视频帧,需要执行如下操作:
判断是否需要产生新的视频切片文件,判断逻辑为:当前没有视频切片文件或者当前视频切片文件的音视频内容时间长度已经大于等于预设的切片时间间隔且新收到的帧是视频关键帧;满足所述条件即需要生成新的切片文件;如果不需要产生新的视频切片文件,执行步骤s509;
步骤s502,如果需要产生新的视频切片文件,需要关闭当前的视频切片文件;
步骤s503,把当前视频切片文件的URI和时长以及当前视频切片文件的开始时间码写入直播索引文件;
步骤s504,保留直播索引信息文件中的后3个视频切片文件信息,其余的视频切片文件信息从直播索引文件中移除;
步骤s505,把当前视频切片文件的URI和时长以及当前视频切片文件的开始时间码写入时移索引文件;
步骤s506,从时移索引文件中移除早于最新时间点减去最大时移时间长度的视频切片文件信息,并将这些视频切片文件从文件系统中删除;
步骤s507,记录新的视频切片文件的开始时间码;
步骤s508,创建新的视频切片文件作为当前视频切片文件。
步骤s509,将音视频帧打包转换后写入当前视频切片文件。
参考图6所示,图6是一个实施例的时移视频播放系统的录制服务器的录制流程图;所述录制过程包括如下步骤:
步骤s601,从直播索引中取出下一个视频切片作为当前视频切片文件;
步骤s602,下载当前视频切片文件数据;
步骤s603,解析当前视频切片文件数据为音视频帧;
步骤s604,判断当前视频切片解析完毕?若是,执行步骤s611;否则执行步骤s605;
步骤s605,计算音视频的时间码
步骤s606,判断是否需要录制到另外一个文件?若是,执行步骤s607;否则执行步骤s610;
步骤s607,关闭当前录制视频文件;
步骤s608,将当前录制视频文件和开始时间码提交到上传队列;
步骤s609,创建新的录制视频文件,将新的录制视频文件作为当前录制视频文件,记录当前视频帧的时间码作为开始时间码;
步骤s610,将音视频帧打包写入当前录制视频文件,步骤s603继续解析音视频帧;
步骤s611,判断是否还有下一个视频切片?若是,执行步骤s601;否则执行步骤s612;
步骤s612,载入直播索引文件;
步骤s613,解析直播索引文件,返回步骤s611。
在上传录制的视频文件到视频服务器过程中,先判断当前队列是否为空,若是,休眠,然后执行下一次判断,如果不为空,则将录制的视频文件上传到视频服务器。
下面结合附图阐述本发明的提供的时移视频播放装置。
参考图7,图7是一个实施例的时移视频播放装置结构示意图,包括:
创建模块101,用于创建直播索引文件和时移索引文件;其中,所述直播索引文件记录直播时的视频切片文件,所述时移索引文件记录未删除的视频切片文件;
响应模块102,用于响应观看终端的播放请求,将所述直播索引文件和时移索引文件下发至所述观看终端,用于在观看终端上创建视频切片文件数据缓存队列;
播放模块103,用于接收观看终端基于所述视频切片文件数据缓存队列发送的时移视频直播请求,将与所述时移视频直播请求相应的视频切片文件发送至所述观看终端进行播放。
上述时移视频播放装置,在进行时移视频直播时无需频繁刷新直播索引文件,可以实现大时间跨度的时移直播,提高了时移视频直播的效果。
本发明的时移视频直播装置与本发明的时移视频播放方法一一对应,在上述时移视频播放方法的实施例阐述的技术特征及其有益效果均适用于时移视频直播装置的实施例中,特此声明。
基于如上所述的示例,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上述各实施例中的任意一种时移视频播放方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各时移视频播放方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
据此,在一个实施例中还提供一种存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述各实施例中的任意一种时移视频播放方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种时移视频播放方法,其特征在于,包括如下步骤:
创建直播索引文件和时移索引文件;其中,所述直播索引文件记录直播时的视频切片文件,所述时移索引文件记录未删除的视频切片文件;
响应观看终端的播放请求,将所述直播索引文件和时移索引文件下发至所述观看终端,以用于在观看终端上创建视频切片文件数据缓存队列;
接收观看终端基于所述视频切片文件数据缓存队列发送的时移视频直播请求,将与所述时移视频直播请求相应的视频切片文件发送至所述观看终端进行播放。
2.根据权利要求1所述的时移视频播放方法,其特征在于,还包括:对直播视频流进行切片,生成可配置时间长度的视频切片文件。
3.根据权利要求1所述的时移视频播放方法,其特征在于,还包括对直播视频流进行切片的步骤:
接收直播信号源的音视频帧数据的音视频帧,若当前没有视频切片文件或者当前视频切片文件的音视频内容时间长度已经大于等于预设的切片时间间隔且新收到的帧是视频关键帧,关闭当前的视频切片文件;
把当前视频切片文件的路径和时长以及当前视频切片文件的开始时间码写入直播索引文件;保留直播索引信息文件中的后设定个数的视频切片文件信息,其余的视频切片文件信息从直播索引文件中移除;把当前视频切片文件的路径和时长以及当前视频切片文件的开始时间码写入时移索引文件;从时移索引文件中移除早于最新时间点减去最大时移时间长度的视频切片文件信息,并将这些视频切片文件从文件系统中删除;
记录新的视频切片文件的开始时间码;创建新的视频切片文件作为当前视频切片文件。
4.根据权利要求1所述的时移视频播放方法,其特征在于,所述直播索引文件记录频道最新的若干个视频切片文件,所述时移索引文件记录频道所有未删除的视频切片文件。
5.根据权利要求1所述的时移视频播放方法,其特征在于,还包括:
在观看终端检测到视频切片文件序号发生跳跃时,响应观看终端重新刷新时移索引文件的请求,将跳跃的视频切片文件信息下发至观看终端对时移索引文件进行更新。
6.一种时移视频播放装置,其特征在于,包括:
创建模块,用于创建直播索引文件和时移索引文件;其中,所述直播索引文件记录直播时的视频切片文件,所述时移索引文件记录未删除的视频切片文件;
响应模块,用于响应观看终端的播放请求,将所述直播索引文件和时移索引文件下发至所述观看终端,用于在观看终端上创建视频切片文件数据缓存队列;
播放模块,用于接收观看终端基于所述视频切片文件数据缓存队列发送的时移视频直播请求,将与所述时移视频直播请求相应的视频切片文件发送至所述观看终端进行播放。
7.一种时移视频播放系统,包括视频服务器,以及用于播放视频的观看终端,其特征在于,所述视频服务器实现如权利要求1至5任一项所述的时移视频播放方法。
8.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任意一项所述的时移视频播放方法。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至5任意一项所述的时移视频播放方法。
CN201711003359.4A 2017-10-24 2017-10-24 时移视频播放方法、装置和系统 Expired - Fee Related CN107864406B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711003359.4A CN107864406B (zh) 2017-10-24 2017-10-24 时移视频播放方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711003359.4A CN107864406B (zh) 2017-10-24 2017-10-24 时移视频播放方法、装置和系统

Publications (2)

Publication Number Publication Date
CN107864406A true CN107864406A (zh) 2018-03-30
CN107864406B CN107864406B (zh) 2019-03-26

Family

ID=61697375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711003359.4A Expired - Fee Related CN107864406B (zh) 2017-10-24 2017-10-24 时移视频播放方法、装置和系统

Country Status (1)

Country Link
CN (1) CN107864406B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108260024A (zh) * 2018-04-12 2018-07-06 腾讯科技(深圳)有限公司 直播数据处理方法、装置、计算机设备和存储介质
CN113068062A (zh) * 2021-04-06 2021-07-02 上海网梯数码科技有限公司 一种自动化排片推流直播的方法
CN113207007A (zh) * 2021-04-29 2021-08-03 杭州当虹科技股份有限公司 基于hls协议的直播录制方法
CN114827735A (zh) * 2022-04-21 2022-07-29 咪咕文化科技有限公司 视频回看方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231860A (zh) * 2011-06-03 2011-11-02 南京远古科技有限公司 一种直播时移数据存储方法
CN102572555A (zh) * 2012-01-16 2012-07-11 深圳市同洲视讯传媒有限公司 一种实现hls客户端视频直播回看的方法及系统
CN103686245A (zh) * 2013-11-22 2014-03-26 乐视致新电子科技(天津)有限公司 一种基于hls协议的点播与直播切换方法和装置
CN104080011A (zh) * 2014-07-08 2014-10-01 浪潮软件集团有限公司 一种基于hls协议实现时移系统的方法
WO2015035942A1 (en) * 2013-09-13 2015-03-19 Tencent Technology (Shenzhen) Company Limited Method for playing back live video and device
US20160014477A1 (en) * 2014-02-11 2016-01-14 Benjamin J. Siders Systems and Methods for Synchronized Playback of Social Networking Content
CN106534878A (zh) * 2016-11-01 2017-03-22 乐视控股(北京)有限公司 一种直播节目的回看方法、系统和服务器
CN106686471A (zh) * 2015-11-06 2017-05-17 中国电信股份有限公司 用于实现网络视频直播的方法和客户端
CN106791988A (zh) * 2016-11-23 2017-05-31 青岛海信电器股份有限公司 多媒体数据轮播方法和终端

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231860A (zh) * 2011-06-03 2011-11-02 南京远古科技有限公司 一种直播时移数据存储方法
CN102572555A (zh) * 2012-01-16 2012-07-11 深圳市同洲视讯传媒有限公司 一种实现hls客户端视频直播回看的方法及系统
WO2015035942A1 (en) * 2013-09-13 2015-03-19 Tencent Technology (Shenzhen) Company Limited Method for playing back live video and device
CN103686245A (zh) * 2013-11-22 2014-03-26 乐视致新电子科技(天津)有限公司 一种基于hls协议的点播与直播切换方法和装置
US20160014477A1 (en) * 2014-02-11 2016-01-14 Benjamin J. Siders Systems and Methods for Synchronized Playback of Social Networking Content
CN104080011A (zh) * 2014-07-08 2014-10-01 浪潮软件集团有限公司 一种基于hls协议实现时移系统的方法
CN106686471A (zh) * 2015-11-06 2017-05-17 中国电信股份有限公司 用于实现网络视频直播的方法和客户端
CN106534878A (zh) * 2016-11-01 2017-03-22 乐视控股(北京)有限公司 一种直播节目的回看方法、系统和服务器
CN106791988A (zh) * 2016-11-23 2017-05-31 青岛海信电器股份有限公司 多媒体数据轮播方法和终端

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
APPLE INC.: "2.Overview 3.Media Segments", 《HTTP LIVE STREAMING》 *
APPLE INC.: "Live Sessions", 《HTTP LIVE STREAMING OVERVIEW》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108260024A (zh) * 2018-04-12 2018-07-06 腾讯科技(深圳)有限公司 直播数据处理方法、装置、计算机设备和存储介质
CN108260024B (zh) * 2018-04-12 2020-06-12 腾讯科技(深圳)有限公司 直播数据处理方法、装置、计算机设备和存储介质
CN113068062A (zh) * 2021-04-06 2021-07-02 上海网梯数码科技有限公司 一种自动化排片推流直播的方法
CN113068062B (zh) * 2021-04-06 2022-06-17 上海网梯数码科技有限公司 一种自动化排片推流直播的方法
CN113207007A (zh) * 2021-04-29 2021-08-03 杭州当虹科技股份有限公司 基于hls协议的直播录制方法
CN114827735A (zh) * 2022-04-21 2022-07-29 咪咕文化科技有限公司 视频回看方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN107864406B (zh) 2019-03-26

Similar Documents

Publication Publication Date Title
CN107864382B (zh) 视频播放方法、装置和系统
CN107864406B (zh) 时移视频播放方法、装置和系统
US6970641B1 (en) Playback of interactive programs
WO2012096372A1 (ja) コンテンツ再生装置、コンテンツ再生方法、配信システム、コンテンツ再生プログラム、記録媒体、およびデータ構造
US9027057B2 (en) System and method for creating and managing custom media channels
US10015222B2 (en) Systems and methods for selective retrieval of adaptive bitrate streaming media
US20140101707A1 (en) Apparatus, systems and methods for presenting highlights of a media content event
CN111641866B (zh) 用于将辅助媒体项目插入到主媒体流的方法、系统及介质
US8930984B2 (en) Method of content substitution
JP2003513559A (ja) プッシュされたデータを記録するシステムおよび方法
US8665963B2 (en) Communication terminal, content reproduction method, content reproduction program, and content reproduction system for distributing and reproducing video contents with reduced stress
CN102487458A (zh) Ts文件的播放处理方法及装置
CA2388783A1 (en) Playback of interactive programs
WO2009006768A1 (fr) Système sans serveur pour prendre en charge un service de décalage temporel
CN111512635A (zh) 用于选择性跳过媒体内容的方法和系统
JP2007267351A (ja) 映像記録再生装置及び映像再生装置
JP2012049875A (ja) 映像配信サーバ及び映像配信方法
JP6077007B2 (ja) サブレコーディングの作成および管理
CN102340705B (zh) 一种获取关键帧的系统及方法
JP2010219640A (ja) 情報処理装置及び方法、プログラム、並びに情報処理システム
JP2008182539A (ja) 放送受信記録再生装置および放送受信記録再生方法
US20090260048A1 (en) Method of providing content and content providing apparatus, and method of reproducing content and content reproducing apparatus
US20070162948A1 (en) Personal video recorder apparatus providing an advertisement and method thereof
CN113347462B (zh) 基于视频源信息接合实现多个视频按时间进行点播的方法
US20130232531A1 (en) Video and/or audio data processing system

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190326

Termination date: 20211024