一种视频播放方法、装置及系统的制作方法

文档序号:8226395阅读:405来源:国知局
一种视频播放方法、装置及系统的制作方法
【技术领域】
[0001 ] 本发明涉及视频播放领域,特别涉及一种视频播放方法、装置及系统。
【背景技术】
[0002] 网络视频的播放方式分为直播和点播两种播放方式。视频直播是指随着事件的发 生、发展进程,同步制作和播出视频,视频的制作和播出同时发生;而视频点播是指根据用 户的需求播放已制作完成的视频,视频的制作和播出非同时发生。
[0003] 目前,视频点播服务器将视频切分为大小相同的若干数据块;而视频直播服务器 将视频按照固定的时间间隔进行切分,但是由于每一固定时间间隔中的视频的码率不相 同,导致切分的数据块大小不相同;即使视频直播服务器按照视频点播服务器切分视频的 方式对视频切分,也不能保证最后一次切分的数据块大小与之前切分的数据块大小相同, 并且直播的视频数据在分发时,尚无法知道文件的大小,因此也无法形成文件头信息,而直 播的视频在切块完成后,需要在文件头部增加文件头信息才能形成一个完整的视频文件, 但是不能保证文件头信息对应的数据块与切分的数据块大小相同。
[0004] 由于视频直播切分的数据块和视频点播切分的数据块大小不相同,视频直播切分 的数据块在视频直播完成后被丢弃,这就造成视频直播切分的数据块不能被视频点播所使 用,进而造成了视频直播切分的数据块资源的浪费,资源利用率不高。

【发明内容】

