CN113038033B - 一种获取视频的方法 - Google Patents
一种获取视频的方法 Download PDFInfo
- Publication number
- CN113038033B CN113038033B CN202110228979.8A CN202110228979A CN113038033B CN 113038033 B CN113038033 B CN 113038033B CN 202110228979 A CN202110228979 A CN 202110228979A CN 113038033 B CN113038033 B CN 113038033B
- Authority
- CN
- China
- Prior art keywords
- video
- file
- request
- time point
- cache
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/268—Signal distribution or switching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
Abstract
本发明提供了一种获取视频的方法,包括:格式转换步骤:视频服务器将获取到的视频转换为TS码流格式的文件进行存储;视频拼接步骤:云服务器接收视频服务器传输的TS码流格式的视频数据,按时间点拼接视频数据;视频请求步骤:用户通过用户APP向云服务器请求获取视频数据。本发明的有益效果是:本发明解决传输重复视频数据的问题,节省传输流量,同时提升视频响映速度,实现任意时间自动获取特定小视频。
Description
技术领域
本发明涉及视频处理技术领域,尤其涉及一种获取视频的方法。
背景技术
目前的技术中,客户向服务器请求视频数据的过程中存在着视频数据重复传输的问题,消耗传输流量,影响视频响映速度。
发明内容
本发明提供了一种获取视频的方法,包括:
格式转换步骤:视频服务器将获取到的视频转换为TS码流格式的文件进行存储;
视频拼接步骤:云服务器接收视频服务器传输的TS码流格式的视频数据,按时间点拼接视频数据;
视频请求步骤:用户通过用户APP向云服务器请求获取视频数据。
作为本发明的进一步改进,所述格式转换步骤包括:
TS码流转换步骤:视频服务器将获取到的视频流封装为TS码流的格式进行保存;
TS码流编码步骤:把TS视频码流按照时间分布存储,利用m3u8索引文件管理视频,视频在各个时间点内进行动态合成;
TS码流存储步骤:把TS码流文件保存在由内存构成的虚拟文件系统中,到达设定容量后,统一进行落盘操作。
作为本发明的进一步改进,在所述TS码流编码步骤中,单个TS视频码流时间长度为2秒。
作为本发明的进一步改进,TS码流格式的文件采用自定义信息.m3u8格式,由标准头部、TS文件描述部分、结尾、扩展业务信息组成,自定义信息.m3u8格式以"#EXT-HAOKE-INF"标签开头,扩展业务信息包括发生事件的时间点、位置、事件类型、人员ID。
作为本发明的进一步改进,在所述视频拼接步骤中,云SaaS服务器收到用户指令时间点,向视频服务器进行视频请求,视频服务器按照时间段对现在视频文件进行切片处理,将切片后的视频文件及.m3u8描述文件上传到OOS服务器进行存储;云服务器收到视频数据后,将视频的.m3u8文件内容加入总.m3u8文件中,统一进行索引。
作为本发明的进一步改进,在所述视频拼接步骤中,对现在视频文件进行切片处理的方式为:把时间段内20秒的视频,按每2秒一个切片,一共分为10个切片。
作为本发明的进一步改进,在所述视频请求步骤中,当用户向云服务器获取视频时,云服务器优先查看缓存内是否有相应时间点数据,如果有,则返回视频播放地址给用户。
作为本发明的进一步改进,所述视频请求步骤包括依次执行如下步骤:
步骤1:用户查询视频,云服务器按用户请求时间点前后10秒查询缓存视频;
步骤2:判断缓存是否包含所需视频,若是,那么执行视频返回步骤,否则执行步骤3;
步骤3:判断视频开始时间是否不满足,若是,那么请求前20秒视频,然后执行视频获取步骤,否则执行步骤4;
步骤4:判断视频结束时间是否不满足,若是,那么请求后20秒视频,然后执行视频获取步骤,否则直接按照请求时间点在云服务器缓存中截取视频返回给APP用户;
视频获取步骤:获取到视频进行拼接,然后执行视频返回步骤;
视频返回步骤:按请求时间点准备视频,向用户返回视频播放地址。
作为本发明的进一步改进,在所述视频请求步骤中,如果请求时间点不包含在缓存中,视为缓存击穿,则进行网络请求,结合缓存中现有时间点,避免时间覆盖,进行请求时间点调整,调整后向视频服务器进行请求,得到文件后整合入缓存。
作为本发明的进一步改进,在所述视频请求步骤中,当新用户请求时间点位于缓存中时,云服务器不需要再向视频服务器请求数据,直接生成索引文件,然后将索引文件反馈给用户端进行播放。
本发明的有益效果是:本发明解决传输重复视频数据的问题,节省传输流量,同时提升视频响映速度,实现任意时间自动获取特定小视频。
附图说明
图1是本发明的原理示意图;
图2是采用ts码流的格式进行视频存储的示意图;
图3是视频请求示意图;
图4是向视频服务器智能请求视频数据的流程图;
图5是两次请求时间点的示意图;
图6是用户请求视频的实施例示意图。
具体实施方式
如图1所示,本发明公开了一种获取视频的方法,解决传输重复视频数据的问题,节省传输流量,同时提升视频响映速度。本发明采用按时间点请求视频数据,转发给客户,并在云服务器进行缓存,多个时间点请求后拼接成完整视频数据,当再有新请求时按时间点进行视频提取。
本发明包括视频服务器、云服务器、用户APP,云服务器为云SaaS服务器。
本发明具有如下技术创新点:
一.采用ts码流的格式进行视频存储的方法
一般情况视频采用mp4、AVI、MPG、DAV格式进行存储,但不利于任意时间小视频的提取。
如图2所示,本发明首先把视频码流存储更改如下:
1.TS码流转换:
首先从监控系统中获取到视频流(H264、mp4、AVI、MPG、DAV等)
转封装为TS码流的格式进行保存。
表1是码流转换示意表。
2.TS码流编码:
把TS视频码流按照时间分布存储,单个TS视频码流时间长度为2秒,利用m3u8索引文件管理视频,视频在各个时间点内的动态合成,达到便于按索引进行查询,便于任意时间段小视频传输的目的。
3.TS码流存储:
把TS码流保存在由内存构成的虚拟文件系统中,到达一定容量后,统一进行落盘操作。而不是将收到的TS码流直接写入磁盘系统中,这种使用内存进入缓存,再统一落盘的机制可避免高IO带来的系统不稳定性以及高负荷,同时减少了碎片化问题,以及降低硬盘损耗。
二.按照自定义索引文件传输视频的方法
按照自定义索引文件传输视频,便于云服务器对视频进行管理。
标准的.m3u8文件格式:
标准头部 | TS文件描述部分 | 结尾 |
标准头部包含:文件类型标识、协议版本、总时长、播放序列号。
TS文件描述部分包含:TS文件的单个段、单段时长、对应的视频文件名称。
文件尾部以#EXT-X-ENDLIST,结尾。
本发明采用自定义信息.m3u8格式,其组成:
标准头部 | TS文件描述部分 | 结尾 | 扩展业务信息 |
在原有.m3u8基础之上,增加自定义部分:"#EXT-HAOKE-INF"标签开头,后面的扩展业务信息包括:发生事件的时间点、位置、事件类型、人员ID等,云SaaS服务器通过扩展信息快速解析出事件,提高解析效率。
自定义信息.m3u8格式,例如为:
#EXT-HAOKE-INF:{time:20201110091223,place:102,event:1,userid:9527}。
三.按时间点拼接视频数据
云SaaS服务器,收到小视频后,按时间点拼接视频数据,可减少冗余视频,高效利用存储空间。具体包括:
1.单次请求分片上传:
云SaaS服务器收到用户指令时间点,向视频服务器进行视频请求,视频服务器按照时间段对现在视频文件进行切片处理,把时间段内20秒的视频,按每2秒一个切片,一共10个切片,加一个.m3u8描述文件。这11个文件完成之后,通过OSS接口上传到OOS服务器进行存储。
2.按时间点拼接,建立索引文件:
按时间点进行拼接,减少重复请求,节约存储空间,最终整个视频拼接完成。云SaaS服务器收到这段视频后,将这段视频的.m3u8文件内容加入总.m3u8文件中,统一进行索引。以方便下次用户请求时查询缓存。
如图3所示,云服务器将每次请求的数据部分合并在文件系统中,而索引文件部分内容并入总索引文件中。运用合理的请求机制,得到的请求数据原则是不会有重复的,为了防止这种情况引起文件重复,云服务器在合并.m3u8文件时,也进行了索引内容重复项检测。将过滤完重复内容的索引信息合并入总索引文件。合并索引信息时,按照时间点先后,将新内容插入到总索引文件的合理位置。
四.向视频服务器智能请求视频数据
减少向视频服务器请求数据
1.当用户向云服务器获取视频时,云服务器优先查看缓存内是否有相应时间点数据,其具体实施例如图4所示,其包括:
步骤1:用户查询视频,云服务器按用户请求时间点前后10秒查询缓存视频。
步骤2:判断缓存是否包含所需视频,若是,那么执行视频返回步骤,否则执行步骤3。
步骤3:判断视频开始时间是否不满足,若是,那么请求前20秒视频,然后执行视频获取步骤,否则执行步骤4。
步骤4:判断视频结束时间是否不满足,若是,那么请求后20秒视频,然后执行视频获取步骤,否则直接按照请求时间点在云服务器缓存中截取视频返回给APP用户。
视频获取步骤:获取到视频进行拼接,然后执行视频返回步骤。
视频返回步骤:按请求时间点准备视频,向用户返回视频播放地址。
2.如果请求时间点不包含在缓存中,视为缓存击穿,则进行网络请求,结合缓存中现有时间点,避免时间覆盖,进行请求时间点调整,调整后向视频服务器进行请求。得到文件后整合入缓存。
如图5所示,第一次请求时间点是12:00:10,云服务器返回12:00:00-12:00:20之间的数据。
第二次请求时间点是12:00:20,云服务器返回12:00:10-12:00:30之间的数据。可以看出第一次请求和第二次请求之间有重合部分,优化算法:调整请求时间点为:12:00:30,云服务器返回12:00:20-12:00:40之间的数据,避开重复时间点,减少重复传送。优化后的第二次传送,云服务器的情况如下:12:00:00-12:00:20-12:00:40。
综上,第一个请求时间为12:00:10秒,视频服务器应该回复12:00:00-12:00:20之间的视频。云服务器得到了12:00:00-12:00:20之间的视频。假设第二个请求时间12:00:20秒,实际提供视频时间应该为12:00:10-12:00:30。云服务器进行缓存判断,发现有重合部分,从12:00:10-12:00:20秒的视频已经在缓存中了,所以进行请求时间调整,调整为12:00:20-12:00:40。向视频服务器请求完成后,云服务器重新按请求时间点,生成一个m3u8文件即可提供视频播放功能。
3.当新用户请求时间点位于缓存中时,云Saas服务器不需要再向视频服务器请求数据,直接生成索引文件,然后将索引文件反馈给用户端进行播放,如图6所示。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (7)
1.一种获取视频的方法,其特征在于,包括:
格式转换步骤:视频服务器将获取到的视频转换为TS码流格式的文件进行存储;
视频拼接步骤:云服务器接收视频服务器传输的TS码流格式的视频数据,按时间点拼接视频数据;
视频请求步骤:用户通过用户APP向云服务器请求获取视频数据;
所述格式转换步骤包括:
TS码流转换步骤:视频服务器将获取到的视频流封装为TS码流的格式进行保存;
TS码流编码步骤:把TS视频码流按照时间分布存储,利用m3u8索引文件管理视频,视频在各个时间点内进行动态合成;
TS码流存储步骤:把TS码流文件保存在由内存构成的虚拟文件系统中,到达设定容量后,统一进行落盘操作;
在所述视频请求步骤中,当用户向云服务器获取视频时,云服务器优先查看缓存内是否有相应时间点数据,如果有,则返回视频播放地址给用户;
所述视频请求步骤包括依次执行如下步骤:
步骤1:用户查询视频,云服务器按用户请求时间点前后10秒查询缓存视频;
步骤2:判断缓存是否包含所需视频,若是,那么执行视频返回步骤,否则执行步骤3;
步骤3:判断视频开始时间是否不满足请求的开始时间,若是,那么向文件系统请求访问该请求时间点之前的20秒视频并加入到缓存,然后执行视频获取步骤,否则执行步骤4;
步骤4:判断视频结束时间是否不满足请求的结束时间,若是,那么向文件系统请求访问该请求时间点之后的20秒视频并加入到缓存,然后执行视频获取步骤,否则直接按照请求时间点在云服务器缓存中截取视频返回给APP用户;
视频获取步骤:获取到视频进行拼接,然后执行视频返回步骤;
视频返回步骤:按请求时间点准备视频,向用户返回视频播放地址。
2.根据权利要求1所述的方法,其特征在于,在所述TS码流编码步骤中,单个TS视频码流时间长度为2秒。
3.根据权利要求1所述的方法,其特征在于,TS码流格式的文件采用自定义信息的m3u8格式文件,由标准头部、TS文件描述部分、结尾和扩展业务信息组成,自定义信息的m3u8格式文件以"#EXT-HAOKE-INF"标签开头,扩展业务信息包括发生事件的时间点、位置、事件类型和人员ID,m3u8格式文件是一种索引文件,通过m3u8格式文件来解析对应的放在服务器上的视频网络地址,从而实现在线播放。
4.根据权利要求3所述的方法,其特征在于,在所述视频拼接步骤中,云服务器收到用户指令时间点,向视频服务器进行视频请求,视频服务器按照时间段对现在视频文件进行切片处理,将切片后的视频文件及 切片后的视频文件的m3u8格式文件上传到云服务器进行存储;云服务器收到视频数据后,将切片后的视频文件的m3u8文件加入总的m3u8文件中,统一进行索引。
5.根据权利要求4所述的方法,其特征在于,在所述视频拼接步骤中,对现在视频文件进行切片处理的方式为:把时间段内20秒的视频,按每2秒一个切片,一共分为10个切片。
6.根据权利要求1所述的方法,其特征在于,在所述视频请求步骤中,如果请求时间点不包含在缓存中,视为缓存击穿,则进行网络请求,结合缓存中现有时间点,避免时间覆盖,进行请求时间点调整,调整后向视频服务器进行请求,得到文件后整合入缓存。
7.根据权利要求6所述的方法,其特征在于,在所述视频请求步骤中,当新用户请求时间点位于缓存中时,云服务器不需要再向视频服务器请求数据,直接生成索引文件,然后将索引文件反馈给用户端进行播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110228979.8A CN113038033B (zh) | 2021-03-02 | 2021-03-02 | 一种获取视频的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110228979.8A CN113038033B (zh) | 2021-03-02 | 2021-03-02 | 一种获取视频的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113038033A CN113038033A (zh) | 2021-06-25 |
CN113038033B true CN113038033B (zh) | 2023-07-07 |
Family
ID=76465336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110228979.8A Active CN113038033B (zh) | 2021-03-02 | 2021-03-02 | 一种获取视频的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113038033B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115250266B (zh) * | 2022-09-22 | 2022-12-16 | 中电信数字城市科技有限公司 | 视频处理方法及装置、流媒体设备及存储点播系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724429A (zh) * | 2011-12-13 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种循环录制的方法 |
CN102752538A (zh) * | 2011-11-30 | 2012-10-24 | 新奥特(北京)视频技术有限公司 | 一种代理码流素材的生成的方法 |
CN105228001A (zh) * | 2015-09-26 | 2016-01-06 | 北京暴风科技股份有限公司 | 一种flv格式视频在线播放的方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104349176B (zh) * | 2013-07-30 | 2017-11-10 | 中国电信股份有限公司 | 自适应流媒体系统、下载方法及流媒体服务器、用户终端 |
CN104469433B (zh) * | 2013-09-13 | 2018-09-07 | 深圳市腾讯计算机系统有限公司 | 一种视频直播回看方法及装置 |
CN109168090A (zh) * | 2018-10-22 | 2019-01-08 | 中电科新型智慧城市研究院有限公司 | 利用gpu实现h264视频流转hls视频流的方法 |
-
2021
- 2021-03-02 CN CN202110228979.8A patent/CN113038033B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752538A (zh) * | 2011-11-30 | 2012-10-24 | 新奥特(北京)视频技术有限公司 | 一种代理码流素材的生成的方法 |
CN102724429A (zh) * | 2011-12-13 | 2012-10-10 | 新奥特(北京)视频技术有限公司 | 一种循环录制的方法 |
CN105228001A (zh) * | 2015-09-26 | 2016-01-06 | 北京暴风科技股份有限公司 | 一种flv格式视频在线播放的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113038033A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8327013B2 (en) | Dynamic index file creation for media streaming | |
US10397293B2 (en) | Dynamic chunking for delivery instances | |
JP6181650B2 (ja) | 送信装置、送信方法およびネットワーク装置 | |
US8645504B2 (en) | Dynamic chunking for delivery instances | |
JP2020047303A (ja) | メディアデータの提供方法、メディアデータの受信方法、及びプログラム | |
US20140165119A1 (en) | Offline download method, multimedia file download method and system thereof | |
US8090761B2 (en) | Storage and distribution of segmented media data | |
CN104396263A (zh) | 用于流式媒体内容的实时复用变换的方法和系统 | |
CN102148870B (zh) | 一种云存储系统及其实现方法 | |
CN102055718B (zh) | 一种在http streaming系统中实现分层请求内容的方法,装置和系统 | |
US20140365613A1 (en) | Defragmentation of adaptive streaming segment files in a content delivery network | |
US8954540B2 (en) | Dynamic audio track selection for media streaming | |
US11653040B2 (en) | Method for audio and video just-in-time transcoding | |
US9338204B2 (en) | Prioritized side channel delivery for download and store media | |
US8806051B2 (en) | Multimedia file sharing method and system thereof | |
CN113038033B (zh) | 一种获取视频的方法 | |
WO2013148003A1 (en) | Dynamic audio track selection for media streaming | |
US20170140443A1 (en) | Dynamic manifest generation for delivery instances | |
CN110519656A (zh) | 自适应流媒体的播放方法、系统以及服务器 | |
CN114417055A (zh) | 一种视频播放方法、装置、计算机设备和存储介质 | |
CN103605795A (zh) | 一种基于元数据的文件存储方法和装置 | |
WO2021009597A1 (en) | A system and a method for streaming videos by creating object urls at client | |
WO2014195906A2 (en) | Defragmentation of adaptive streaming segment files in a content delivery network | |
CN114254134A (zh) | 媒体文件获取方法、服务器、终端和存储介质 | |
US9323857B2 (en) | System and method for providing content-related information based on digital watermark and fingerprint |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230822 Address after: 518000 room 1004, block B, building 1, Shenzhen International Innovation Valley, dashiyi Road, Xili community, Xili street, Nanshan District, Shenzhen, Guangdong Patentee after: Shenzhen Haoke Zhilian Technology Co.,Ltd. Address before: 518000 1003-1004, block B, building 1, Shenzhen International Innovation Valley, Dali community, Xili street, Nanshan District, Shenzhen City, Guangdong Province Patentee before: Shenzhen Haoke Electronics Co.,Ltd. |