CN109151494B - 多媒体数据传输方法、多媒体采集设备及服务器 - Google Patents
多媒体数据传输方法、多媒体采集设备及服务器 Download PDFInfo
- Publication number
- CN109151494B CN109151494B CN201710465663.4A CN201710465663A CN109151494B CN 109151494 B CN109151494 B CN 109151494B CN 201710465663 A CN201710465663 A CN 201710465663A CN 109151494 B CN109151494 B CN 109151494B
- Authority
- CN
- China
- Prior art keywords
- multimedia
- multimedia data
- file
- server
- terminal
- 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
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种多媒体数据传输方法、多媒体采集设备及服务器,属于网络技术领域。该方法包括:在多媒体采集设备的运行过程中,将当前采集到的多媒体数据存储至缓存;当接收到服务器的多媒体获取指令时,从缓存中获取目标多媒体数据,目标多媒体数据是指最新存储的多媒体数据;将目标多媒体数据发送至服务器,使得服务器将目标多媒体数据发送至终端。本发明实施例通过在多媒体采集设备运行过程中将当前采集到的多媒体数据存储至缓存,并在接收到多媒体获取指令时将已存储的目标多媒体数据发送至服务器,使得服务器能够将最新存储的多媒体数据发送给终端,可以大大减少终端从初始请求到开始播放多媒体的时长的同时,也能保证终端获取到的多媒体数据的实时性。
Description
技术领域
本发明涉及网络技术领域,特别涉及一种多媒体数据传输方法、多媒体采集设备及服务器。
背景技术
随着网络技术的发展,网络带宽和网络传输速率得到了大幅度提高,服务器和终端之间可以快捷地传输数据,如,音频和视频等多媒体数据。
以视频直播的场景为例,在传输视频数据时,当服务器接收到终端的视频获取请求时,可以确定该视频获取请求对应的视频采集设备,并向该视频采集设备发送视频获取指令,使得该视频采集设备将从当前时刻开始采集的一段视频数据发送至服务器,由服务器将这一段视频数据发送给终端。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
视频采集设备需要一段时间采集视频数据,导致终端从初始请求到开始播放视频的时间较长,视频启动播放慢。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种多媒体数据传输方法、多媒体采集设备及服务器。所述技术方案如下:
第一方面,提供了一种多媒体数据传输方法,应用于多媒体采集设备,所述方法包括:
在所述多媒体采集设备的运行过程中,将当前采集到的多媒体数据存储至缓存;
当接收到服务器的多媒体获取指令时,从所述缓存中获取目标多媒体数据,所述目标多媒体数据是指最新存储的多媒体数据;
将所述目标多媒体数据发送至所述服务器,使得所述服务器将所述目标多媒体数据发送至终端。
本发明实施例通过在多媒体采集设备运行过程中将当前采集到的多媒体数据存储至缓存,并在接收到多媒体获取指令时将已存储的目标多媒体数据发送至服务器,使得服务器能够将最新存储的多媒体数据发送给终端,由于多媒体采集设备始终在采集多媒体数据,且会存储最新采集的多媒体数据,使得终端无需等待多媒体采集设备采集多媒体数据的时间,而是能够通过服务器直接获取到该多媒体采集设备采集并存储的多媒体数据,再加上缓存中的数据读取效率高的优势,大大减少了终端从初始请求到开始播放多媒体的时长的同时,也能保证终端获取到的多媒体数据的实时性。
在一种可能实现方式中,所述在所述多媒体采集设备的运行过程中,将当前采集到的多媒体数据存储至缓存,包括:
在所述多媒体采集设备的运行过程中,将当前采集到的多媒体数据覆盖所述缓存中最早存储的多媒体数据。
在一种可能实现方式中,所述当接收到服务器的多媒体获取指令时,从所述缓存中获取目标多媒体数据,包括:
当接收到服务器的多媒体获取指令时,按照已存储的多媒体数据的时间戳,从所述缓存中截取最新存储的预设时长的多媒体数据作为所述目标多媒体数据;或,
当接收到服务器的多媒体获取指令时,将所述缓存中的全部多媒体数据作为所述目标多媒体数据;
其中,所述预设时长由所述多媒体获取指令指示或由所述多媒体采集设备配置。
第二方面,提供了一种多媒体数据传输方法,应用于服务器,所述方法包括:
当接收到多媒体采集设备的多媒体数据时,将所述多媒体数据存储至缓存;
当接收到终端的多媒体获取请求时,从所述缓存中获取所述多媒体获取请求对应的多媒体数据,所述多媒体获取请求用于请求获取所述多媒体采集设备所采集的多媒体数据;
将所述多媒体获取请求对应的多媒体数据发送至所述终端。
本发明实施例通过服务器将接收到的多媒体采集设备的多媒体数据存储至缓存,可以在接收到终端的多媒体获取请求时,直接将已存储的该多媒体获取请求对应的多媒体数据发送给终端,无需再指示多媒体采集设备采集并上传多媒体数据,使得终端无需等待多媒体采集设备提供多媒体数据的时间,而是能够直接获取到该服务器已存储的该多媒体采集设备对应的多媒体数据,再加上缓存中的数据读取效率高的优势,大大降低了终端从请求到获取多媒体数据的网络时延。
在一种可能实现方式中,所述当接收到多媒体采集设备的多媒体数据时,将所述多媒体数据存储至缓存,包括:
当接收到多媒体采集设备的多媒体数据时,将所述多媒体数据覆盖所述缓存中与所述多媒体采集设备对应的最早存储的多媒体数据。
在一种可能实现方式中,所述将所述多媒体获取请求对应的多媒体数据发送至所述终端,包括:
按照所述多媒体获取请求对应的多媒体数据中的关键帧,将所述多媒体获取请求对应的多媒体数据切片为至少一个传输流TS文件;
生成所述至少一个TS文件对应的索引文件,所述索引文件用于指示所述至少一个TS文件的文件信息;
将所述索引文件和所述至少一个TS文件发送至所述终端。
在一种可能实现方式中,所述方法还包括:
当接收到所述终端的多媒体获取请求时,如果所述缓存中未存储所述多媒体获取请求对应的多媒体数据,向所述多媒体获取请求对应的多媒体采集设备发送多媒体获取指令;
当接收到所述多媒体采集设备的目标多媒体数据时,将所述目标多媒体数据发送至所述终端,所述目标多媒体数据是指所述多媒体采集设备的缓存中最新存储的多媒体数据。
第三方面,提供了一种多媒体采集设备,所述设备包括:
传感器,用于采集多媒体数据;
存储器,用于缓存当前采集到的多媒体数据;
处理器,用于当接收到服务器的多媒体获取指令时,从所述存储器的缓存中获取目标多媒体数据,所述目标多媒体数据是指最新存储的多媒体数据;
通信模块,用于将所述目标多媒体数据发送至所述服务器,使得所述服务器将所述目标多媒体数据发送至终端。
在一种可能实现方式中,所述存储器用于:
将当前采集到的多媒体数据覆盖所述缓存中最早存储的多媒体数据。
在一种可能实现方式中,所述处理器,用于当接收到服务器的多媒体获取指令时,按照已存储的多媒体数据的时间戳,从所述缓存中截取最新存储的预设时长的多媒体数据作为所述目标多媒体数据;或,
所述处理器,用于当接收到服务器的多媒体获取指令时,将所述缓存中的全部多媒体数据作为所述目标多媒体数据;
其中,所述预设时长由所述多媒体获取指令指示或由所述多媒体采集设备配置。
第四方面,提供了一种服务器,所述服务器包括:
存储器,用于缓存接收到的多媒体采集设备的多媒体数据;
处理器,用于当接收到终端的多媒体获取请求时,从所述存储器的缓存中获取所述多媒体获取请求对应的多媒体数据,所述多媒体获取请求用于请求获取所述多媒体采集设备所采集的多媒体数据;
通信模块,用于将所述多媒体获取请求对应的多媒体数据发送至所述终端。
在一种可能实现方式中,所述存储器用于:将所述多媒体数据覆盖所述缓存中与所述多媒体采集设备对应的最早存储的多媒体数据。
在一种可能实现方式中,所述处理器用于:按照所述多媒体获取请求对应的多媒体数据中的关键帧,将所述多媒体获取请求对应的多媒体数据切片为至少一个传输流TS文件;生成所述至少一个TS文件对应的索引文件,所述索引文件用于指示所述至少一个TS文件的文件信息;
通信模块,用于将所述索引文件和所述至少一个TS文件发送至所述终端。
在一种可能实现方式中,所述通信模块还用于:
当接收到所述终端的多媒体获取请求时,如果所述缓存中未存储所述多媒体获取请求对应的多媒体数据,向所述多媒体获取请求对应的多媒体采集设备发送多媒体获取指令;
当接收到所述多媒体采集设备的目标多媒体数据时,将所述目标多媒体数据发送至所述终端,所述目标多媒体数据是指所述多媒体采集设备的缓存中最新存储的多媒体数据。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种多媒体数据传输方法的流程图;
图2是本发明实施例提供的一种多媒体数据传输方法的流程图;
图3是本发明实施例提供的一种多媒体数据传输方法的流程图;
图4是本发明实施例提供的一种切片流程图;
图5是本发明实施例提供的一种多媒体数据传输的实施环境示意图;
图6是本发明实施例提供的一种多媒体数据传输的流程图;
图7是本发明实施例提供的一种多媒体采集设备的框图;
图8是本发明实施例提供的一种服务器的框图;
图9是本发明实施例提供的一种终端结构示意图;
图10是本发明实施例提供的一种服务器1000的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种多媒体数据传输方法的流程图,如图1所示,该方法可以应用于多媒体采集设备,包括以下步骤:
101、在多媒体采集设备的运行过程中,将当前采集到的多媒体数据存储至缓存。
102、当接收到服务器的多媒体获取指令时,从缓存中获取目标多媒体数据,目标多媒体数据是指最新存储的多媒体数据。
103、将目标多媒体数据发送至服务器,使得服务器将目标多媒体数据发送至终端。
本发明实施例通过在多媒体采集设备运行过程中将当前采集到的多媒体数据存储至缓存,并在接收到多媒体获取指令时将已存储的目标多媒体数据发送至服务器,使得服务器能够将最新存储的多媒体数据发送给终端,由于多媒体采集设备始终在采集多媒体数据,且会存储最新采集的多媒体数据,使得终端无需等待多媒体采集设备采集多媒体数据的时间,而是能够通过服务器直接获取到该多媒体采集设备采集并存储的多媒体数据,再加上缓存中的数据读取效率高的优势,大大减少了终端从初始请求到开始播放多媒体的时长的同时,也能保证终端获取到的多媒体数据的实时性。
在一种可能实现方式中,在多媒体采集设备的运行过程中,将当前采集到的多媒体数据存储至缓存,包括:
在多媒体采集设备的运行过程中,将当前采集到的多媒体数据覆盖缓存中最早存储的多媒体数据。
在一种可能实现方式中,当接收到服务器的多媒体获取指令时,从缓存中获取目标多媒体数据,包括:
当接收到服务器的多媒体获取指令时,按照已存储的多媒体数据的时间戳,从缓存中截取最新存储的预设时长的多媒体数据作为目标多媒体数据;或,
当接收到服务器的多媒体获取指令时,将缓存中的全部多媒体数据作为目标多媒体数据;
其中,预设时长由多媒体获取指令指示或由多媒体采集设备配置
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图2是本发明实施例提供的一种多媒体数据传输方法的流程图,如图2所示,该方法可以应用于服务器,包括以下步骤:
201、当接收到多媒体采集设备的多媒体数据时,将多媒体数据存储至缓存。
202、当接收到终端的多媒体获取请求时,从缓存中获取多媒体获取请求对应的多媒体数据,多媒体获取请求用于请求获取多媒体采集设备所采集的多媒体数据。
203、将多媒体获取请求对应的多媒体数据发送至终端。
本发明实施例通过服务器将接收到的多媒体采集设备的多媒体数据存储至缓存,可以在接收到终端的多媒体获取请求时,直接将已存储的该多媒体获取请求对应的多媒体数据发送给终端,无需再指示多媒体采集设备采集并上传多媒体数据,使得终端无需等待多媒体采集设备提供多媒体数据的时间,而是能够直接获取到该服务器已存储的该多媒体采集设备对应的多媒体数据,再加上缓存中的数据读取效率高的优势,大大减少了终端从初始请求到开始播放多媒体的时长。
在一种可能实现方式中,当接收到多媒体采集设备的多媒体数据时,将多媒体数据存储至缓存,包括:
当接收到多媒体采集设备的多媒体数据时,将多媒体数据覆盖缓存中与多媒体采集设备对应的最早存储的多媒体数据。
在一种可能实现方式中,将多媒体获取请求对应的多媒体数据发送至终端,包括:
按照多媒体获取请求对应的多媒体数据中的关键帧,将多媒体获取请求对应的多媒体数据切片为至少一个传输流TS文件;
生成至少一个TS文件对应的索引文件,索引文件用于指示至少一个TS文件的文件信息;
将索引文件和至少一个TS文件发送至终端。
在一种可能实现方式中,方法还包括:
当接收到终端的多媒体获取请求时,如果缓存中未存储多媒体获取请求对应的多媒体数据,向多媒体获取请求对应的多媒体采集设备发送多媒体获取指令;
当接收到多媒体采集设备的目标多媒体数据时,将目标多媒体数据发送至终端,目标多媒体数据是指多媒体采集设备的缓存中最新存储的多媒体数据。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图3是本发明实施例提供的一种多媒体数据传输方法的流程图,如图3所示,该方法可以应用于多媒体采集设备、服务器和终端的交互过程中,包括以下步骤:
301、多媒体采集设备在运行过程中,将当前采集到的多媒体数据存储至缓存。
其中,多媒体采集设备是指能够采集多媒体数据的设备,例如,能够采集视频数据的摄像机、能够采集音频数据的录音设备或能够采集音视频数据的设备等。在实际的应用场景中,多媒体采集设备可以为网络主播登录的设备,用于实时采集该网络主播的画面或声音,以得到多媒体数据,并将得到的多媒体数据上传至服务器,使得服务器能够将多媒体数据提供给请求观看(或收听)该网络主播的终端;该多媒体采集设备还可以为运营人员在某个直播地点设置的直播设备,用于从该直播地点采集到多媒体数据,并通过服务器将该多媒体数据提供给终端。
该步骤中,多媒体采集设备可以在运行过程中,实时地采集多媒体数据,并将当前采集到的多媒体数据存储至缓存。以该多媒体采集设备为摄像机为例,摄像机可以实时地拍摄镜头范围内的画面,得到连续帧的视频数据,并存储至缓存中。以该多媒体采集设备为录音设备为例,录音设备可以实时地录制从麦克风输入的声音,得到连续帧的音频数据,并存储至缓存中。
事实上,为了减少对缓存资源的占用,该步骤也可以具体为:多媒体采集设备在运行过程中,将当前采集到的多媒体数据覆盖缓存中最早存储的多媒体数据。该具体过程中,多媒体采集设备可以根据已设置的多媒体数据在缓存中的第一存储容量,将当前采集到的多媒体数据存储至缓存中;根据第一存储容量,确定大于第一存储容量的多媒体数据大小;按照已存储的多媒体数据的时间戳,删除缓存中最早存储的等于该多媒体数据大小的多媒体数据。本发明实施例不限定该第一存储容量的大小。
本发明实施例为了提高该多媒体数据的读取效率,将多媒体数据存储至多媒体采集设备的缓存中,事实上,为了长期、稳定地保留该多媒体数据,多媒体采集设备也可以将该多媒体数据可以备份至多媒体采集设备的其他存储区域,如外存区域。
需要说明的是,多媒体采集设备除了可以直接存储采集到的多媒体数据,为了减少对多媒体采集设备的存储资源的占用,也可以对初始得到的多媒体数据进行编码后再进行存储,本发明实施例对编码的方式不做限定,例如,视频数据采用H.264的编码方式,音频数据采用AAC(Advanced Audio Coding,高级音频编码)的编码方式。
302、当服务器接收到多媒体采集设备的多媒体数据时,将多媒体数据存储至缓存。
该步骤中,为使服务器能够快速地响应终端请求的多媒体数据,而无需在多个终端均请求同一多媒体数据时都需要与多媒体采集设备交互,从而进一步降低终端从请求到获取多媒体数据的网络时延,服务器也可以存储接收到的多媒体数据。
当然,为了减少对缓存资源的占用,并且保证为终端提供数据的实时性,当服务器接收到多媒体采集设备的多媒体数据时,可以将多媒体数据覆盖缓存中与该多媒体采集设备对应的最早存储的多媒体数据。该具体过程中,服务器可以根据已设置的该多媒体采集设备对应的多媒体数据在缓存中的第二存储容量,将接收到的该多媒体采集设备对应的多媒体数据存储至缓存中;根据该第二存储容量,确定大于第二存储容量的多媒体数据大小;按照已存储的多媒体采集设备对应的多媒体数据的时间戳,删除多媒体采集设备对应的多媒体数据中最早存储的等于该多媒体数据大小的多媒体数据。本发明实施例不限定该第二存储容量的大小。
事实上,为了进一步保证所提供的多媒体数据的实时性,服务器还可以根据存储时间更新缓存中的多媒体数据,例如,服务器根据缓存中已存储的多媒体数据的时间戳,删除存储时间距离当前时间大于第一时长的多媒体数据。
303、当服务器接收到终端的多媒体获取请求时,判断缓存中是否已存储该多媒体获取请求对应的多媒体数据,如果是,将该多媒体获取请求对应的多媒体数据发送至终端,如果否,执行步骤304,该多媒体获取请求用于请求获取所述多媒体采集设备最新采集的多媒体数据。
其中,该多媒体获取请求可以携带终端的终端标识和该多媒体数据的多媒体标识,该多媒体标识用于唯一标识一个多媒体采集设备所采集的多媒体数据,例如,该多媒体标识可以为多媒体数据的URL(Uniform Resource Locator,统一资源定位符)。
该步骤之前,当终端接收到对某一直播的多媒体文件的访问操作时,可以提取该多媒体文件的多媒体标识,基于该多媒体标识生成多媒体获取请求,并将多媒体获取请求发送至服务器。该步骤中,当服务器接收到该多媒体获取请求时,可以从多媒取请求中提取出多媒体标识,并判断缓存中是否已存储该多媒体标识对应的多媒体数据,如果是,则根据该终端标识将已存储的多媒体数据发送至终端,如果否,则执行步骤304。需要说明的是,为了保证提供多媒体数据的实时性,服务器可以根据缓存中与多媒体获取请求对应的多媒体数据的时间戳,将存储时间距离当前时间小于第二时长的多媒体数据发送至终端。
通过将已存储的多媒体数据直接发送至终端,节省了等待多媒体采集设备采集多媒体数据的时间,大大降低了终端从请求到获取多媒体数据的时延。
事实上,服务器为了适应不同终端的传输需求,可以配置多种传输协议,进而可以根据终端的多媒体获取请求确定该终端采用的传输协议,并采用相应的传输协议来发送多媒体数据。例如,终端采用的传输协议为HLS(Hyper Text Transfer Protocol LiveStreaming,超文本传输协议的实时流)协议,则服务器可以根据HLS协议,按照多媒体获取请求对应的多媒体数据中的关键帧,将多媒体获取请求对应的多媒体数据切片为至少一个TS(Transport Streaming,传输流)文件;生成该至少一个TS文件对应的索引文件,该索引文件用于指示至少一个TS文件的文件信息;将索引文件和至少一个TS文件发送至终端。
其中,关键帧是指多媒体数据中不以其他帧为参考的帧。至少一个TS文件的文件信息用于描述该至少一个TS文件,可以包括每个TS文件的文件时长、文件序号和对应的多媒体数据的URL等,该索引文件可以为M3U8文件。依据上述发送方式中将多媒体数据切片为TS文件的过程,参见图4,本发明实施例提供了一种切片流程图。该切片流程中,服务器可以确定待发送的多媒体数据的编码方式和封装方式是否分别符合HLS协议要求的编码方式和封装方式(如,H.264的编码方式和封装方式),如果不符合,则将该待发送的多媒体数据的编码方式(以及封装方式)均转换为符合HLS协议要求的编码方式(以及封装方式),如果符合,则依次提取出一帧一帧的多媒体数据,并依据已知的关键帧标记判断任一帧是否为关键帧,如果该帧不是关键帧,可以将该帧存储至当前的TS文件中,如果该帧为关键帧,可以记录该帧的时间戳,依据时间戳判断该关键帧与上一个关键帧之间的时间差是否大于预设时间差,如果不大于,则将该关键帧存储至当前的TS文件中,如果大于,则生成一个以该关键帧开始的TS文件,并将前一个TS文件的文件信息存储至索引文件中,并判断该索引文件中的文件信息是否超过预设数量,如果超过,则可以删除索引文件中最早的一个文件信息,如果不超过,则可以继续判断下一帧是否为关键帧,直到对待发送的多媒体数据均完成切片,可以得到至少一个TS文件以及该包括该至少一个TS文件的文件信息的索引文件。进而,服务器可以将索引文件发送至终端,使得终端根据索引文件继续请求至少一个TS文件,则服务器可以继续将至少一个TS文件发送至终端。
其中,本发明实施例不限定预设时间差和预设数量,例如,该预设时间差可以为4秒,该预设数量可以为3。通过配置预设时间差,可以灵活地掌控TS文件的大小,从而可以根据具体地传输需求确定该预设时间差;通过配置预设数量,可以很好地限制一次传输的TS文件的数量,并将最新的多媒体数据作为当前传输的多媒体数据,保证了向终端传输的多媒体数据的实时性。
需要说明的是,除了上述根据HLS协议发送多媒体数据的方式,服务器也可以采用其他传输协议发送多媒体数据,如,当终端采用私有协议进行传输时,服务器也可以采用该私有协议直接将多媒体获取请求对应的多媒体数据发送至终端。
304、如果服务器未存储多媒体获取请求对应的多媒体数据,向多媒体获取请求对应的多媒体采集设备发送多媒体获取指令。
该步骤中,服务器可以根据多媒体获取请求中的多媒体标识,确定与该多媒体标识对应的多媒体采集设备,并基于多媒体采集设备的设备标识生成多媒体获取指令,将该多媒体获取指令发送至该多媒体采集设备。其中,设备标识用于唯一标识一个多媒体采集设备,为了识别来自于每个多媒体采集设备的多媒体数据,服务器可以配置多媒体标识与设备标识的对应关系。本发明实施例对设备标识不做具体限定,例如,该设备标识可以为登录该多媒体采集设备的网络主播的账号。
305、当多媒体采集设备接收到服务器的多媒体获取指令时,从缓存中获取目标多媒体数据,目标多媒体数据是指最新存储的多媒体数据。
该步骤中,多媒体采集设备可以采用多种方式获取目标多媒体数据,例如:
获取方式1、当多媒体采集设备接收到服务器的多媒体获取指令时,按照已存储的多媒体数据的时间戳,从缓存中截取最新存储的预设时长的多媒体数据作为目标多媒体数据,预设时长由多媒体获取指令指示或由多媒体采集设备配置。
其中,预设时长可以预先配置在多媒体采集设备上,也可以是从服务器下发的多媒体获取指令中提取得到,本发明实施例不限定预设时长的大小。当多媒体采集设备接收到多媒体获取指令时,可以按照该预设时长和已存储的多媒体数据的时间戳,截取出最新存储的预设时长的多媒体数据作为该目标多媒体数据。
通过配置的预设时长截取缓存中最新存储的多媒体数据,既可以保证所提供的多媒体数据的实时性,也可以灵活地控制每次提供多媒体数据的大小。
获取方式2、当多媒体采集设备接收到服务器的多媒体获取指令时,将缓存中的全部多媒体数据作为目标多媒体数据。
通过将缓存中的全部多媒体数据作为目标多媒体数据,不仅提供方式简便,而且可以一次性提供更多的多媒体数据,使得即使后续不能快速地上传多媒体数据,终端也能连续地播放一段时间。
需要说明的是,如果多媒体采集设备接收到多媒体获取指令指示获取实时的多媒体数据,或者未指示从缓存中获取多媒体数据,多媒体采集设备也可以将当前采集到的多媒体数据发送至服务器,使得服务器能够获取到实时的多媒体数据。
306、多媒体采集设备将目标多媒体数据发送至服务器。
该步骤中,多媒体采集设备可以响应于服务器的多媒体获取指令,并按照与服务器约定的传输协议将目标多媒体数据发送至服务器,该传输协议不限于私有协议或HTTP(HyperText Transfer Protocol,超文本传输协议)。在实际的应用场景中,该多媒体采集设备也可以继续将实时采集地多媒体数据发送至服务器,例如,以下情况均可以继续发送多媒体数据:多媒体获取指令要求发送的多媒体数据的(或大小)大于缓存中的多媒体数据的大小,或者,再次接收到服务器的多媒体获取指令。
307、当服务器接收到多媒体采集设备的目标多媒体数据时,将目标多媒体数据发送至终端。
该步骤中,当服务器接收到目标多媒体数据时,可以根据目标多媒体数据的多媒体标识,确定与该多媒体标识对应的多媒体获取请求,进而确定请求该目标多媒体数据的终端,根据该终端采用的传输协议,将该目标多媒体数据发送至该终端。例如,该终端采用私有协议,则服务器直接将目标多媒体数据发送至终端;又例如,该终端采用HLS协议,当服务器接收到多媒体采集设备的目标多媒体数据时,可以按照目标多媒体数据中的关键帧,将目标多媒体数据切片为至少一个传输流TS文件;生成至少一个TS文件对应的索引文件,索引文件用于指示至少一个TS文件的文件信息;将索引文件和至少一个TS文件发送至终端。该根据HLS协议的具体发送过程与步骤302的发送过程同理。
对于终端来说,当终端接收到目标多媒体数据时,可以对该目标多媒体数据进行解码,并播放解码出的多媒体文件。当终端配置的传输协议为HLS协议时,终端首先接收到的是索引文件,进而提取出至少一个TS文件的文件信息,基于该至少一个TS文件的文件信息向服务器发送TS文件获取请求,使得服务器将至少一个TS文件发送至终端。
当然,为使该终端能够持续播放多媒体文件,该终端在多媒体文件播放结束之前,可以继续向服务器发送多媒体获取请求,服务器和多媒体采集设备还可以继续基于上述步骤301至307的过程传输多媒体数据。或者,为了进一步提高终端所获取的多媒体数据的实时性,多媒体采集设备可以在再次接收到多媒体获取指令时,将当前采集到的多媒体数据发送至服务器;服务器也可以在再次接收到该终端的多媒体获取请求时,将当前接收到的多媒体数据发送至终端。
本发明实施例通过在多媒体采集设备运行过程中将当前采集到的多媒体数据存储至缓存,并在接收到多媒体获取指令时将已存储的目标多媒体数据发送至服务器,使得服务器能够将最新存储的多媒体数据发送给终端,由于多媒体采集设备始终在采集多媒体数据,且会存储最新采集的多媒体数据,使得终端无需等待多媒体采集设备采集多媒体数据的时间,而是能够通过服务器直接获取到该多媒体采集设备采集并存储的多媒体数据,再加上缓存中的数据读取效率高的优势,大大减少了终端从初始请求到开始播放多媒体的时长的同时,也能保证终端获取到的多媒体数据的实时性。
而且,通过服务器将接收到的多媒体采集设备的多媒体数据存储至缓存,可以在接收到终端的多媒体获取请求时,直接将已存储的该多媒体获取请求对应的多媒体数据发送给终端,无需再指示多媒体采集设备采集并上传多媒体数据,使得终端无需等待多媒体采集设备提供多媒体数据的时间,而是能够直接获取到该服务器已存储的该多媒体采集设备对应的多媒体数据,再加上缓存中的数据读取效率高的优势,大大减少了终端从初始请求到开始播放多媒体的时长的同时。
以上图3实施例是以一个服务器为例对多媒体数据传输过程进行说明。在实际的应用场景中,也可以将该第一个服务器的功能由多个服务器执行,参见图5,本发明实施例提供了一种多媒体数据传输的实施环境示意图。该实施环境中可以包括多媒体采集设备、接入服务器、媒体分发服务器、切片服务器和终端。其中,多媒体采集设备可以为摄像机,用于采集、编码并存储多媒体数据。接入服务器用于控制媒体分发服务器与多媒体采集设备之间的通信。媒体分发服务器用于接收摄像机发送的多媒体数据,并将该多媒体数据分发给各个终端或者切片服务器。切片服务器用于对从媒体分发服务器获取的多媒体数据进行切片。终端用于通过私有协议从媒体分发服务器获取多媒体数据,并进行播放;也可以用于通过HLS协议从切片服务器获取M3U8文件和TS文件,并进行播放。
基于该图5所示的实施环境,参见图6,本发明实施例提供了一种多媒体数据传输的流程图。其中,终端从切片服务器获取多媒体数据的流程可以如步骤1-5所示:
1、当终端向切片服务器请求M3U8文件时,切片服务器可以查询缓存中是否已存储该M3U8文件对应的TS文件,如果是,则将M3U8文件和TS文件返回给终端,如果否,则向媒体分发服务器发送多媒体获取请求。
2、当媒体分发服务器接收到多媒体获取请求时,可以查询缓存中是否已存储该多媒体获取请求对应的多媒体数据,如果是,则将缓存中最新存储的多媒体数据发送给切片服务器,如果否,则通过接入服务器向摄像机发送多媒体获取指令。
3、当摄像机接收到多媒体获取指令时,如果该多媒体获取指令指示获取缓存数据,可以将缓存中最新存储的多媒体数据发送给媒体分发服务器。当然,如果该多媒体获取指令指示获取实时数据,摄像机也可以将实时采集的多媒体数据发送给媒体分发服务器。
4、媒体分发服务器将接收到的多媒体数据发送给切片服务器,并在缓存中存储该多媒体数据,以方便为其他终端提供该多媒体数据。
5、切片服务器对接收到的多媒体数据进行切片,生成M3U8文件和TS文件,进而将M3U8文件返回给终端,使得终端基于接收到的M3U8文件继续获取TS文件,从而开始播放多媒体文件。
终端从媒体分发服务器获取多媒体数据的流程可以为:当媒体分发服务器接收到终端的多媒体获取请求时,可以查询缓存中是否已存储该多媒体获取请求对应的多媒体数据,如果是,则直接向终端发送缓存中最新的一组GOP(Group of picture,画面组),如果否,则向摄像机发送多媒体获取指令,使得摄像机将实时采集的多媒体数据发送至媒体分发服务器,由媒体分发服务器将多媒体数据发送给终端,并缓存该多媒体数据。
图7是本发明实施例提供的一种多媒体采集设备的框图,如图7所示,该设备包括:
传感器701,用于采集多媒体数据;
存储器702,用于缓存当前采集到的多媒体数据;
处理器703,用于当接收到服务器的多媒体获取指令时,从缓存中获取目标多媒体数据,目标多媒体数据是指最新存储的多媒体数据;
通信模块704,用于将目标多媒体数据发送至服务器,使得服务器将目标多媒体数据发送至终端。
本发明实施例通过在多媒体采集设备运行过程中将当前采集到的多媒体数据存储至缓存,并在接收到多媒体获取指令时将已存储的目标多媒体数据发送至服务器,使得服务器能够将最新存储的多媒体数据发送给终端,由于多媒体采集设备始终在采集多媒体数据,且会存储最新采集的多媒体数据,使得终端无需等待多媒体采集设备采集多媒体数据的时间,而是能够通过服务器直接获取到该多媒体采集设备采集并存储的多媒体数据,再加上缓存中的数据读取效率高的优势,大大减少了终端从初始请求到开始播放多媒体的时长的同时,也能保证终端获取到的多媒体数据的实时性。
在一种可能实现方式中,存储器702用于:将当前采集到的多媒体数据覆盖缓存中最早存储的多媒体数据。
在一种可能实现方式中,处理器703,用于当接收到服务器的多媒体获取指令时,按照已存储的多媒体数据的时间戳,从缓存中截取最新存储的预设时长的多媒体数据作为目标多媒体数据;或,
处理器703,用于当接收到服务器的多媒体获取指令时,将缓存中的全部多媒体数据作为目标多媒体数据;
其中,预设时长由多媒体获取指令指示或由多媒体采集设备配置。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
图8是本发明实施例提供的一种服务器的框图,如图8所示,该服务器包括:
存储器801,用于缓存接收到的多媒体采集设备的多媒体数据;
处理器802,用于当接收到终端的多媒体获取请求时,从缓存中获取多媒体获取请求对应的多媒体数据,多媒体获取请求用于请求获取多媒体采集设备所采集的多媒体数据;
通信模块803,用于将多媒体获取请求对应的多媒体数据发送至终端。
本发明实施例通过将接收到的多媒体采集设备的多媒体数据存储至缓存,可以在接收到终端的多媒体获取请求时,直接将已存储的该多媒体获取请求对应的多媒体数据发送给终端,无需再指示多媒体采集设备采集并上传多媒体数据,使得终端无需等待多媒体采集设备提供多媒体数据的时间,而是能够直接获取到该服务器已存储的该多媒体采集设备对应的多媒体数据,再加上缓存中的数据读取效率高的优势,大大减少了终端从初始请求到开始播放多媒体的时长的同时。
在一种可能实现方式中,存储器801用于:
将多媒体数据覆盖缓存中与多媒体采集设备对应的最早存储的多媒体数据。
在一种可能实现方式中,处理器802用于:按照多媒体获取请求对应的多媒体数据中的关键帧,将多媒体获取请求对应的多媒体数据切片为至少一个传输流TS文件;生成至少一个TS文件对应的索引文件,索引文件用于指示至少一个TS文件的文件信息;
通信模块803,用于将索引文件和至少一个TS文件发送至终端。
在一种可能实现方式中,通信模块803还用于:
当接收到终端的多媒体获取请求时,如果缓存中未存储多媒体获取请求对应的多媒体数据,向多媒体获取请求对应的多媒体采集设备发送多媒体获取指令;
当接收到多媒体采集设备的目标多媒体数据时,将目标多媒体数据发送至终端,目标多媒体数据是指多媒体采集设备的缓存中最新存储的多媒体数据。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的多媒体采集设备或服务器在传输多媒体数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备或服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的多媒体采集设备或服务器与多媒体数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图9是本发明实施例提供的一种终端结构示意图,该终端900可以作为多媒体采集设备:
终端900可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、WiFi(Wireless Fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图9中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可作为终端900的通信模块,用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low NoiseAmplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global Systemof Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(WidebandCode Division Multiple Access,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端900的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端900的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图9中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。
终端900还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端900移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端900还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与终端900之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端900的通信。
WiFi属于短距离无线传输技术,终端900通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图9示出了WiFi模块170,但是可以理解的是,其并不属于终端900的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端900的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端900的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端900还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端900还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。所述一个或者一个以上程序包含用于执行以下操作的指令:
在多媒体采集设备的运行过程中,将当前采集到的多媒体数据存储至缓存;当接收到服务器的多媒体获取指令时,从缓存中获取目标多媒体数据,目标多媒体数据是指最新存储的多媒体数据;将目标多媒体数据发送至服务器,使得服务器将目标多媒体数据发送至终端。
图10是本发明实施例提供的一种服务器1000的框图。参照图10,服务器1000包括处理组件1022,其进一步包括一个或多个处理器,以及由存储器1032所代表的存储器资源,用于存储可由处理部件1022的执行的指令,例如应用程序。存储器1032中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1022被配置为执行指令,以执行上述方法实施例中服务器所执行的多媒体数据传输方法。
服务器1000还可以包括一个电源组件1026被配置为执行服务器1000的电源管理,一个有线或无线网络接口1050被配置为将服务器1000连接到网络,一个输入输出(I/O)接口1058和用于与终端或多媒体采集设备进行通信的通信模块。服务器1000可以操作基于存储在存储器1032的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器,上述指令可由多媒体采集设备或服务器中的处理器执行以完成上述实施例中的多媒体数据传输方法。例如,计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种多媒体数据传输方法,其特征在于,应用于多媒体采集设备,所述方法包括:
在所述多媒体采集设备的运行过程中,将当前采集到的多媒体数据存储至缓存;
当接收到服务器的多媒体获取指令时,按照已存储的多媒体数据的时间戳,从所述缓存中截取最新存储的预设时长的多媒体数据作为目标多媒体数据,所述预设时长由所述多媒体获取指令指示或者由所述多媒体采集设备配置,所述多媒体获取指令是所述服务器在接收到终端发送的多媒体获取请求,且所述服务器的缓存中未存储有所述多媒体获取请求对应的多媒体数据时发送的;
将所述目标多媒体数据发送至所述服务器,使得所述服务器确定待发送的多媒体数据的编码方式和封装方式是否分别符合HLS协议要求的编码方式和封装方式,如果不符合,则将所述待发送的多媒体数据的编码方式以及封装方式均转换为符合HLS协议要求的编码方式以及封装方式,如果符合,则依次提取出一帧一帧的多媒体数据,并依据已知的关键帧标记判断任一帧是否为关键帧,如果所述帧不是关键帧,将所述帧存储至当前的TS文件中,如果所述帧为关键帧,记录所述帧的时间戳,依据时间戳判断所述关键帧与上一个关键帧之间的时间差是否大于预设时间差,如果不大于,则将所述关键帧存储至当前的TS文件中,如果大于,则生成一个以所述关键帧开始的TS文件,并将前一个TS文件的文件信息存储至索引文件中,并判断所述索引文件中的文件信息是否超过预设数量,如果超过,则删除所述索引文件中最早的一个文件信息,如果不超过,则继续判断下一帧是否为关键帧,直到对待发送的多媒体数据均完成切片,得到至少一个TS文件以及所述包括所述至少一个TS文件的文件信息的索引文件,将索引文件发送至终端,使得所述终端根据索引文件继续请求至少一个TS文件,则继续将至少一个TS文件发送至所述终端。
2.根据权利要求1所述的方法,其特征在于,所述在所述多媒体采集设备的运行过程中,将当前采集到的多媒体数据存储至缓存,包括:
在所述多媒体采集设备的运行过程中,将当前采集到的多媒体数据覆盖所述缓存中最早存储的多媒体数据。
3.一种多媒体数据传输方法,其特征在于,应用于服务器,所述方法包括:
当接收到多媒体采集设备的多媒体数据时,将所述多媒体数据存储至缓存;
当接收到终端的多媒体获取请求时,如果所述缓存中存储所述多媒体获取请求对应的多媒体数据,从所述缓存中获取所述多媒体获取请求对应的多媒体数据作为待发送的多媒体数据,所述多媒体获取请求用于请求获取所述多媒体采集设备所采集的多媒体数据;
当接收到所述终端的多媒体获取请求时,如果所述缓存中未存储所述多媒体获取请求对应的多媒体数据,向所述多媒体获取请求对应的多媒体采集设备发送多媒体获取指令;当接收到所述多媒体采集设备的目标多媒体数据时,将所述目标多媒体数据确定为待发送的多媒体数据,所述目标多媒体数据是指所述多媒体采集设备的缓存中最新存储的预设时长多媒体数据,所述预设时长由所述多媒体获取指令指示或者由所述多媒体采集设备配置;
确定待发送的多媒体数据的编码方式和封装方式是否分别符合HLS协议要求的编码方式和封装方式,如果不符合,则将所述待发送的多媒体数据的编码方式以及封装方式均转换为符合HLS协议要求的编码方式以及封装方式,如果符合,则依次提取出一帧一帧的多媒体数据,并依据已知的关键帧标记判断任一帧是否为关键帧,如果所述帧不是关键帧,将所述帧存储至当前的TS文件中,如果所述帧为关键帧,记录所述帧的时间戳,依据时间戳判断所述关键帧与上一个关键帧之间的时间差是否大于预设时间差,如果不大于,则将所述关键帧存储至当前的TS文件中,如果大于,则生成一个以所述关键帧开始的TS文件,并将前一个TS文件的文件信息存储至索引文件中,并判断所述索引文件中的文件信息是否超过预设数量,如果超过,则删除所述索引文件中最早的一个文件信息,如果不超过,则继续判断下一帧是否为关键帧,直到对待发送的多媒体数据均完成切片,得到至少一个TS文件以及所述包括所述至少一个TS文件的文件信息的索引文件,将索引文件发送至终端,使得所述终端根据索引文件继续请求至少一个TS文件,则继续将至少一个TS文件发送至所述终端。
4.根据权利要求3所述的方法,其特征在于,所述当接收到多媒体采集设备的多媒体数据时,将所述多媒体数据存储至缓存,包括:
当接收到多媒体采集设备的多媒体数据时,将所述多媒体数据覆盖所述缓存中与所述多媒体采集设备对应的最早存储的多媒体数据。
5.一种多媒体采集设备,其特征在于,所述设备包括:传感器,用于采集多媒体数据;
存储器,用于缓存当前采集到的多媒体数据;
处理器,用于当接收到服务器的多媒体获取指令时,按照已存储的多媒体数据的时间戳,从所述缓存中截取最新存储的预设时长的多媒体数据作为目标多媒体数据,所述预设时长由所述多媒体获取指令指示或者由所述多媒体采集设备配置,所述多媒体获取指令是所述服务器在接收到终端发送的多媒体获取请求,且所述服务器的缓存中未存储有所述多媒体获取请求对应的多媒体数据时发送的;
通信模块,用于将所述目标多媒体数据发送至所述服务器,使得所述服务器确定待发送的多媒体数据的编码方式和封装方式是否分别符合HLS协议要求的编码方式和封装方式,如果不符合,则将所述待发送的多媒体数据的编码方式以及封装方式均转换为符合HLS协议要求的编码方式以及封装方式,如果符合,则依次提取出一帧一帧的多媒体数据,并依据已知的关键帧标记判断任一帧是否为关键帧,如果所述帧不是关键帧,将所述帧存储至当前的TS文件中,如果所述帧为关键帧,记录所述帧的时间戳,依据时间戳判断所述关键帧与上一个关键帧之间的时间差是否大于预设时间差,如果不大于,则将所述关键帧存储至当前的TS文件中,如果大于,则生成一个以所述关键帧开始的TS文件,并将前一个TS文件的文件信息存储至索引文件中,并判断所述索引文件中的文件信息是否超过预设数量,如果超过,则删除所述索引文件中最早的一个文件信息,如果不超过,则继续判断下一帧是否为关键帧,直到对待发送的多媒体数据均完成切片,得到至少一个TS文件以及所述包括所述至少一个TS文件的文件信息的索引文件,服务器将索引文件发送至终端,使得终端根据索引文件继续请求至少一个TS文件,则服务器继续将至少一个TS文件发送至终端。
6.根据权利要求5所述的设备,其特征在于,所述存储器用于:
将当前采集到的多媒体数据覆盖所述缓存中最早存储的多媒体数据。
7.一种服务器,其特征在于,所述服务器包括:
存储器,用于缓存接收到的多媒体采集设备的多媒体数据;
处理器,用于当接收到终端的多媒体获取请求时,如果所述缓存中存储所述多媒体获取请求对应的多媒体数据,从所述存储器的缓存中获取所述多媒体获取请求对应的多媒体数据作为待发送的多媒体数据,所述多媒体获取请求用于请求获取所述多媒体采集设备所采集的多媒体数据;
通信模块,用于:
当接收到所述终端的多媒体获取请求时,如果所述缓存中未存储所述多媒体获取请求对应的多媒体数据,向所述多媒体获取请求对应的多媒体采集设备发送多媒体获取指令;当接收到所述多媒体采集设备的目标多媒体数据时,将所述目标多媒体数据确定为待发送的多媒体数据,所述目标多媒体数据是指所述多媒体采集设备的缓存中最新存储的预设时长多媒体数据,所述预设时长由所述多媒体获取指令指示或者由所述多媒体采集设备配置;
确定待发送的多媒体数据的编码方式和封装方式是否分别符合HLS协议要求的编码方式和封装方式,如果不符合,则将所述待发送的多媒体数据的编码方式以及封装方式均转换为符合HLS协议要求的编码方式以及封装方式,如果符合,则依次提取出一帧一帧的多媒体数据,并依据已知的关键帧标记判断任一帧是否为关键帧,如果所述帧不是关键帧,将所述帧存储至当前的TS文件中,如果所述帧为关键帧,记录所述帧的时间戳,依据时间戳判断所述关键帧与上一个关键帧之间的时间差是否大于预设时间差,如果不大于,则将所述关键帧存储至当前的TS文件中,如果大于,则生成一个以所述关键帧开始的TS文件,并将前一个TS文件的文件信息存储至索引文件中,并判断所述索引文件中的文件信息是否超过预设数量,如果超过,则删除所述索引文件中最早的一个文件信息,如果不超过,则继续判断下一帧是否为关键帧,直到对待发送的多媒体数据均完成切片,得到至少一个TS文件以及所述包括所述至少一个TS文件的文件信息的索引文件,服务器将索引文件发送至终端,使得终端根据索引文件继续请求至少一个TS文件,则服务器继续将至少一个TS文件发送至终端。
8.根据权利要求7所述的服务器,其特征在于,所述存储器用于:
将所述多媒体数据覆盖所述缓存中与所述多媒体采集设备对应的最早存储的多媒体数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710465663.4A CN109151494B (zh) | 2017-06-19 | 2017-06-19 | 多媒体数据传输方法、多媒体采集设备及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710465663.4A CN109151494B (zh) | 2017-06-19 | 2017-06-19 | 多媒体数据传输方法、多媒体采集设备及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109151494A CN109151494A (zh) | 2019-01-04 |
CN109151494B true CN109151494B (zh) | 2021-07-09 |
Family
ID=64804456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710465663.4A Active CN109151494B (zh) | 2017-06-19 | 2017-06-19 | 多媒体数据传输方法、多媒体采集设备及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109151494B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109788372B (zh) * | 2019-01-24 | 2021-06-08 | 维沃移动通信有限公司 | 一种流媒体的播放方法及相关装置 |
CN110545472B (zh) * | 2019-09-04 | 2021-04-16 | 北京字节跳动网络技术有限公司 | 视频数据的处理方法、装置、电子设备及计算机可读介质 |
CN113014405A (zh) * | 2019-12-19 | 2021-06-22 | 中兴通讯股份有限公司 | 数据获取指令的处理方法、snmp代理设备以及存储介质 |
CN111601080B (zh) * | 2020-05-12 | 2021-08-10 | 湖北君赞智能科技有限公司 | 一种小区安防监控视频储存用视频管理系统 |
CN112073747A (zh) * | 2020-09-18 | 2020-12-11 | 普联技术有限公司 | 一种流媒体数据预览方法、用户端设备及中继服务器 |
CN113434712A (zh) * | 2021-06-29 | 2021-09-24 | 青岛海尔科技有限公司 | 多媒体处理方法、装置、计算机可读存储介质及电子装置 |
CN113987217A (zh) * | 2021-10-09 | 2022-01-28 | 华夏文化传媒集团股份有限公司 | 用于融媒体数据采集的方法和装置 |
CN114466077A (zh) * | 2022-01-25 | 2022-05-10 | 北京三快在线科技有限公司 | 一种多媒体数据处理系统及多媒体数据处理方法 |
CN116055810A (zh) * | 2023-01-17 | 2023-05-02 | 阿里云计算有限公司 | 音视频播放方法、装置、系统、电子设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101316357A (zh) * | 2008-06-30 | 2008-12-03 | 华为技术有限公司 | 一种频道切换的方法、终端和媒体服务器 |
CN101917389A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种网络电视直播系统 |
CN103297452A (zh) * | 2012-02-24 | 2013-09-11 | 北京对角巷科技发展有限公司 | 一种在互联网发布和直播流媒体的方法及系统 |
CN104486636A (zh) * | 2014-12-30 | 2015-04-01 | 中科创达软件股份有限公司 | 一种基于hls协议的视频片段缓存方法及系统 |
CN104661113A (zh) * | 2013-11-25 | 2015-05-27 | 乐视网信息技术(北京)股份有限公司 | 一种直播流媒体的方法、服务器、终端及通信系统 |
CN105491397A (zh) * | 2015-12-01 | 2016-04-13 | 深圳市福云明网络科技有限公司 | 基于udt协议和ts切片相结合的视频实时推送的方法 |
CN105791886A (zh) * | 2016-03-03 | 2016-07-20 | 华南理工大学 | 支持细粒度数据分片的无线流媒体视频服务系统与方法 |
CN106488273A (zh) * | 2016-10-10 | 2017-03-08 | 广州酷狗计算机科技有限公司 | 一种传输直播视频的方法和装置 |
CN106658113A (zh) * | 2016-09-30 | 2017-05-10 | 腾讯科技(北京)有限公司 | 多媒体数据处理方法及装置 |
CN106658045A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种多媒体数据的云存储、云下载方法及相关装置 |
CN106713941A (zh) * | 2017-01-04 | 2017-05-24 | 北京百度网讯科技有限公司 | 一种音视频直播的实现方法和服务器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9237387B2 (en) * | 2009-10-06 | 2016-01-12 | Microsoft Technology Licensing, Llc | Low latency cacheable media streaming |
CN101917590A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种具有回放功能的网络直播系统及一种播放器 |
CN102611945B (zh) * | 2011-12-19 | 2014-06-04 | 北京蓝汛通信技术有限责任公司 | 一种流媒体切片方法、切片服务器及流媒体点播系统 |
MX2017015855A (es) * | 2015-06-09 | 2018-06-06 | Arris Entpr Llc | Sincronizacion de cliente de video de transmision por secuencias en vivo http (hls). |
CN105898620A (zh) * | 2015-11-26 | 2016-08-24 | 乐视移动智能信息技术(北京)有限公司 | 多媒体实时直播的方法和装置 |
-
2017
- 2017-06-19 CN CN201710465663.4A patent/CN109151494B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101316357A (zh) * | 2008-06-30 | 2008-12-03 | 华为技术有限公司 | 一种频道切换的方法、终端和媒体服务器 |
CN101917389A (zh) * | 2009-12-17 | 2010-12-15 | 新奥特(北京)视频技术有限公司 | 一种网络电视直播系统 |
CN103297452A (zh) * | 2012-02-24 | 2013-09-11 | 北京对角巷科技发展有限公司 | 一种在互联网发布和直播流媒体的方法及系统 |
CN104661113A (zh) * | 2013-11-25 | 2015-05-27 | 乐视网信息技术(北京)股份有限公司 | 一种直播流媒体的方法、服务器、终端及通信系统 |
CN104486636A (zh) * | 2014-12-30 | 2015-04-01 | 中科创达软件股份有限公司 | 一种基于hls协议的视频片段缓存方法及系统 |
CN106658045A (zh) * | 2015-10-29 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种多媒体数据的云存储、云下载方法及相关装置 |
CN105491397A (zh) * | 2015-12-01 | 2016-04-13 | 深圳市福云明网络科技有限公司 | 基于udt协议和ts切片相结合的视频实时推送的方法 |
CN105791886A (zh) * | 2016-03-03 | 2016-07-20 | 华南理工大学 | 支持细粒度数据分片的无线流媒体视频服务系统与方法 |
CN106658113A (zh) * | 2016-09-30 | 2017-05-10 | 腾讯科技(北京)有限公司 | 多媒体数据处理方法及装置 |
CN106488273A (zh) * | 2016-10-10 | 2017-03-08 | 广州酷狗计算机科技有限公司 | 一种传输直播视频的方法和装置 |
CN106713941A (zh) * | 2017-01-04 | 2017-05-24 | 北京百度网讯科技有限公司 | 一种音视频直播的实现方法和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN109151494A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109151494B (zh) | 多媒体数据传输方法、多媒体采集设备及服务器 | |
EP3525417A1 (en) | Data processing method, device, storage medium, electronic device and server | |
CN107454416B (zh) | 视频流发送方法和装置 | |
WO2017020663A1 (zh) | 弹幕视频直播方法、装置、视频源设备及网络接入设备 | |
CN108566332B (zh) | 一种即时通讯信息处理方法、装置和存储介质 | |
CN106412662B (zh) | 时间戳分配方法及装置 | |
CN109756767B (zh) | 预览数据播放方法、装置及存储介质 | |
CN108040091B (zh) | 数据处理方法、装置及存储介质 | |
CN106302996B (zh) | 消息显示方法及装置 | |
CN112104897B (zh) | 视频获取方法、终端及存储介质 | |
CN108900855B (zh) | 直播内容录制方法、装置、计算机可读存储介质及服务器 | |
CN107800665B (zh) | 多媒体传输方法、接入网设备及终端 | |
CN109121008B (zh) | 一种视频预览方法、装置、终端及存储介质 | |
CN104065693A (zh) | 一种网页应用中网络数据的访问方法、装置和系统 | |
CN106936699A (zh) | 一种信息分享方法、装置和系统 | |
CN105227598B (zh) | 一种基于云存储的资源分享方法、装置和系统 | |
CN106101764A (zh) | 一种显示视频数据的方法、装置和系统 | |
CN109495769B (zh) | 视频通信方法、终端、智能电视、服务器及存储介质 | |
WO2018161788A1 (zh) | 多媒体数据共享方法及装置 | |
CN108268232B (zh) | 一种图片显示方法、装置、系统和存储介质 | |
CN108347460B (zh) | 资源访问方法及装置 | |
CN106682189B (zh) | 文件名显示方法及装置 | |
CN107995151B (zh) | 登录验证方法、装置及系统 | |
CN110636337A (zh) | 视频图像的截取方法、装置及系统 | |
CN105577712B (zh) | 一种文件上传方法、装置和系统 |
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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: No. 555, Qianmo Road, Binjiang District, Hangzhou, Zhejiang 310000 Patentee after: Hangzhou fluorite Network Co.,Ltd. Address before: No. 555, Qianmo Road, Binjiang District, Hangzhou, Zhejiang 310000 Patentee before: HANGZHOU EZVIZ NETWORK Co.,Ltd. |