[0005] 本发明实施例的目的在于提供一种视频播放方法、装置及系统,以使视频直播切 分的数据块能被视频点播所使用,避免资源的浪费,提高资源利用率。
[0006] 为达到上述目的,本发明实施例公开了一种视频播放方法,应用于包含视频直播 服务器和视频点播服务器的视频播放系统,包括:
[0007] 视频直播服务器获得直播的目标视频的视频数据,将所述视频数据切分为N个数 据块;
[0008] 在所述目标视频直播完成之后,生成所述目标视频的文件头信息数据块和数据块 映射表,所述数据块映射表中包含用于播放目标视频的每个数据块的位置信息;
[0009] 将所述文件头信息数据块、所述N个数据块以及所述数据块映射表发送给视频点 播服务器;
[0010] 视频点播服务器接收并存储所述视频直播服务器发送的所述文件头信息数据块、 所述N个数据块以及所述数据块映射表;
[0011] 接收第一客户端发送的针对所述目标视频的点播指令;
[0012] 根据所述点播指令,向所述第一客户端发送所述目标视频的数据块以及所述数据 块映射表,使得所述第一客户端根据接收到的所述数据块映射表中包含的用于播放目标视 频的每个数据块的位置信息,播放每个数据块对应的视频内容。
[0013] 较佳的,所述将所述N个数据块发送给视频点播服务器,包括:
[0014] 所述视频直播服务器每切分完成一个数据块,即时将切分的数据块发送给视频点 播服务器;或
[0015] 所述N个数据块切分完成之后,将所述N个数据块同时发送给视频点播服务器。
[0016] 较佳的,所述视频点播服务器预先存储客户端向所述视频点播服务器上报的自身 客户端存储的数据块信息;
[0017] 所述向所述第一客户端发送所述目标视频的数据块,包括:
[0018] 根据所述视频点播服务器预先存储客户端向所述视频点播服务器上报的自身客 户端存储的数据块信息,判断除所述第一客户端的其他客户端是否有所述第一客户端自身 没有存储的所述目标视频的全部数据块;
[0019] 如果是,指示除所述第一客户端之外的其他客户端向所述第一客户端发送:所述 第一客户端自身没有存储的所述目标视频的全部数据块;
[0020] 如果否,判断除所述第一客户端的其他客户端是否存储有所述第一客户端自身没 有存储的所述目标视频的部分数据块;
[0021] 在除所述第一客户端的其他客户端存储有所述第一客户端自身没有存储的所述 目标视频的部分数据块的情况下,向所述第一客户端发送:所述第一客户端自身没有存储 的、且除所述第一客户端之外的其他客户端没有存储的数据块,并指示除所述第一客户端 之外的其他客户端向所述第一客户端发送:所述第一客户端自身没有存储的、且除所述第 一客户端的其他客户端存储的所述目标视频的数据块;
[0022] 在除所述第一客户端的其他客户端没有存储所述第一客户端自身没有存储的所 述目标视频的部分数据块的情况下,向所述第一客户端发送所述目标视频的全部数据块。
[0023] 为达到上述目的,本发明实施例公开了一种视频播放方法,应用于第一客户端,包 括:
[0024] 向视频点播服务器发送针对目标视频的点播指令;
[0025] 接收所述视频点播服务器发送的所述目标视频的数据块以及数据块映射表,所述 数据块映射表是由视频直播服务器在所述目标视频直播完成后,生成并发送给所述视频点 播服务器的,所述数据块映射表中包含用于播放目标视频的每个数据块的位置信息;
[0026] 根据接收到的所述数据块映射表中包含的用于播放目标视频的每个数据块的位 置信息,播放每个数据块对应的视频内容。
[0027] 较佳的,客户端预先向所述视频点播服务器上报自身客户端存储的数据块信息; 所述方法还包括:
[0028] 接收第二客户端发送的所述第一客户端自身没有存储的所述目标视频的数据块, 其中,所述第二客户端为:除所述第一客户端之外的、所述视频点播服务器根据预先存储的 客户端自身存储的数据块信息,指示向所述第一客户端发送数据块的客户端。
[0029] 为达到上述目的,本发明实施例公开了一种视频播放方法,应用于视频点播服务 器,包括:
[0030] 接收并存储视频直播服务器发送的目标视频的文件头信息数据块、将目标视频切 分得到的N个数据块以及生成的目标视频的数据块映射表,所述数据块映射表中包含用于 播放目标视频的每个数据块的位置信息;
[0031] 接收客户端发送的针对所述目标视频的点播指令;
[0032] 根据所述点播指令,向发送所述点播指令的客户端发送所述目标视频的数据块以 及所述数据块映射表,使得发送所述点播指令的客户端根据接收到的所述数据块映射表中 包含的用于播放目标视频的每个数据块的位置信息,播放每个数据块对应的视频内容。
[0033] 较佳的,所述视频点播服务器预先存储客户端向所述视频点播服务器上报的自身 客户端存储的数据块信息;所述向发送所述点播指令的客户端发送所述目标视频的数据 块,包括:
[0034] 根据所述视频点播服务器预先存储客户端向所述视频点播服务器上报的自身客 户端存储的数据块信息,判断除发送所述点播指令的客户端的其他客户端是否有发送所述 点播指令的客户端自身没有存储的所述目标视频的全部数据块;
[0035] 如果是,指示除发送所述点播指令的客户端之外的其他客户端向发送所述点播指 令的客户端发送:发送所述点播指令的客户端自身没有存储的所述目标视频的全部数据 块;
[0036] 如果否,判断除发送所述点播指令的客户端的其他客户端是否存储有发送所述点 播指令的客户端自身没有存储的所述目标视频的部分数据块;
[0037] 在除发送所述点播指令的客户端的其他客户端存储有发送所述点播指令的客户 端自身没有存储的所述目标视频的部分数据块的情况下,向发送所述点播指令的客户端发 送:发送所述点播指令的客户端自身没有存储的、且除发送所述点播指令的客户端之外的 其他客户端没有存储的数据块,并指示除发送所述点播指令的客户端之外的其他客户端向 发送所述点播指令的客户端发送:发送所述点播指令的客户端自身没有存储的、且除发送 所述点播指令的客户端的其他客户端含有的所述目标视频的部分数据块;
[0038] 在除发送所述点播指令的客户端的其他客户端没有存储发送所述点播指令的客 户端自身没有存储的所述目标视频的部分数据块的情况下,向发送所述点播指令的客户端 发送所述目标视频的全部数据块。
[0039] 为达到上述目的,本发明实施例公开了一种视频播放系统,包括:视频直播服务器 和视频点播服务器,其中,
[0040] 所述视频直播服务器,用于获得直播的目标视频的视频数据,将所述视频数据切 分为N个数据块;在所述目标视频直播完成之后,生成所述目标视频的文件头信息数据块 和数据块映射表,所述数据块映射表中包含用于播放目标视频的每个数据块的位置信息; 将所述文件头信息数据块、所述N个数据块以及所述数据块映射表发送给所述视频点播服 务器;
[0041] 所述视频点播服务器,用于接收并存储所述视频直播服务器发送的所述文件头信 息数据块、所述N个数据块以及所述数据块映射表;接收第一客户端发送的针对所述目标 视频的点播指令;根据所述点播指令,向所述第一客户端发送所述目标视频的数据块以及 所述数据块映射表,使得所述第一客户端根据接收到的所述数据块映射表中包含的用于播 放目标视频的每个数据块的位置信息,播放每个数据块对应的视频内容。
[0042] 较佳的,所述视频直播服务器包括:直播视频数据获得单元、映射表生成单元、第 一数据发送单元,其中,
[0043] 所述直播视频数据获得单元,用于获得直播的目标视频的视频数据,将所述视频 数据切分为N
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1