CN116610823B - 一种统一访问多媒体资源的方法和系统 - Google Patents
一种统一访问多媒体资源的方法和系统 Download PDFInfo
- Publication number
- CN116610823B CN116610823B CN202310489556.0A CN202310489556A CN116610823B CN 116610823 B CN116610823 B CN 116610823B CN 202310489556 A CN202310489556 A CN 202310489556A CN 116610823 B CN116610823 B CN 116610823B
- Authority
- CN
- China
- Prior art keywords
- file
- multimedia
- address
- frame
- original
- 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
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000006243 chemical reaction Methods 0.000 claims abstract description 4
- 238000012360 testing method Methods 0.000 claims description 23
- 238000010586 diagram Methods 0.000 claims description 16
- 230000003068 static effect Effects 0.000 claims description 4
- 230000003139 buffering effect Effects 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 7
- 238000012545 processing Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000029087 digestion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/41—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种统一访问多媒体资源的方法和系统,所述方法包括:S1,获取原始多媒体文件,所述多媒体文件包括视频、图片、音频、文件夹、网页资源之一或者任意组合;S2,把原始多媒体文件的原始地址转换成对应统一多媒体文件访问的新地址;S3,地址转换之后,自动识别多媒体形式;S4,依据内部定义的多媒体形式,判断多媒体文件形式是否需要对原始多媒体资源进行缓存操作;S5,通过统一多媒体文件访问的新地址对多媒体资源进行统一访问。本发明能够通过统一的方法去读取本地、网络上的多媒体资源,同时读取的形式有图片、视频、音频,还包括多媒体文件的文件夹、网页等。可以大大的降低开发者多于不同形式和地方的多媒体操作成本,提高开发效率。
Description
技术领域
本发明涉及移动终端技术领域,特别是涉及一种统一访问多媒体资源的方法和系统。
背景技术
在多媒体技术领域,通过程序读取本地多媒体或网络多媒体资源,是程序软件重要的工作之一,但在实现相关程序时,开发者需要对本地多媒体和网络多媒体采用不同的程序处理方式,这样无疑增加了开发者的开发工作,并导致代码变多,给代码维护带来一定成本。
随着互联网的发展,在互联网中出现的多媒体格式也是蓬勃发展,一方面多媒体的格式在变多,比如视频的格式不在局限rmvb、wav、avi等格式,mp4等新兴的视频格式似乎在当下更受欢迎。另一方面多媒体的形式也在变,不只局限在图片、视频、音频几个方面,还包括直播、网页等更丰富的形式。这些改变无疑进一步增加开发者对多媒体开发的代码和成本变多。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种统一访问多媒体资源的方法和系统。
为了实现本发明的上述目的,本发明提供了一种统一访问多媒体资源的方法和系统,其统一了本地和网络不同形式的多媒体资源的访问方式,使用一套方法即可完成对本地多媒体资源和网络多媒体资源的访问操作,简化了开发代码,提升开发效率的同时也能降低维护成本。
一种统一访问多媒体资源的方法和系统,其关键在于,如何统一不同形式的多媒体资源、统一访问本地和网络资源的方式。统一访问多媒体资源的方法包括以下步骤:
S1,统一多媒体资源的地址描述;
本地多媒体资源的地址一般是d:/1.mp4,而网络资源的地址一般是http://域名/1.mp4;两者地址信息描述不一致,因此需要统一为“协议://资源路径”的格式,其中协议表示了多媒体的访问形式,其中常用的协议可定义如下:
-file://本地文件多媒体(多媒体常指图片、视频、音频等文件,下面等同)
-folder://本地多媒体文件夹
-http://网络http多媒体资源
-https://网络http多媒体资源
-crawler://网页多媒体资源
-mms://网络单播资源
-rtsp://网络直播资源
S2,统一多媒体内容的描述;
常见的图片、视频、音频、直播等多媒体资源内容是不一样的,有的有图片、有的还有声音,也可以把本地包含多媒体文件的文件夹、远程包括图片或视频的网页当成是一组特殊多媒体。要统一对其操作,必须统一对其内容的逻辑描述;通过实例分析会发现这些文件都可以与时间关联,把某个时间点上的对应的多媒体资源称为帧,多媒体资源有多个时间点,既有多帧,同时帧与帧之间有不同的时间延迟,每帧还包括图片和声音等信息。本方法就是通过帧来统一描述所有多媒体资源,常用多媒体的抽象描述如下:
-本地文件夹(里面放有多媒体资源的文件夹):把每个文件看作一帧,则其由多帧组成,每帧之间存在相同延迟时间,每帧有图片和声音
-静态图片(png、jpg、bmp):只有一帧,这一帧播放的时间是无限,每帧只有图片
-动态图片(gif):由多帧组成,每帧之间存在不同延迟时间,每帧只有图片
-视频(avi、mp4、wav等):由多帧组成,每帧之间存在相同延迟时间,每帧有图片和声音
-音频(mp3等):由多帧组成,每帧之间存在相同延迟时间,每帧只有声音
-直播(mms、rtsp等):由多帧组成,每帧之间存在相同延迟时间,每帧有图片和声音
-图片网页:由多帧组成,每帧之间存在相同延迟时间,每帧有图片
-视频网页:把网页中多个视频,看着可以组合成一个大视频,因此其由多帧组成,每帧之间存在相同延迟时间,每帧有图片声音
S3,提供统一本地缓存规则;
上述描述的多媒体文件,如果在本地操作,需要先缓存在本地,以方便在本地对其操作。缓存应当自动缓存,自动缓存规则如下:
-图片、视频、音频、网页等网络资源自动缓存到本地,也就是http://、https://、crawler://协议的多媒体资源会自动下载到本地缓存;
-直播类型的实时资源,缓存到本地需要先把实时的资源转换成录播视频再缓存到本地,也就是mms://、rtsp://等协议的资源;由于直播数据量大,如果完成到本地在播放的话,处理比较延迟,因此直播类型可以不缓存到本地,直接进行播放处理,提供效率。
S4,提供文件形式自动识别规则;
上述内容中提到把一个文件夹也作为多媒体新形式处理,一个文件夹中也同时存在图片、视频、音频等多种形式,因此在处理文件这种组合多媒体时,需要程序自动识别内部文件的真实形式。本发明设计的自动形式识别步骤如下:
-通过多媒体地址中的协议识别;获得协议名称和内部支持的形式枚举对比,如果对比成功则形式识别成功,否则识别失败,继续识别;
-通过对媒体地址中的后缀名识别;获得地址中的后缀名再和内部的形式枚举对比,如果对比成功则形式识别成功,否则识别失败,继续识别;
-通过多媒体地址中的关键字识别;获取地址中的资源路径,判断其中是否包括一些固定关键字,比如包括LIVE则可以判断为直播等;
S5,提供统一读取多媒体资源的接口;
-提供获取多媒体原始路径方法
-提供获取多媒体形式的方法
-提供获取多媒体帧列表的方法
-提供获取多媒体名称的方法
-提供获取帧图片的方法
进一步地,当原始多媒体文件为视频、直播多媒体资源时,统一访问多媒体资源包括以下步骤:
1)初始化,把本地和网络的资源都变为本地资源:
a)把原始的资源路径,统一转换成待协议的标准,将本地资源d:/test.mp4增加上协议名后变为file://d:/test.mp4;对于网络资源rtsp://x.com/test.mp4保持原有地址;
b)识别文件格式;
i.通过多媒体地址中的协议识别;获得协议名称和内部支持的格式枚举对比,如果对比成功则格式识别成功,否则识别失败,继续识别;
ii.通过对媒体地址中的后缀名识别;获得地址中的后缀名再和内部的格式枚举对比,如果对比成功则格式识别成功,否则识别失败,继续识别;
iii.通过多媒体地址中的关键字识别;获取地址中的资源路径,判断其中是否包括一些固定关键字,通过固定关键字判断文件形式;
c)判断是否需要把视频缓存到本地;
本地或网络视频自动缓存到本地,直播流则不缓存到本地;
d)对于缓存到本地的视频,判断是否需要解析成每帧图片和声音;
2)统一访问方法:
a)获取原始路径方法:直接返回原始文件路径;
b)获取格式方法:直接返回识别的格式结果;
c)获取名称方法:直接返回文件名;
d)获取帧列表方法:判断资源是否设定了解析,如果有则直接读取每帧缓存文件列表返回,如果没有设置解析,则把视频文件作为一帧并返回;
e)获取帧图片方法:判断资源是否设定了解析,如果有则直接读取帧图片返回,如果没有设置解析,返回null。
进一步地,当原始多媒体文件为本地包括多媒体资源时,统一访问多媒体资源包括以下步骤:
1)初始化,通过初始化把本地文件夹封装成可以统一访问文件,具体步骤:
a)把原始的资源路径,统一转换成待协议的标准,将本地文件夹d:/test增加上协议名后变为folder://d:/test;
b)此类型的文件格式固定为folder;
2)统一访问方法:
a)获取原始路径方法:直接返回原始文件路径;
b)获取格式方法:直接返回识别的格式结果;
c)获取名称方法:直接返回文件名;
d)获取帧列表方法:先读取原始文件夹中的文件,对于符合要求的文件直接转化成file://协议的本地多媒体资源文件,每个文件即为一帧,组合成集合返回;
e)获取帧图片方法:通过帧获取到缓存文件的路径,然后读取文件返回。
综上所述,由于采用了上述技术方案,本发明能够使得开发者可以通过统一的方法去读取本地、网络上的多媒体资源,同时读取的形式不仅限于图片、视频、音频,还包括多媒体文件的文件夹、网页等组合多媒体资源。可以大大的降低开发者多于不同形式和地方的多媒体操作成本,提高开发效率。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明系统部署结构示意图。
图2是本发明方法的流程示意图。
图3是本发明中静态图多媒体的实现示意图。
图4是本发明中动态图多媒体的实现示意图。
图5是本发明中网页多媒体的实现示意图。
图6是本发明中视频、直播多媒体的实现示意图。
图7是本发明中本地文件夹多媒体的实现示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
见图1所示,一种统一访问多媒体资源系统,包括API、本地多媒体、远程多媒体和本地缓存文件夹,其中API为标准的API,能通过API统一读取本地资源和远程网络资源,同时会自动缓存资源到本地缓存文件夹中,以便后续读取多媒体资源直接从本地缓存文件夹中获取,提升访问效率。
见图2所示,一种统一访问多媒体资源的方法,API先将原始多媒体文件转为统一访问多媒体文件,再进行内部处理。具体流程步骤如下:
1)获取原始多媒体文件,可以是视频、图片、音频、文件夹、网页等资源;
2)把原始多媒体文件的原始地址转换成对应统一多媒体文件访问的新地址,规则如下:
a)本地文件转为:file://文件原始地址
b)本地文件夹转为:folder://文件夹原始地址
c)网络文件地址不用转换
d)网络直播地址不用转换
e)网页地址转换为:crawler://配置ID
本发明的网络多媒体资源包括网络直播、网络视频、网络音频、网页。
3)转换地址之后,自动识别多媒体形式;识别规则如下:
a)通过多媒体原始地址中的协议识别;获得协议名称和内部支持的形式枚举对比,如果对比成功则形式识别成功,否则识别失败,继续识别;
b)通过对媒体原始地址中的后缀名识别;获得地址中的后缀名再和软件内部的形式枚举对比,如果对比成功则形式识别成功,否则识别失败,继续识别;
c)通过多媒体地址中的关键字识别;获取地址中的资源路径,判断其中是否包括一些固定关键字,比如包括LIVE则可以判断为直播等;
d)如果通过上述3个步骤仍未识别形式,则原始多媒体资源不被支持,抛出错误信息给调用者;
4)识别到多媒体形式之后,则依据内部定义的多媒体形式,判断多媒体文件形式是否是需要对原始多媒体资源进行缓存操作;如果不是需要缓存的形式,则不缓存则结束初始化过程;如果是需要缓存的形式,则缓存文件:不缓存的的形式,是直接访问原生文件;缓存的形式,是直接访问的缓存文件夹中的文件。本地资源直接拷贝到缓存文件夹路径,网络资源则需要下载到缓存文件夹路径。
5)上述4步之后就使用者则可以通过API对多媒体资源进行统一访问;访问时需要判断是否对缓存文件解析:
a)除了以下原始多媒体形式需要解析,其余则为不需要解析的文件:
i.如果是gif文件则需要解析;解析gif文件并把解析的每帧缓存到缓存路径,再把缓存的帧转为本地统一图片文件;
ii.如果是网页文件则需要解析;按照网页配置解析网页中的图片或视频等资源,再把获取的每个图片或视频转为网络统一多媒体文件;
iii.如果是文件夹则需要解析;读取文件夹中符合形式要求的文件,再转换为本地统一访问的多媒体文件;
b)以下原始多媒体形式可选择解析:经过测试,视频、直播等资源解析对计算机资源的消化大,因此此类文件可以选择性缓存;(解析与不解析会存在性能上的不同,不解析性能更好。)
i.如果是视频文件则可选解析;抽取视频每帧文件缓存到缓存路径,再把缓存的帧转为本地统一访问文件;
ii.如果是直播文件则可选择解析;把直播录制成视频,再解析每帧文件缓存到缓存路径,再把缓存的帧转为本地统一访问文件;
见图3所示,描述了静态图多媒体资源通过本方法统一访问的示意图,常用的静态图格式为jpg、png,不管资源是在本地还是网络,其实现统一方法的步骤如下:
1)初始化,通过初始化把不管是本地还是网络的资源都变为本地资源,具体步骤:
a)把原始的资源路径,统一转换成新地址,也就是资源地址协议的标准,比如:d:/test.jpg这种本地资源需要增加上协议名后变为file://d:/test.jpg;而对于http://x.com/test.jpg这种网络资源则保持原有地址即可;
b)识别文件格式;
i.通过多媒体地址中的协议识别;获得协议名称和内部支持的格式枚举对比,如果对比成功则格式识别成功,否则识别失败,继续识别;
ii.通过对媒体地址中的后缀名识别;获得地址中的后缀名再和内部的格式枚举对比,如果对比成功则格式识别成功,否则识别失败,继续识别;
iii.通过多媒体地址中的关键字识别;获取地址中的资源路径,判断其中是否包括一些固定关键字,比如包括LIVE则可以判断为直播等;
c)缓存文件,注意如果上一步识别的格式不是支持的格式,则文件不会缓存;
i.本地文件,则拷贝到缓存文件夹
ii.网络文件,则下载资源到缓存文件夹
2)统一访问方法:
a)获取原始路径方法:直接返回原始文件路径;
b)获取格式方法:直接返回识别的格式结果;
c)获取名称方法:直接返回文件名即可;
d)获取帧列表方法:直接返回只有1帧的列表,且帧时间无限大;
e)获取帧图片方法:通过帧获取到缓存文件的路径,然后读取文件返回即可;
见图4所示,描述了动态图多媒体资源通过本方法的实现示意图,常用的动态图格式为gif,一张图片包括了很多帧,不管gif资源是在本地还是网络,其实现统一方法的步骤如下:
1)初始化,通过初始化把不管是本地还是网络的资源都变为本地资源,具体步骤:
a)把原始的资源路径,统一转换成新地址,也就是资源地址协议的标准,比如:d:/test.gif这种本地资源需要增加上协议名后变为file://d:/test.gif;而对于http://x.com/test.gif这种网络资源则保持原有地址即可;
b)识别文件格式;
i.通过多媒体地址中的协议识别;获得协议名称和内部支持的格式枚举对比,如果对比成功则格式识别成功,否则识别失败,继续识别;
ii.通过对媒体地址中的后缀名识别;获得地址中的后缀名再和内部的格式枚举对比,如果对比成功则格式识别成功,否则识别失败,继续识别;
iii.通过多媒体地址中的关键字识别;获取地址中的资源路径,判断其中是否包括一些固定关键字,比如包括LIVE则可以判断为直播等;
c)缓存文件,注意如果上一步识别的格式不是支持的格式,则文件不会缓存;
i.本地文件,则拷贝到缓存文件夹
ii.网络文件,则下载资源到缓存文件夹
2)统一访问方法:
a)获取原始路径方法:直接返回原始文件路径;
b)获取格式方法:直接返回识别的格式结果;
c)获取名称方法:直接返回文件名即可;
d)获取帧列表方法:需要先解析gif文件,然后再返回帧列表,实现步骤:
i.从缓存文件中读取gif文件;
ii.按照gif文件格式解析其中包括的帧和帧时间等信息;
iii.把每帧的图片缓存到本地磁盘动态缓存路径,获取到帧的缓存文件路径,再结合上一步解析的帧时间信息组合成帧信息,添加到帧集合中;
iv.把所有帧解析后的帧集合返回;
e)获取帧图片方法:通过每帧路径读取文件返回即可;
见图5所示,描述了网页多媒体资源通过本方法的实现示意图,这里的网页是主包括有图片、视频等网页,通过本方法可读取网页中的图片和视频资源,其实现统一方法的步骤如下:
1)配置网页多媒体资源;由于不同的网页中图片或视频资源解析的方式不同,因此需要通过JSON配置文件来告诉程序,怎么样从网页中解析图片和视频资源;具体的配置信息包括:
a)网页地址;
b)网页header信息;
网页请求数据;
提取的网页文本元素信息;
提取的网页图片/视频/音频元素信息;
2)把上一步的网页配置信息保存到本地获得一个配置文件ID;
3)使用配置文件ID生成对应文件的访问协议crawler://配置ID
4)生成固定文件格式:json
5)统一访问方法:
a)获取原始路径方法:直接返回原始文件路径;
b)获取格式方法:直接返回识别的格式结果;
c)获取名称方法:直接返回文件名即可;
d)获取帧列表方法:这里把网页中每张图片或视频作为网页资源的一帧,因此获取帧,既获取网页中的图片、视频列表,具体实现步骤:
i.通过配置ID从缓存中读取具体的配置信息;
ii.通过配置信息自动从网页中抽取图片、视频等资源;
iii.抽取的资源直接转成http或https协议的网络资源,这样就回到图2示例的流程;
iv.抽取的资源还需要封装成帧,并设置帧时间为-1,表示有外部控制每帧时间;
e)获取帧图片方法:直接读取通过http或https协议转成的本地缓存文件返回即可;
见图6所示,描述了视频、直播多媒体资源通过本方法的实现示意图,这里的视频可以是常用格式,可以是本地或网络资源;直播则必然是网络资源,这两种资源的统一访问方法的步骤如下:
1)初始化,通过初始化把不管是本地还是网络的资源都变为本地资源,具体步骤如下:
a)把原始的资源路径,统一转换成待协议的标准,比如:d:/test.mp4这种本地资源需要增加上协议名后变为file://d:/test.mp4;而对于rtsp://x.com/test.mp4这种网络资源则保持原有地址即可;
b)识别文件格式;
i.通过多媒体地址中的协议识别;获得协议名称和内部支持的格式枚举对比,如果对比成功则格式识别成功,否则识别失败,继续识别;
ii.通过对媒体地址中的后缀名识别;获得地址中的后缀名再和内部的格式枚举对比,如果对比成功则格式识别成功,否则识别失败,继续识别;
iii.通过多媒体地址中的关键字识别;获取地址中的资源路径,判断其中是否包括一些固定关键字,比如包括LIVE则可以判断为直播等;
c)判断是否需要把视频缓存到本地;判断依据是:
i.本地或网络视频自动缓存到本地;
ii.直播流则不缓存到本地,此处也可以通过视频录播的方式,把直播转换成视频缓存到本地(这样直播最终变成了视频的处理方式),可以依据具体业务需求来定;
d)对于缓存到本地的视频,进一步判断是否需要解析成每帧图片和声音,为节省计算机资源,默认是不解析;
2)统一访问方法:
a)获取原始路径方法:直接返回原始文件路径;
b)获取格式方法:直接返回识别的格式结果;
c)获取名称方法:直接返回文件名即可;
d)获取帧列表方法:判断资源是否设定了解析,如果有则直接读取每帧缓存文件列表返回,如果没有设置解析,则把视频文件作为一帧(帧时间为-1)返回;
e)获取帧图片方法:判断资源是否设定了解析,如果有则直接读取帧图片返回,如果没有设置解析,返回null;
见图7所示,描述了本地包括多媒体资源的文件夹通过本方法的实现示意图,本地文件夹中包括一个或者多个图片、视频、音频等类型的子文件,在这里可以把这样的文件夹但成是一个整体多媒体资源,其实现统一方法的步骤如下:
1)初始化,通过初始化把本地文件夹封装成可以统一访问文件,具体步骤:
a)把原始的资源路径,统一转换成待协议的标准,比如:d:/test这种本地文件夹需要增加上协议名后变为folder://d:/test;
b)此类型的文件格式固定为folder;
2)统一访问方法:
a)获取原始路径方法:直接返回原始文件路径;
b)获取格式方法:直接返回识别的格式结果;
c)获取名称方法:直接返回文件名即可;
d)获取帧列表方法:先读取原始文件夹中的文件,对于符合要求的文件直接转化成file://协议的本地多媒体资源文件,每个文件即为一帧(帧时间为-1),组合成集合返回;
e)获取帧图片方法:通过帧获取到缓存文件的路径,然后读取文件返回即可;
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (8)
1.一种统一访问多媒体资源的方法,其特征在于,包括以下步骤:
S1,获取原始多媒体文件,所述多媒体文件包括视频、图片、音频、文件夹、网页资源之一或者任意组合;
S2,把原始多媒体文件的原始地址转换成对应统一多媒体文件访问的新地址;
转换的规则如下:
本地文件的原始地址转为file://文件原始地址;
本地文件夹的原始地址转为folder://文件夹原始地址;
网络文件地址、网络直播地址不用转换;
网页的原始地址转换为crawler://配置ID;
S3,地址转换之后,自动识别多媒体形式;
S4,依据内部定义的多媒体形式,判断多媒体文件形式是否需要对原始多媒体资源进行缓存操作;
S5,通过统一多媒体文件访问的新地址对多媒体资源进行统一访问:
判断是否对缓存文件解析,若不需要解析,则直接读取缓存文件,并返回访问结果;若需要解析,则解析缓存文件后,并缓存解析文件,再返回访问结果;
通过对原始多媒体形式判断是否对缓存文件解析,判断规则如下:
如果是gif文件则需要解析;解析gif文件并把解析的每帧缓存到缓存路径,再把缓存的帧转为本地统一图片文件;
如果是网页文件则需要解析;按照网页配置解析网页中的图片或视频资源,再把获取的每个图片或视频转为网络统一多媒体文件;
如果是文件夹则需要解析;读取文件夹中符合形式要求的文件,再转换为本地统一访问的多媒体文件。
2.根据权利要求1所述的一种统一访问多媒体资源的方法,其特征在于,所述自动识别多媒体形式的识别规则包括:
a)通过多媒体原始地址中的协议识别;获得协议名称和内部支持的形式枚举对比,如果对比成功则形式识别成功,否则识别失败,继续识别;
b)通过对媒体原始地址中的后缀名识别;获得地址中的后缀名再和内部支持的形式枚举对比,如果对比成功则形式识别成功,否则识别失败,继续识别;
c)通过多媒体地址中的关键字识别;获取地址中的资源路径,判断其中是否包括一些固定关键字。
3.根据权利要求2所述的一种统一访问多媒体资源的方法,其特征在于,还包括:若存在不能识别的形式,则说明原始多媒体资源不被支持,将错误信息发送给调用者。
4.根据权利要求1所述的一种统一访问多媒体资源的方法,其特征在于,S5还包括判断原始多媒体形式是否为以下形式:
如果是视频文件则为可选解析;若要解析,则抽取视频每帧文件缓存到缓存路径,再把缓存的帧转为本地统一访问文件;
如果是直播文件则可选择解析;若要解析,则把直播录制成视频,再解析每帧文件缓存到缓存路径,再把缓存的帧转为本地统一访问文件。
5.根据权利要求1所述的一种统一访问多媒体资源的方法,其特征在于,还包括:当原始多媒体文件为静态图多媒体资源时,统一访问多媒体资源包括以下步骤:
1)初始化,把本地和网络的资源都变为本地资源:
a)把原始的资源路径,统一转换成新地址,将本地资源d:/test.jpg增加上协议名后变为file://d:/test.jpg;而对于网络资源http://x.com/test.jpg,则保持原有地址;
b)识别文件格式;
i.通过多媒体地址中的协议识别;获得协议名称和内部支持的格式枚举对比,如果对比成功则格式识别成功,否则识别失败,继续识别;
ii. 通过对媒体地址中的后缀名识别;获得地址中的后缀名再和内部的格式枚举对比,如果对比成功则格式识别成功,否则识别失败,继续识别;
iii.通过多媒体地址中的关键字识别;获取地址中的资源路径,判断其中是否包括一些固定关键字,通过固定关键字判断文件形式;
c)缓存文件,如果识别的格式不是支持的格式,则文件不会缓存;
i.本地文件,则拷贝到缓存文件夹;
ii. 网络文件,则下载资源到缓存文件夹;
2)统一访问方法:
a)获取原始路径方法:直接返回原始文件路径;
b)获取格式方法:直接返回识别的格式结果;
c)获取名称方法:直接返回文件名;
d)获取帧列表方法:直接返回只有1帧的列表,且帧时间无限大;
e)获取帧图片方法:通过帧获取到缓存文件的路径,然后读取文件返回。
6.根据权利要求1所述的一种统一访问多媒体资源的方法,其特征在于,当原始多媒体文件为动态图多媒体资源时,统一访问多媒体资源包括以下步骤:
1)初始化,把本地还是网络的资源都变为本地资源:
a)把原始的资源路径,统一转换成新地址;将d:/test.gif这种本地资源增加上协议名后变为file://d:/test. gif;而对于http://x.com/test.gif这种网络资源则保持原有地址;
b)识别文件格式;
i.通过多媒体地址中的协议识别;获得协议名称和内部支持的格式枚举对比,如果对比成功则格式识别成功,否则识别失败,继续识别;
ii.通过对媒体地址中的后缀名识别;获得地址中的后缀名再和内部的格式枚举对比,如果对比成功则格式识别成功,否则识别失败,继续识别;
iii.通过多媒体地址中的关键字识别;获取地址中的资源路径,判断其中是否包括一些固定关键字,通过固定关键字判断文件格式;
c)缓存文件,注意如果上一步识别的格式不是支持的格式,则文件不会缓存;
若为本地文件,则拷贝到缓存文件夹;
若为网络文件,则下载资源到缓存文件夹;
2)统一访问方法:
a)获取原始路径方法:直接返回原始文件路径;
b)获取格式方法:直接返回识别的格式结果;
c)获取名称方法:直接返回文件名;
d)获取帧列表方法:先解析gif文件,然后再返回帧列表:
i.从缓存文件中读取gif文件;
ii.按照gif文件格式解析其中包括的帧和帧时间信息;
iii.把每帧的图片缓存到本地磁盘动态缓存路径,获取到帧的缓存文件路径,再结合上一步解析的帧时间信息组合成帧信息,添加到帧集合中;
iv.把所有帧解析后的帧集合返回;
e)获取帧图片方法:通过每帧路径读取文件返回。
7.根据权利要求1所述的一种统一访问多媒体资源的方法,其特征在于,当原始多媒体文件为网页多媒体资源时,统一访问多媒体资源包括以下步骤:
1)配置网页多媒体资源;通过JSON配置文件来告诉程序,怎么样从网页中解析图片和视频资源;具体的配置信息包括:
网页地址、网页header信息、网页请求数据、提取的网页文本元素信息和/或提取的网页图片/视频/音频元素信息;
2)把网页的配置信息保存到本地获得一个配置文件ID;
3)使用配置文件ID生成对应文件的访问协议crawler://配置ID
4)生成固定文件格式:json
5)统一访问方法:
a)获取原始路径方法:直接返回原始文件路径;
b)获取格式方法:直接返回识别的格式结果;
c)获取名称方法:直接返回文件名;
d)获取帧列表方法:这里把网页中每张图片或视频作为网页资源的一帧,因此获取帧,既获取网页中的图片、视频列表,具体实现步骤:
i.通过配置ID从缓存中读取具体的配置信息;
ii. 通过配置信息自动从网页中抽取图片、视频资源;
iii.抽取的资源直接转成http或https协议的网络资源,这样就回到图2示例的流程;
iv. 抽取的资源还需要封装成帧,并设置帧时间为-1,表示有外部控制每帧时间;
e)获取帧图片方法:直接读取通过http或https协议转成的本地缓存文件返回。
8.根据权利要求1所述的一种统一访问多媒体资源的方法,其特征在于,所述统一访问多媒体资源的方法是基于统一访问多媒体资源系统实现的,统一访问多媒体资源系统包括:
API、本地多媒体、远程多媒体和本地缓存文件夹,其中API为标准的API,能通过API统一读取本地资源和远程网络资源,同时会自动缓存资源到本地缓存文件夹中,以便后续读取多媒体资源直接从本地缓存文件夹中获取,提升访问效率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310489556.0A CN116610823B (zh) | 2023-04-28 | 2023-04-28 | 一种统一访问多媒体资源的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310489556.0A CN116610823B (zh) | 2023-04-28 | 2023-04-28 | 一种统一访问多媒体资源的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116610823A CN116610823A (zh) | 2023-08-18 |
CN116610823B true CN116610823B (zh) | 2024-05-07 |
Family
ID=87682770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310489556.0A Active CN116610823B (zh) | 2023-04-28 | 2023-04-28 | 一种统一访问多媒体资源的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116610823B (zh) |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009021921A (ja) * | 2007-07-13 | 2009-01-29 | Intec Netcore Inc | IPv4/IPv6デュアルスタック対応端末のための情報提示システム |
CN101668032A (zh) * | 2008-09-05 | 2010-03-10 | 华为技术有限公司 | 一种网页web服务通信的方法、系统和设备 |
CN101719913A (zh) * | 2009-11-17 | 2010-06-02 | 青岛海信宽带多媒体技术有限公司 | 媒体播放终端获取互联网多媒体资源的方法及装置 |
CN101729602A (zh) * | 2009-12-11 | 2010-06-09 | 北京工业大学 | 一种获取p2p视频系统节目信息的方法 |
CN102282825A (zh) * | 2010-12-14 | 2011-12-14 | 华为技术有限公司 | 内容传送网络中流媒体请求地址映射的方法及装置、缓存节点 |
CN102594915A (zh) * | 2012-03-19 | 2012-07-18 | 烽火通信科技股份有限公司 | 基于浏览器的媒体播放系统及方法 |
CN102761532A (zh) * | 2011-04-29 | 2012-10-31 | 腾讯科技(深圳)有限公司 | 网络视频的信息处理系统和方法 |
CN102843437A (zh) * | 2012-09-17 | 2012-12-26 | 北京星网锐捷网络技术有限公司 | 网页应用的转换方法、装置和网络设备 |
EP2568470A2 (en) * | 2011-09-09 | 2013-03-13 | Verisign, Inc. | Providing audio-activated resource access for user devices |
CN103503486A (zh) * | 2011-12-27 | 2014-01-08 | 华为技术有限公司 | 一种视频发布方法及系统、视频播放方法及系统 |
CN103870215A (zh) * | 2014-04-12 | 2014-06-18 | 天津瑞发科半导体技术有限公司 | Usb固态盘固件存储装置 |
CN104883390A (zh) * | 2015-04-17 | 2015-09-02 | 浙江宇视科技有限公司 | 一种访问第三方视频监控设备的方法及装置 |
CN104951504A (zh) * | 2015-05-20 | 2015-09-30 | 深圳创维-Rgb电子有限公司 | 一种网页处理方法及系统 |
CN105117179A (zh) * | 2015-09-22 | 2015-12-02 | 天津瑞发科半导体技术有限公司 | 一种主机与存储设备数据交互的方法及存储控制器 |
CN105323628A (zh) * | 2014-07-30 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 基于dlna跨屏播放的方法及系统、浏览器端装置和播放装置 |
CN107704766A (zh) * | 2017-08-29 | 2018-02-16 | 努比亚技术有限公司 | 多媒体文件访问控制方法、终端及计算机可读存储介质 |
CN110516192A (zh) * | 2019-09-02 | 2019-11-29 | 福建天晴数码有限公司 | 将图片资源素材与文字素材拖拽到软件界面方法及其系统 |
CN110532455A (zh) * | 2019-09-05 | 2019-12-03 | 北京市博汇科技股份有限公司 | 一种基于Chrome浏览器的网页图片获取方法和系统 |
CN112287127A (zh) * | 2019-07-23 | 2021-01-29 | 上海哔哩哔哩科技有限公司 | 多媒体文件存储、读取方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0417296D0 (en) * | 2004-08-03 | 2004-09-08 | Nokia Corp | User registration in a communication system |
-
2023
- 2023-04-28 CN CN202310489556.0A patent/CN116610823B/zh active Active
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009021921A (ja) * | 2007-07-13 | 2009-01-29 | Intec Netcore Inc | IPv4/IPv6デュアルスタック対応端末のための情報提示システム |
CN101668032A (zh) * | 2008-09-05 | 2010-03-10 | 华为技术有限公司 | 一种网页web服务通信的方法、系统和设备 |
CN101719913A (zh) * | 2009-11-17 | 2010-06-02 | 青岛海信宽带多媒体技术有限公司 | 媒体播放终端获取互联网多媒体资源的方法及装置 |
CN101729602A (zh) * | 2009-12-11 | 2010-06-09 | 北京工业大学 | 一种获取p2p视频系统节目信息的方法 |
CN102282825A (zh) * | 2010-12-14 | 2011-12-14 | 华为技术有限公司 | 内容传送网络中流媒体请求地址映射的方法及装置、缓存节点 |
CN102761532A (zh) * | 2011-04-29 | 2012-10-31 | 腾讯科技(深圳)有限公司 | 网络视频的信息处理系统和方法 |
EP2568470A2 (en) * | 2011-09-09 | 2013-03-13 | Verisign, Inc. | Providing audio-activated resource access for user devices |
CN103503486A (zh) * | 2011-12-27 | 2014-01-08 | 华为技术有限公司 | 一种视频发布方法及系统、视频播放方法及系统 |
CN102594915A (zh) * | 2012-03-19 | 2012-07-18 | 烽火通信科技股份有限公司 | 基于浏览器的媒体播放系统及方法 |
CN102843437A (zh) * | 2012-09-17 | 2012-12-26 | 北京星网锐捷网络技术有限公司 | 网页应用的转换方法、装置和网络设备 |
CN103870215A (zh) * | 2014-04-12 | 2014-06-18 | 天津瑞发科半导体技术有限公司 | Usb固态盘固件存储装置 |
CN105323628A (zh) * | 2014-07-30 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 基于dlna跨屏播放的方法及系统、浏览器端装置和播放装置 |
CN104883390A (zh) * | 2015-04-17 | 2015-09-02 | 浙江宇视科技有限公司 | 一种访问第三方视频监控设备的方法及装置 |
CN104951504A (zh) * | 2015-05-20 | 2015-09-30 | 深圳创维-Rgb电子有限公司 | 一种网页处理方法及系统 |
CN105117179A (zh) * | 2015-09-22 | 2015-12-02 | 天津瑞发科半导体技术有限公司 | 一种主机与存储设备数据交互的方法及存储控制器 |
CN107704766A (zh) * | 2017-08-29 | 2018-02-16 | 努比亚技术有限公司 | 多媒体文件访问控制方法、终端及计算机可读存储介质 |
CN112287127A (zh) * | 2019-07-23 | 2021-01-29 | 上海哔哩哔哩科技有限公司 | 多媒体文件存储、读取方法 |
CN110516192A (zh) * | 2019-09-02 | 2019-11-29 | 福建天晴数码有限公司 | 将图片资源素材与文字素材拖拽到软件界面方法及其系统 |
CN110532455A (zh) * | 2019-09-05 | 2019-12-03 | 北京市博汇科技股份有限公司 | 一种基于Chrome浏览器的网页图片获取方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于并发访问请求关联的访问控制协调方法;史秀鹏等;《 计算机工程与设计》;20150116;第82-87页,第149页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116610823A (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9177551B2 (en) | System and method of providing speech processing in user interface | |
US7797350B2 (en) | System and method for processing downloaded data | |
US20040205114A1 (en) | Enabling a web-crawling robot to collect information from web sites that tailor information content to the capabilities of accessing devices | |
JP2005501302A (ja) | メディア・オブジェクトからの統合抽出システム | |
CN101645815B (zh) | 音视频文件下载提示方法 | |
JP2011517816A (ja) | 分散型媒体フィンガープリントリポジトリ | |
JP2001306581A (ja) | ミドルウェアおよびミドルウェアを用いたメディアデータ視聴機器 | |
US8539537B2 (en) | Method for processing connection request of a disk player | |
KR101909250B1 (ko) | 단말의 음성 정보에 기초하여 서비스 타입을 결정하는 음성 인식 서버, 서비스 타입에 따라 단말로 컨텐츠를 제공하는 컨텐츠 서버, 단말 및 방법 | |
US20090019364A1 (en) | Method and apparatus for generating electronic content guide | |
CN109299352B (zh) | 搜索引擎中网站数据的更新方法、装置和搜索引擎 | |
KR20070103464A (ko) | 디지털 멀티미디어 컨텐츠에 대한 메타데이터를 조작하기위한 시스템 및 방법 | |
CN114553858A (zh) | 一种资源预下载的方法、装置以及设备 | |
CN116610823B (zh) | 一种统一访问多媒体资源的方法和系统 | |
CN111506747B (zh) | 文件解析方法、装置、电子设备及存储介质 | |
KR20220168062A (ko) | 인공지능을 활용한 기사 작성 솔루션 및 장치 | |
CN102113004A (zh) | 采集因特网内容 | |
KR100916310B1 (ko) | 오디오 신호처리 기반의 음악 및 동영상간의 교차 추천 시스템 및 방법 | |
US8959088B2 (en) | Log management method, log management system, and information processing apparatus | |
CN113448649B (zh) | 一种基于Redis的首页数据加载的服务器及方法 | |
CN1304913C (zh) | 呈现一个场景的装置和方法 | |
CN111447490A (zh) | 流媒体文件处理方法及装置 | |
KR101358686B1 (ko) | 광 디스크의 재생 방법 및 장치 | |
US20230305851A1 (en) | Modular pipelines for accessing digital data | |
KR102228375B1 (ko) | 다수의 스트리밍 콘텐츠들을 재생하는 방법 및 시스템 |
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 |