CN112243158A - 媒体文件处理方法、装置及电子设备 - Google Patents
媒体文件处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112243158A CN112243158A CN201910651561.0A CN201910651561A CN112243158A CN 112243158 A CN112243158 A CN 112243158A CN 201910651561 A CN201910651561 A CN 201910651561A CN 112243158 A CN112243158 A CN 112243158A
- Authority
- CN
- China
- Prior art keywords
- media file
- path
- file
- index
- target
- 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
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/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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26208—Content 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 the scheduling operation being performed under constraints
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/432—Content retrieval operation from a local storage medium, e.g. hard-disk
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/436—Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
- H04N21/4363—Adapting the video or multiplex stream to a specific local network, e.g. a IEEE 1394 or Bluetooth® network
-
- 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
Abstract
本公开提供了一种媒体文件处理方法、装置及电子设备。该方法包括:从本地数据库中获取待投放媒体文件,待投放媒体文件包括第一索引文件,第一索引文件对应一索引路径,并包括第一媒体文件流路径;将索引路径转换为网络资源路径,并将网络资源路径发送至目标投放终端;接收目标投放终端根据网络资源路径发送的媒体文件网络请求;响应媒体文件网络请求,将第一媒体文件流路径转换为第二媒体文件流路径,以获取第二索引文件,并将具有第二索引文件的待投放媒体文件发送至目标投放终端,以使目标投放终端根据第二媒体文件流路径获取目标待投放媒体文件并进行播放。本公开能够实现对不支持格式的本地媒体文件的播放,并且提高了用户体验和对投屏产品的满意度。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种媒体文件处理方法、媒体文件处理装置及电子设备。
背景技术
随着电子设备的智能化,用户在观看媒体文件时,为了提高观看体验,通常需要将媒体文件从手机、平板电脑等终端投屏到其它的终端设备上,以供用户观看。
目前,现有的投屏软件都支持网络媒体文件的投放,对于本地媒体文件投放仅支持部分格式,如mp4、avi、3gp等单体媒体文件,而对于一些投屏软件不支持的格式将无法成功投屏,例如m3u8格式的视频文件,大大降低了用户体验和产品满意度。
鉴于此,本领域亟需开发一种新的媒体文件处理方法。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的实施例提供了一种媒体文件处理方法、媒体文件处理装置及电子设备,进而至少在一定程度上可以投屏本地不支持格式的媒体文件文件,提高了用户体验和对投屏产品的满意度。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一个方面,提供了一种媒体文件处理方法,包括:从本地数据库中获取待投放媒体文件,所述待投放媒体文件包括第一索引文件,且所述第一索引文件对应一索引路径,并包括第一媒体文件流路径;将所述索引路径转换为网络资源路径,并将所述网络资源路径发送至目标投放终端;接收所述目标投放终端根据所述网络资源路径发送的媒体文件网络请求;响应所述媒体文件网络请求,将所述第一媒体文件流路径转换为第二媒体文件流路径,以获取第二索引文件,并将具有所述第二索引文件的待投放媒体文件发送至所述目标投放终端,以使所述目标投放终端根据所述第二媒体文件流路径获取目标待投放媒体文件并进行播放。
根据本公开实施例的一个方面,提供了一种媒体文件处理方法,包括:接收终端发送的网络资源路径,并根据所述网络资源路径向所述终端发送媒体文件网络请求,所述网络资源路径是所述终端对从本地数据库中获取的媒体文件所包含的第一索引文件对应的索引路径转换而成的;接收所述终端响应所述媒体文件网络请求返回的具有第二索引文件的待投放媒体文件,根据所述第二索引文件中的媒体文件流路径获取目标待投放媒体文件并进行播放,其中所述第二索引文件中的媒体文件流路径是根据所述第一索引文件中的媒体文件流路径转换而成的。
根据本公开实施例的一个方面,提供了一种媒体文件处理装置,包括:媒体文件获取模块,用于从本地数据库中获取待投放媒体文件,所述待投放媒体文件包括第一索引文件,且所述第一索引文件对应一索引路径,并包括第一媒体文件流路径;路径发送模块,用于将所述索引路径转换为网络资源路径,并将所述网络资源路径发送至目标投放终端;请求接收模块,用于接收所述目标投放终端根据所述网络资源路径发送的媒体文件网络请求;媒体文件发送模块,用于响应所述媒体文件网络请求,将所述第一媒体文件流路径转换为第二媒体文件流路径,以获取第二索引文件,并将具有所述第二索引文件的待投放媒体文件发送至所述目标投放终端,以使所述目标投放终端根据所述第二媒体文件流路径获取目标待投放媒体文件并进行播放。
在本公开的一些实施例中,基于前述方案,所述媒体文件获取模块配置为:通过本地HTTP服务器将所述索引路径转换为所述网络资源路径,并将所述网络资源路径发送至所述目标投放终端。
在本公开的一些实施例中,基于前述方案,所述索引路径为本地存储所述第一索引文件的绝对路径,所述网络资源路径为包含HTTP协议、终端IP地址、本地HTTP服务器端口和所述绝对路径的统一资源定位符。
在本公开的一些实施例中,所述第一媒体文件流路径包括本地文件传输协议和待投放媒体文件路径;基于前述方案,所述媒体文件发送模块配置为:去除所述第一媒体文件流路径中的本地文件传输协议,保留以预设标记标识的所述待投放媒体文件路径,以形成所述第二媒体文件流路径。
在本公开的一些实施例中,基于前述方案,所述媒体文件处理装置还包括:下载模块,用于从媒体文件源中获取预设格式的媒体文件,并将所述媒体文件保存于本地,其中所述媒体文件包括索引文件,所述索引文件包括初始媒体文件流路径;路径修改模块,用于将所述初始媒体文件流路径修改为所述第一媒体文件流路径,以获取所述第一索引文件,并将具有所述第一索引文件的媒体文件作为所述待投放媒体文件。
在本公开的一些实施例中,基于前述方案,所述媒体文件处理装置还包括:连接模块,用于启动资源共享服务,并接入一个或多个投放终端所连接的局域网;广播模块,用于根据预设传输协议向所述投放终端发送协议广播,并接收所述投放终端响应所述协议广播返回的响应信息;选择模块,用于根据所述响应信息从所述投放终端中确定所述目标投放终端。
根据本公开实施例的一个方面,提供了一种媒体文件处理装置,包括:请求发送模块,用于接收控制终端发送的网络资源路径,并根据所述网络资源路径向所述控制终端发送媒体文件网络请求,所述网络资源路径是所述控制终端对从本地数据库中获取的待投放媒体文件所包含的第一索引文件对应的索引路径转换而成的;媒体文件接收模块,用于接收所述控制终端响应所述媒体文件网络请求返回的具有第二索引文件的待投放媒体文件,根据所述第二索引文件中的媒体文件流路径获取目标待投放媒体文件并进行播放,其中所述第二索引文件中的媒体文件流路径是根据所述第一索引文件中的媒体文件流路径转换而成的。
在本公开的一些实施例中,基于前述方案,所述媒体文件处理装置还配置为:启动资源共享服务,并接入所述控制终端所连接的局域网。
在本公开的一些实施例中,基于前述方案,所述媒体文件处理装置还配置为:接收所述控制终端根据预设传输协议发送的协议广播,并根据所述协议广播向所述控制终端返回响应信息,以使所述控制终端根据所述响应信息判断是否发送所述网络资源路径。
在本公开的一些实施例中,所述控制终端中设置有本地HTTP服务器,所述网络资源路径是通过所述本地HTTP服务器对所述索引路径转换而成的;基于前述方案,所述请求发送模块配置为:接收所述本地HTTP服务器发送的所述网络资源路径,并根据所述网络资源路径向所述本地HTTP服务器发送媒体文件网络请求。
在本公开的一些实施例中,基于前述方案,所述媒体文件接收模块配置为:接收所述本地HTTP服务器发送的所述具有第二索引文件的待投放媒体文件;解析所述第二索引文件,以获取所述第二索引文件中的媒体文件流路径;根据所述第二索引文件中的媒体文件流路径向所述本地HTTP服务器发送媒体文件获取请求;接收所述本地HTTP服务器响应所述媒体文件获取请求发送的目标待投放媒体文件,对所述目标待投放媒体文件进行解码,并播放解码后的所述目标待投放媒体文件。
在本公开的一些实施例中,基于前述方案,所述第二索引文件中的媒体文件流路径为所述本地HTTP服务器从所述第一索引文件的媒体文件流路径中提取的以预设标记标识的待投放媒体文件路径。
根据本公开实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的媒体文件处理方法。
在本公开的一些实施例所提供的技术方案中,控制终端从本地数据库中获取待投放媒体文件,对待投放媒体文件所包含的第一索引文件对应的索引路径进行转换形成网络资源路径,并将网络资源路径发送给目标投放终端;目标投放终端根据网络资源路径形成媒体文件网络请求,控制终端接收到该媒体文件网络请求后,将第一索引文件中的第一媒体文件流路径转换为第二媒体文件流路径,以形成第二索引文件,并将具有第二索引文件的待投放媒体文件发送给目标投放终端,以使其根据第二媒体文件流路径获取目标待投放媒体文件并进行播放。本公开的技术方案一方面能够实现对不支持格式的本地媒体文件的播放;另一方面,能够提高用户体验和对投屏产品的满意度,增加对投屏产品的使用频率和使用时长。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图;
图2示意性示出了根据本公开的一个实施例的媒体文件处理方法的流程图;
图3示意性示出了根据本公开的一个实施例的m3u8文件的结构示意图;
图4A-4B示意性示出了根据本公开的一个实施例的初始媒体文件流路径修改前后的结构示意图;
图5示意性示出了根据本公开的一个实施例的媒体文件处理方法的流程图;
图6示意性示出了根据本公开的一个实施例的投放媒体文件的流程示意图;
图7示意性示出了根据本公开的一个实施例的投放m3u8格式的视频文件的流程示意图;
图8示意性示出了根据本公开的一个实施例的媒体文件处理装置的框图;
图9示意性示出了根据本公开的一个实施例的媒体文件处理装置的框图;
图10示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构100可以包括控制终端101、投放终端102、网络103和服务器104。网络103用以在终端设备和服务器104之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
应该理解,图1中的控制终端、投放终端、网络和服务器的数目仅仅是示意性的。根据实际需要,可以具有任意数目的控制终端、投放终端、网络和服务器。比如服务器104可以是多个服务器组成的服务器集群等,在本公开实施例中,服务器104可以是搭建在控制终端101本地的多媒体服务器。控制终端101可以是智能手机、平板电脑和便携式计算机103中的一种或多种,当然也可以是台式计算机等等,投放终端102可以是智能电视、投影仪、计算机、连接有显示器的机顶盒中的一种或多种,值得说明的是,控制终端101和投放终端102应当具有资源共享服务,以便将控制终端101中的资源,如照片、视频、音乐等,投放到投放终端102中。
在本公开的一个实施例中,控制终端101从本地数据库中获取待投放媒体文件,该待投放媒体文件的格式为投放终端102不支持的媒体文件格式,例如m3u8格式的视频文件,该媒体文件包含第一索引文件,并且第一索引文件对应一索引路径,并且包括第一媒体文件流路径,该索引路径具体可以是m3u8格式的视频文件的绝对地址,第一媒体文件流路径具体可以是TS流路径,即视频流媒体文件路径;控制终端101中搭建有本地HTTP服务器,该本地HTTP服务器可以对索引路径进行转换形成网络资源路径,在形成网络资源路径后,本地HTTP服务器可以将网络资源路径发送给投放终端102,以使投放终端102根据网络资源路径形成媒体文件网络请求,并将该媒体文件网络请求发送至控制终端101;控制终端101中的本地HTTP服务器接收到该媒体文件网络请求后,可以将第一媒体文件流路径转换为第二媒体文件流路径以形成第二索引文件,该第二索引文件是投放终端102可识别的索引文件,本地HTTP服务器可以将具有第二索引文件的待投放媒体文件发送给投放终端102,通过投放终端102对第二索引文件进行解析,以获取第二媒体文件流路径,即视频流媒体文件路径,然后根据第二媒体文件流路径向本地HTTP服务器发送媒体文件获取请求,并接收本地HTTP服务器响应该媒体文件获取请求返回的目标待投放媒体文件,最后对该目标待投放媒体文件进行解码,并在显示界面上渲染以实现播放。本公开的技术方案一方面能够实现对不支持格式的本地媒体文件的播放;另一方面,能够提高用户体验和对投屏产品的满意度,增加对投屏产品的使用频率和使用时长。
需要说明的是,本公开实施例所提供的媒体文件处理方法一般由控制终端和投放终端执行,相应地,媒体文件处理装置一般设置于控制终端和投放终端中。但是,在本公开的其它实施例中,也可以由服务器执行本公开实施例所提供的媒体文件处理方案。
在本领域,以视频文件为例,传统的mp4、avi等视频格式可以与投屏完美配合,但是由于该些传统视频格式的视频文件是单体视频文件,因此需要下载或缓冲整个的视频文件才能观看,并且还会出现流量消耗大、清晰度切换不畅、容错率低、服务器I/O压力大等问题,而m3u8格式的视频文件恰好可以克服上述问题,首先,m3u8格式的视频文件包含多个视频文件切片,服务器读取的时候是一个切片一个切片的读取,因此服务器I/O压力小;其次,当一个切片出现错误的话可以跳至下一个切片进行播放,这样对播放效果的影响不大,而传统格式的视频文件一旦出现错误则整个视频都不能播放,因此m3u8格式的视频文件容错率高;再次,用户在观看m3u8格式的视频文件时,如果想调整清晰度,调整清晰度的指针会指向当前播放的切片之后的切片,在播放到后面的切片时,清晰度已转换,不会出现卡顿,因此m3u8格式的视频文件的清晰度可以无缝切换;最后,m3u8格式的视频文件在播放的时候可以根据用户当前所处的网络自动调整视频清晰度,例如在移动网络的情况下可以播放标清的视频,当在无线网络的情况下可以播放超高清的视频,因此可以节省流量,鉴于m3u8格式的视频文件存在的上述优点,越来越多的网站开始采用m3u8格式的视频作为直播源或点播源。但是目前的投屏软件无法投放m3u8格式的视频文件,因此用户就会感觉有越来越多的视频无法投屏播放,进而用户体验会下降,严重影响用户对投屏产品的使用。
鉴于本领域中存在的问题,本公开实施例首先提出了一种媒体文件处理方法,以下以对m3u8格式的视频文件进行播放为例对本公开实施例的技术方案的实现细节进行详细阐述:
图2示意性示出了根据本公开的一个实施例的媒体文件处理方法的流程图,该媒体文件处理方法可以由控制终端来执行,该控制终端可以是图1中所示的控制终端101。参照图2所示,该媒体文件处理方法至少包括步骤S210至步骤S240,详细介绍如下:
在步骤S210中,从本地数据库中获取待投放媒体文件,待投放媒体文件包括第一索引文件,第一索引文件对应一索引路径,并包括第一媒体文件流路径。
在本公开的一个实施例中,该待投放媒体文件为m3u8格式的视频文件,m3u8是HLS协议(HTTP Live Streaming,基于HTTP的流媒体网络传输协议)的索引文本文件,是m3u的一种,所采用的编码方式为UTF-8编码方式,用于描述其内容TS流(Transport Stream,视频流媒体文件)的分段信息,真实的视频文件分散在多个TS中。图3示出了m3u8文件的结构示意图,如图3所示,m3u8是由独立行组成的文本文件,以#EXT开头的表示的是tag,其中,“#EXT-X-VERSION:3”表示协议的版本号为3;“#EXT-X-TARGETDURATION:8”表示当前视频流中的单个切片(即TS)文件的最大时长是8秒;“#EXT-X-MEDIA-SEQUENCE:211”表示每一个media URI在播放列表中只有唯一的序号,相邻之间序号+1,共有211个切片文件;“#EXTINF:7.341667”表示TS文件的持续时间为7.341667秒,仅对其后面的URI有效;URI行表示嵌套的m3u8文件,或者真正的切片,例如其中的test1.ts、test2.ts就是真正的切片。
在本公开的一个实施例中,可以将各个浏览器或音视频网站作为媒体文件源,用户通过在各个浏览器或音视频网站搜索所需题材的m3u8格式的视频文件,然后下载该视频文件,并将该视频文件保存于控制终端101本地,视频文件可以保存于控制终端101内的存储空间中,例如电脑的C盘、D盘,控制终端101自建的与浏览器、音视频网站对应的文件夹等等,也可以保存于控制终端101外接的存储介质中,如SD卡、U盘等等,本公开对此不做具体限定。由于媒体文件为m3u8格式的视频文件,相应地,该媒体文件包括索引文件,同时该索引文件包括初始媒体文件流路径,即初始TS流路径。
在本公开的一个实施例中,本地数据库中可以存储一个或多个具有m3u8格式的视频文件,在投屏之前,用户可以从本地数据库中选择一个视频文件作为待投放媒体文件,由于不同的媒体文件源在定义初始媒体文件流路径时采用的标准不同,因此在存储到本地时需要对初始媒体文件流路径进行修改,以形成可被控制终端101识别和处理的第一媒体文件流路径,相应地包含该第一媒体文件流路径的索引文件即为第一索引文件。
在本公开的一个实施例中,第一媒体文件流路径可以是待投放媒体文件存储在本地的绝对路径,图4A-4B示出了初始媒体文件流路径修改前后的结构示意图,如图4A所示为初始媒体文件流路径,具体为“test1.ts”、“test2.ts”,当用户下载该待投放媒体文件时,可以将其保存至控制终端101的SD卡中,具体地,可以选择SD卡中与媒体文件源QQBrowser对应的文件夹video/.abce,另外,SD卡的存储目录还存在上级目录storage/0,因此根据待投放媒体文件在SD卡中的存储路径和上级目录可以确定待投放媒体文件路径为/storage/0/sdcard/QQBrowser/video/.abce/test1.ts或/storage/0/sdcard/QQBrowser/video/.abce/test2.ts,进一步地,根据本地文件传输协议file://和待投放媒体文件路径可以确定待投放媒体文件的绝对路径,即第一媒体文件流路径为file://storage/0/sdcard/QQBrowser/video/.abce/test1.ts,或file://storage/0/sdcard/QQBrowser/video/.abce/test2.ts,如图4B所示。
在步骤S220中,将索引路径转换为网络资源路径,并将网络资源路径发送至目标投放终端。
在本公开的一个实施例中,在将m3u8格式的视频文件下载至控制终端101本地后,该m3u8格式的视频文件对应的索引路径也相应地发生变化,例如可以是形如/storage/0/sdcard/QQBrowser/video/test.m3u8的索引路径,由于该索引路径是待投放媒体文件在本地的存储路径,投放终端102无法识别该路径,进而无法根据该路径获取待投放媒体文件,因此为了将待投放媒体文件在投放终端102进行播放,首先需要将索引路径转换为投放终端102可识别的路径,在本公开的实施例中,可以将索引路径转换为网络资源路径,以使投放终端102根据该网络资源路径获取待投放媒体文件。
在本公开的一个实施例中,为了便于对本地m3u8格式的视频文件进行处理,可以在控制终端101中搭建一本地多媒体服务器,由于m3u8文件是HLS协议的索引文本文件,而HLS协议实质上是基于HTTP的流媒体网络传输协议,因此该本地多媒体服务器可以是本地HTTP服务器。该本地HTTP服务器可以对索引文件中的初始媒体文件流路径进行修改以形成第一媒体文件流路径,也可以对索引文件对应的索引路径进行转换形成网络资源路径,进一步地,还可以将网络资源路径发送至目标投放终端。
在本公开的一个实施例中,本地HTTP服务器可以根据索引路径及预设规则将索引路径转换为网络资源路径,该索引路径可以是本地存储待投放媒体文件的绝对路径,该网络资源路径可以是统一资源定位符URL,该网络资源路径具体可根据协议名HTTP、终端IP地址、本地HTTP服务器端口及索引路径对应的绝对路径形成,例如终端IP地址为192.168.1.102,本地HTTP服务器端口为16662,索引路径为/storage/0/sdcard/QQBrowser/video/test.m3u8,那么根据以上信息可以获取网络资源路径为http://192.168.1.102:16662?ExportContent=%2fstorage%2f0%2fsdcard%2fQQBrowser%2fvid eo%2ftest.m3u8,投放终端102根据该网络资源路径可以获取相应地目标待投放媒体文件并进行播放。
在步骤S230中,接收目标投放终端根据网络资源路径发送的媒体文件网络请求。
在本公开的一个实施例中,投放终端102的数量可以是一个或多个,相应地,目标投放终端也可以是投放终端102中的一个或多个,其可与控制终端101通信连接,用于投放待投放媒体文件。在确定目标投放终端之前,控制终端101和投放终端102均需打开资源共享服务,并接入同一局域网中,以保证控制终端101中的本地媒体文件可以投放到投放终端102中;接着控制终端101可以根据预设传输协议向投放终端102发送协议广播,并接收投放终端102响应该协议广播返回的响应信息,进而控制终端101可以根据响应信息的类型确定投放终端中的哪个可以作为目标投放终端。其中,控制终端101和投放终端102中的资源共享服务可以是相同的,也可以是不同的,当为不同的资源共享服务时,二者的功能应当是相互兼容的,该资源共享服务具体可以是数字生活网络联盟(DLNA,Digital Living NetworkAlliance),其可以将照片、视频、音乐等媒体文件在电脑、手机、电视等设备中共享;该预设传输协议是资源共享服务中预先设定好的传输协议,例如DLNA中设定了发送广播时的传输协议为UDP协议,那么控制终端101就可以根据UDP协议向同一局域网内的所有投放终端102发送协议广播,当然该预设传输协议还可以是其它的协议类型,取决于资源共享服务中对传输协议的设定。进一步地,各投放终端102接收到控制终端101发送的协议广播后,可以对其作出响应,并向控制终端101发送响应信息,该响应信息根据投放终端102状态的不同而不同,控制终端101根据响应信息能够判断哪些投放终端可用于投放媒体文件,哪些投放终端不可用于投放媒体文件,进而能够将可用于投放媒体文件的投放终端作为目标投放终端,并与其建立通信连接。
在本公开的一个实施例中,本地HTTP服务器将网络资源路径发送给目标投放终端后,目标投放终端可以根据该网络资源路径形成媒体文件网络请求,并将该媒体文件网络请求发送至服务器,以获取与该媒体文件网络请求对应的媒体文件。与目标投放终端连接的服务器可以有多个,但是除了本地HTTP服务器,其它的服务器无法根据媒体文件网络请求中的网络资源路径搜索到对应的待投放媒体文件,而本地HTTP服务器接收到该媒体文件网络请求后,可以对其进行解析以获取其中的网络资源路径,并根据该网络资源路径能够确定对应的索引路径,进而根据该索引路径可以确定与该索引路径对应的待投放媒体文件。
在步骤S240中,响应媒体文件网络请求,将第一媒体文件流路径转换为第二媒体文件流路径,以获取第二索引文件,并将具有所述第二索引文件的待投放媒体文件发送至目标投放终端,以使目标投放终端根据第二媒体文件流路径获取目标待投放媒体文件并进行播放。
在本公开的一个实施例中,接收到目标投放终端发送的媒体文件网络请求后,控制终端101中的本地HTTP服务器能够响应该媒体文件网络请求,并根据其中的网络资源路径确定待投放媒体文件。对于目标投放终端而言,m3u8格式的视频文件在播放时,首先会描述一个host报头域,然后将host与m3u8格式的视频文件中所有的视频流媒体文件路径叠加进行访问,如果视频流媒体文件路径是以其它报头域开始的,例如是以file开头的,那么跟host拼接后所形成的路径将不能被目标投放终端识别,目标投放终端就会报错,无法播放待投放媒体文件,因此在将待投放媒体文件发送给目标投放终端之前,应当对第一索引文件中的第一媒体文件流路径进行转换,具体地,可以通过本地HTTP服务器对第一媒体文件流路径进行转换,以形成第二媒体文件流路径,该第二媒体文件流路径既可以被目标投放终端识别,又可以使本地HTTP服务器根据其在控制终端101本地找到对应的媒体文件。路径转换时,可以将第一媒体文件流路径中的本地文件传输协议去除,只保留以预设标记标识开头的待投放媒体文件路径,该预设标记可以是“/”,例如第一媒体文件流路径为file://storage/0/sdcard/QQBrowser/video/.abce/test1.ts,经本地HTTP服务器转换后,所形成的第二媒体文件流路径为/storage/0/sdcard/QQBrowser/video/.abce/test1.ts,目标投放终端接收到具有该第二媒体文件流路径的待投放媒体文件后,可以根据第二媒体文件流路径向本地HTTP服务器发送媒体文件获取请求,以获得本地HTTP服务器返回的与该第二媒体文件流路径对应的目标待投放媒体文件,并对其进行投放。
上述实施例记载了以控制终端101为执行主体的媒体文件处理方法,本公开的媒体文件处理方法还可以以投放终端102为执行主体,图5示意性示出了根据本公开的一个实施例的媒体文件处理方法的流程图,参照图5所示,该媒体文件处理方法至少包括步骤S510至步骤S520,详细介绍如下:
在步骤S510中,接收控制终端发送的网络资源路径,并根据网络资源路径向控制终端发送媒体文件网络请求,网络资源路径是控制终端对从本地数据库中获取的媒体文件所包含的第一索引文件对应的索引路径转换而成的。
在本公开的一个实施例中,用户在控制终端101的本地数据库中选定待投放媒体文件后,控制终端101中搭建的本地HTTP服务器可以对待投放媒体文件的第一索引文件所对应的索引路径进行转换,以形成投放终端102可识别的网络资源路径,然后本地HTTP服务器将该网络资源路径发送给目标投放终端。值得说明的是,控制终端101的本地数据库中所存储的媒体文件为m3u8格式的视频文件,其包含第一索引文件,并且第一索引文件包含第一媒体文件流路径,该第一媒体文件流路径可以是m3u8格式的视频文件所包含的视频流媒体文件在本地的绝对路径。
在本公开的一个实施例中,投放终端102的数量可以是一个或多个,例如在一个房间中,存在台式电脑、电视机、投影设备等多个可用于媒体文件投放的设备,但是其中可能存在部分投放终端不能用于媒体文件投放,因此为了确定目标投放终端,可以通过控制终端101向位于同一局域网内、且打开资源共享服务的投放终端102发送协议广播,各个投放终端102接收到协议广播后可以向控制终端101返回响应信息,该响应信息根据投放终端102的状态不同而不同,控制终端101可以根据响应信息的不同确定哪些投放终端可以用于媒体文件投放,哪些不可以用于媒体文件投放,进而将可用于媒体文件投放的投放终端确定为目标投放终端。
在本公开的一个实施例中,目标投放终端接收到该网络资源路径后,可以根据网络资源路径形成媒体文件网络请求,并将该媒体文件网络请求发送给服务器。该服务器的数量可以为一个或多个,也就是说,除了控制终端101中搭建的本地HTTP服务器之外,还可以有其它的服务器,用于提供多媒体数据服务,虽然所有的服务器均可以接收目标投放终端发送的媒体文件网络请求,但是除本地HTTP服务器之外的其它服务器均无法获得与该网络资源路径对应的媒体文件,因此只有本地HTTP服务器能够识别其中的网络资源路径,并根据该网络资源路径获取对应的媒体文件。
在步骤S520中,接收控制终端响应所述媒体文件网络请求返回的具有第二索引文件的待投放媒体文件,根据第二索引文件中的媒体文件流路径获取目标待投放媒体文件并进行播放,其中第二索引文件中的媒体文件流路径是根据第一索引文件中的媒体文件流路径转换而成的。
在本公开的一个实施例中,当目标投放终端根据网络资源路径形成媒体文件网络请求后,可以将其发送给服务器,由于控制终端101中搭建有本地HTTP服务器,因此控制终端101也能够接收到该媒体文件网络请求,并通过本地HTTP服务器对媒体文件网络请求进行解析,以获取其中的网络资源路径,进一步地,本地HTTP服务器可以根据该网络资源路径获取对应的具有第二索引文件的待投放媒体文件,并将该具有第二索引文件的待投放媒体文件发送给目标投放终端,以使目标投放终端根据第二索引文件中的媒体文件流路径获取目标待投放媒体文件,并播放该目标待投放媒体文件。
在本公开的一个实施例中,本地HTTP服务器根据网络资源路径获取到的待投放媒体文件中的媒体文件流路径为本地路径,目标投放终端无法识别该路径,进而无法获取相应的媒体文件,因此为了便于目标投放终端识别所接收到的待投放媒体文件的媒体文件流路径,需要对待投放媒体文件中的视频流媒体文件路径进行转换,具体可以通过本地HTTP服务器对待投放媒体文件包含的第一索引文件中的媒体文件流路径进行转换,形成目标投放终端可识别的媒体文件流路径,并且本地HTTP服务器根据转换后的媒体文件流路径也能够获取对应的媒体文件,保证待投放媒体文件的正常投放。
在本公开的一个实施例中,目标投放终端根据网络资源路径形成媒体文件网络请求,并将该媒体文件网络请求发送给本地HTTP服务器,本地HTTP服务器接收并响应该媒体文件网络请求,根据媒体文件网络请求中的网络资源获取具有第一索引文件的待投放媒体文件,通过对第一索引文件中的媒体文件流路径进行转换形成具有转换后的媒体文件流路径的第二索引文件,并将具有第二索引文件的待投放媒体文件返回至目标投放终端。
图6示出了投放媒体文件的流程示意图,如图6所示,投放媒体文件的流程至少包括步骤S601-S604,具体地:
在步骤S601中,接收本地HTTP服务器发送的具有第二索引文件的待投放媒体文件。
在本公开的一个实施例中,第二索引文件包括的媒体文件流路径即为本地HTTP服务器对从本地数据库中获取的待投放媒体文件所包含的第一索引文件的媒体文件流路径进行转换所形成的媒体文件流路径,具体地,第一索引文件的媒体文件流路径包括本地文件传输协议file://和待投放媒体文件路径,通过去除其中的本地文件传输协议file://,保留以预设标记标识的待投放媒体文件路径,即可获取第二索引文件的媒体文件流路径,该预设标记具体可以是“/”,以便于目标投放终端根据该第二索引文件的媒体文件流路径进行路径拼接,并根据拼接的路径获取相应地待投放媒体文件。
在步骤S602中,解析第二索引文件,以获取第二索引文件中的媒体文件流路径。
在本公开的一个实施例中,第二索引文件也是m3u8格式的文本文件,通过对其进行解析,可以获取其中的TS流路径,如/storage/0/sdcard/QQBrowser/video/.abce/test1.ts等等。
在步骤S603中,根据第二索引文件中的媒体文件流路径向本地HTTP服务器发送媒体文件获取请求。
在本公开的一个实施例中,获取TS流路径后,目标投放终端可以根据该TS流路径形成媒体文件获取请求,并将该媒体文件获取请求发送至本地HTTP服务器,以获取与该TS流路径对应的媒体文件。
在步骤S604中,接收本地HTTP服务器响应媒体文件获取请求发送的目标待投放媒体文件,对该目标待投放媒体文件进行解码,并播放解码后的目标待投放媒体文件。
在本公开的一个实施例中,本地HTTP服务器根据媒体文件获取请求中的TS流路径可以获取对应的视频流媒体文件,即目标待投放媒体文件,该目标待投放媒体文件包括视频和音频,其中视频编码的主要格式为h-264或mpeg4,音频编码的主要格式为acc或MP3,在对目标待投放媒体文件进行解码时,可以采用与编码类型对应的逆运算进行解码,以获取视频、音频数据,最后通过在显示屏幕根据视频、音频数据进行渲染,以播放目标待投放媒体文件。
接下来,以投放一m3u8格式的视频文件为例对本公开实施例的媒体文件处理方法进行说明,图7示出了投放m3u8格式的视频文件的流程示意图,如图7所示,在步骤S701中,启动控制终端101和投放终端102中的资源共享服务,并使控制终端101和投放终端102接入同一局域网;该资源共享服务可以是DLNA,用户基于该资源共享服务能够将控制终端101中的图片、视频、音乐等资源投放至投放终端102;在步骤S702中,下载m3u8格式的视频文件,并将该视频文件存储于控制终端101本地;在步骤S703中,控制终端101通过发送协议广播确定目标投放终端;具体地,控制终端101根据预设传输协议向投放终端101发送协议广播;投放终端101接收到协议广播后根据自身的状态反馈响应信息,以使控制终端101根据响应信息确定目标投放终端;在步骤S704中,选取一个本地存储的m3u8格式的待投放视频文件,并启动本地HTTP服务器;该本地HTTP服务器是搭建在控制终端101本地的多媒体服务器,用于对路径进行转换以及根据路径获取对应的视频文件;在步骤S705中,通过本地HTTP服务器转换m3u8格式的待投放视频文件,并提供HTTP文件服务,同时目标投放终端请求URL并播放待投放视频文件,具体地,首先,本地HTTP服务器可以对待投放视频文件中第一索引文件的索引路径进行转换形成网络资源路径,并将网络资源路径发送至目标投放终端;目标投放终端接收到网络资源路径后,可以根据网络资源路径形成视频网络请求,并将该视频网络请求发送至本地HTTP服务器;接着,本地HTTP服务器将第一索引文件中的第一视频流路径转换为第二视频流路径,以形成第二索引文件,并将具有第二索引文件的待投放视频文件发送至目标投放终端;目标投放终端接收到第二索引文件后,对第二索引文件进行解析以获取第二视频流路径,同时根据第二视频流路径形成视频文件获取请求,并将其发送至本地HTTP服务器;最后,本地HTTP服务器响应视频文件获取请求,根据第二视频流路径获取目标待投放视频文件,并将其发送至目标投放终端;目标投放终端接收到目标待投放视频文件后,可以对目标待投放视频文件进行解码、渲染,以对目标待投放视频文件进行播放。值得说明的是,本公开实施例中的步骤S702可以在步骤S701之前执行。
本公开实施例中的媒体文件处理方法通过对本地媒体文件包含的索引文件中的索引路径及媒体文件流路径进行转换,形成投放终端能够识别的路径,使得投放终端能够投放不支持格式的本地媒体文件,另外,由于m3u8格式的视频文件是将整个视频分成多个视频流切片存储播放的,例如一个200兆的视频文件可以被切分为至少2000个视频流切片,在播放的过程中,用户可以精准定位播放进度,例如用户想要前进3s,那么可以拖动进度条精确的前进3s,而不会像普通格式的视频文件,拖动一下进度条可能会前进5s、10s等,进而错过了关键帧,因此本公开实施例中的媒体文件处理方法进一步提高了用户体验和对投屏产品的满意度,并且可以增加用户对投屏产品的使用频率和使用时长。
在本公开的一个实施例中,还可以通过改变本地视频流媒体文件的数据格式实现对不支持格式的媒体文件的投放,例如可以将m3u8格式的视频文件中的TS流文件修改为MP4文件,这样就可以采用任意的投屏软件进行投放了。下面对转换视频流媒体文件的格式的流程进行大致介绍,首先将预设视频格式转换程序移植到预设的操作平台上,例如可以是Android平台,然后对其进行编译并上传至相应的数据库中,并对该数据库进行命令行封装,这样就可以通过命令的方式执行函数并对视频文件进行格式转换。对数据库进行封装后,可以将其打包,并以插件的形式将数据包放置于服务器上,当需要使用相应功能时,可以先下载该插件,然后调用所需功能。接着,解析所有m3u8格式的视频文件,并根据解析结果获取所有的TS流文件,通过封装好的预设视频格式转换程序对所有的TS流文件进行合并并建立索引,同时根据TS流文件的头部形成MP4文件,即可将m3u8格式的视频文件转换为MP4格式的视频文件,并进行投放。但是该方案由于在投放前需要进行格式转换,存在时间成本,并且存储时需要双倍空间进行存储,对终端的存储空间有较高要求,因此用户体验一般。
以下介绍本公开的装置实施例,可以用于执行本公开上述实施例中的媒体文件处理方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的媒体文件处理方法的实施例。
图8示意性示出了根据本公开的一个实施例的媒体文件处理装置的框图。
参照图8所示,根据本公开的一个实施例的媒体文件处理装置800,包括:媒体文件获取模块801、路径发送模块802、请求接收模块803和媒体文件发送模块804。
具体地,媒体文件获取模块801,用于从本地数据库中获取待投放媒体文件,待投放媒体文件包括第一索引文件,且第一索引文件对应一索引路径,并包括第一媒体文件流路径;路径发送模块802,用于将索引路径转换为网络资源路径,并将网络资源路径发送至目标投放终端;请求接收模块803,用于接收目标投放终端根据网络资源路径发送的媒体文件网络请求;媒体文件发送模块804,用于响应媒体文件网络请求,将第一媒体文件流路径转换为第二媒体文件流路径,以获取第二索引文件,并将具有第二索引文件的待投放媒体文件发送至目标投放终端,以使所述目标投放终端根据所述第二媒体文件流路径获取目标待投放媒体文件并进行播放。
在本公开的一个实施例中,媒体文件获取模块801配置为:通过本地HTTP服务器将索引路径转换为网络资源路径,并将网络资源路径发送至目标投放终端。
在本公开的一个实施例中,索引路径为本地存储第一索引文件的绝对路径,网络资源路径为包含HTTP协议、终端IP地址、本地HTTP服务器端口和绝对路径的统一资源定位符。
在本公开的一个实施例中,第一媒体文件流路径包括本地文件传输协议和待投放媒体文件路径;媒体文件发送模块804配置为:去除第一媒体文件流路径中的本地文件传输协议,保留以预设标记标识的待投放媒体文件路径,以形成第二媒体文件流路径。
在本公开的一个实施例中,媒体文件处理装置800还包括:下载模块,用于从媒体文件源中获取预设格式的媒体文件,并将媒体文件保存于本地,其中媒体文件包括索引文件,索引文件包括初始媒体文件流路径;路径修改模块,用于将初始媒体文件流路径修改为第一媒体文件流路径,以获取第一索引文件,并将具有第一索引文件的媒体文件作为待投放媒体文件。
在本公开的一个实施例中,媒体文件处理装置800还包括:连接模块,用于启动资源共享服务,并接入一个或多个投放终端所连接的局域网;广播模块,用于根据预设传输协议向投放终端发送协议广播,并接收投放终端响应协议广播返回的响应信息;选择模块,用于根据响应信息从投放终端中确定目标投放终端。
图9示意性示出了根据本公开的一个实施例的媒体文件处理装置的框图。
参照图9所示,根据本公开的一个实施例的媒体文件处理装置900,包括:请求发送模块901和媒体文件接收模块902。
具体地,请求发送模块901,用于接收控制终端发送的网络资源路径,并根据网络资源路径向控制终端发送媒体文件网络请求,网络资源路径是控制终端对从本地数据库中获取的待投放媒体文件所包含的第一索引文件对应的索引路径转换而成的;媒体文件接收模块902,用于接收控制终端响应媒体文件网络请求返回的具有第二索引文件的待投放媒体文件,根据第二索引文件中的媒体文件流路径获取目标待投放媒体文件并进行播放,其中第二索引文件中的媒体文件流路径是根据第一索引文件中的媒体文件流路径转换而成的。
在本公开的一个实施例中,媒体文件处理装置900还配置为:启动资源共享服务,并接入控制终端所连接的局域网。
在本公开的一个实施例中,媒体文件处理装置900还配置为:接收控制终端根据预设传输协议发送的协议广播,并根据协议广播向控制终端返回响应信息,以使控制终端根据响应信息判断是否发送网络资源路径。
在本公开的一个实施例中,控制终端中设置有本地HTTP服务器,网络资源路径是通过本地HTTP服务器对索引路径转换而成的;请求发送模块901配置为:接收本地HTTP服务器发送的网络资源路径,并根据网络资源路径向本地HTTP服务器发送媒体文件网络请求。
在本公开的一个实施例中,媒体文件接收模块902配置为:接收本地HTTP服务器发送的具有第二索引文件的待投放媒体文件;解析第二索引文件,以获取第二索引文件中的媒体文件流路径;根据第二索引文件中的媒体文件流路径向本地HTTP服务器发送媒体文件获取请求;接收本地HTTP服务器响应媒体文件获取请求发送的目标待投放媒体文件,对目标待投放媒体文件进行解码,并播放解码后的目标待投放媒体文件。
在本公开的一个实施例中,第二索引文件中的媒体文件流路径为本地HTTP服务器从第一索引文件的媒体文件流路径中提取的以预设标记标识的待投放媒体文件文件路径。
图10示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(Central Processing Unit,CPU)1001,其可以根据存储在只读存储器(Read-Only Memory,ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(Random Access Memory,RAM)1003中的程序而执行各种适当的动作和处理,实现上述实施例中所述的媒体文件处理方法。在RAM 1003中,还存储有系统操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(Input/Output,I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本公开的系统中限定的各种功能。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (15)
1.一种媒体文件处理方法,其特征在于,包括:
从本地数据库中获取待投放媒体文件,所述待投放媒体文件包括第一索引文件,所述第一索引文件对应一索引路径,并包括第一媒体文件流路径;
将所述索引路径转换为网络资源路径,并将所述网络资源路径发送至目标投放终端;
接收所述目标投放终端根据所述网络资源路径发送的媒体文件网络请求;
响应所述媒体文件网络请求,将所述第一媒体文件流路径转换为第二媒体文件流路径,以获取第二索引文件,并将具有所述第二索引文件的待投放媒体文件发送至所述目标投放终端,以使所述目标投放终端根据所述第二媒体文件流路径获取目标待投放媒体文件并进行播放。
2.根据权利要求1所述的媒体文件处理方法,其特征在于,所述将所述索引路径转换为网络资源路径,并将所述网络资源路径发送至目标投放终端,包括:
通过本地HTTP服务器将所述索引路径转换为所述网络资源路径,并将所述网络资源路径发送至所述目标投放终端。
3.根据权利要求1或2所述的媒体文件处理方法,其特征在于,所述索引路径为本地存储所述第一索引文件的绝对路径,所述网络资源路径为包含HTTP协议、终端IP地址、本地HTTP服务器端口和所述绝对路径的统一资源定位符。
4.根据权利要求1所述的媒体文件处理方法,其特征在于,所述第一媒体文件流路径包括本地文件传输协议和待投放媒体文件路径;
所述将所述第一媒体文件流路径转换为第二媒体文件流路径,包括:
去除所述第一媒体文件流路径中的本地文件传输协议,保留以预设标记标识的所述待投放媒体文件路径,以形成所述第二媒体文件流路径。
5.根据权利要求1所述的媒体文件处理方法,在从本地数据库中获取待投放媒体文件之前,所述方法还包括:
从媒体文件源中获取预设格式的媒体文件,并将所述媒体文件保存于本地,其中所述媒体文件包括索引文件,所述索引文件包括初始媒体文件流路径;
将所述初始媒体文件流路径修改为所述第一媒体文件流路径,以获取所述第一索引文件,并将具有所述第一索引文件的媒体文件作为所述待投放媒体文件。
6.根据权利要求1所述的媒体文件处理方法,在将所述索引路径转换为网络资源路径之前,所述方法还包括:
启动资源共享服务,并接入一个或多个投放终端所连接的局域网;
根据预设传输协议向所述投放终端发送协议广播,并接收所述投放终端响应所述协议广播返回的响应信息;
根据所述响应信息从所述投放终端中确定所述目标投放终端。
7.一种媒体文件处理方法,其特征在于,包括:
接收控制终端发送的网络资源路径,并根据所述网络资源路径向所述控制终端发送媒体文件网络请求,所述网络资源路径是所述控制终端对从本地数据库中获取的待投放媒体文件所包含的第一索引文件对应的索引路径转换而成的;
接收所述控制终端响应所述媒体文件网络请求返回的具有第二索引文件的待投放媒体文件,根据所述第二索引文件中的媒体文件流路径获取目标待投放媒体文件并进行播放,其中所述第二索引文件中的媒体文件流路径是根据所述第一索引文件中的媒体文件流路径转换而成的。
8.根据权利要求7所述的媒体文件处理方法,其特征在于,在所述接收控制终端发送的网络资源路径之前,所述方法还包括:
启动资源共享服务,并接入所述控制终端所连接的局域网。
9.根据权利要求7所述的媒体文件处理方法,其特征在于,在所述接收控制终端发送的网络资源路径之前,所述方法还包括:
接收所述控制终端根据预设传输协议发送的协议广播,并根据所述协议广播向所述控制终端返回响应信息,以使所述控制终端根据所述响应信息判断是否发送所述网络资源路径。
10.根据权利要求7所述的媒体文件处理方法,其特征在于,所述控制终端中设置有本地HTTP服务器,所述网络资源路径是通过所述本地HTTP服务器对所述索引路径转换而成的;
所述接收所述控制终端发送的网络资源路径,并根据所述网络资源路径向所述控制终端发送媒体文件网络请求,包括:
接收所述本地HTTP服务器发送的所述网络资源路径,并根据所述网络资源路径向所述本地HTTP服务器发送媒体文件网络请求。
11.根据权利要求10所述的媒体文件处理方法,其特征在于,所述接收所述控制终端响应所述媒体文件网络请求返回的具有第二索引文件的待投放媒体文件,并根据所述第二索引文件中的媒体文件流路径获取目标待投放媒体文件并进行播放,包括:
接收所述本地HTTP服务器发送的所述具有第二索引文件的待投放媒体文件;
解析所述第二索引文件,以获取所述第二索引文件中的媒体文件流路径;
根据所述第二索引文件中的媒体文件流路径向所述本地HTTP服务器发送媒体文件获取请求;
接收所述本地HTTP服务器响应所述媒体文件获取请求发送的目标待投放媒体文件,对所述目标待投放媒体文件进行解码,并播放解码后的所述目标待投放媒体文件。
12.根据权利要求11所述的媒体文件处理方法,其特征在于,所述第二索引文件中的媒体文件流路径为所述本地HTTP服务器从所述第一索引文件的媒体文件流路径中提取的以预设标记标识的待投放媒体文件路径。
13.一种媒体文件处理装置,其特征在于,包括:
媒体文件获取模块,用于从本地数据库中获取待投放媒体文件,所述待投放媒体文件包括第一索引文件,所述第一索引文件对应一索引路径,并包括第一媒体文件流路径;
路径发送模块,用于将所述索引路径转换为网络资源路径,并将所述网络资源路径发送至目标投放终端;
请求接收模块,用于接收所述目标投放终端根据所述网络资源路径发送的媒体文件网络请求;
媒体文件发送模块,用于响应所述媒体文件网络请求,将所述第一媒体文件流路径转换为第二媒体文件流路径,以获取第二索引文件,并将具有所述第二索引文件的待投放媒体文件发送至所述目标投放终端,以使所述目标投放终端根据所述第二媒体文件流路径获取目标待投放媒体文件并进行播放。
14.一种媒体文件处理装置,其特征在于,包括:
请求发送模块,用于接收控制终端发送的网络资源路径,并根据所述网络资源路径向所述控制终端发送媒体文件网络请求,所述网络资源路径是所述控制终端对从本地数据库中获取的媒体文件所包含的第一索引文件对应的索引路径转换而成的;
媒体文件接收模块,用于接收所述控制终端响应所述媒体文件网络请求返回的具有第二索引文件的待投放媒体文件,根据所述第二索引文件中的媒体文件流路径获取目标待投放媒体文件并进行播放,其中所述第二索引文件中的媒体文件流路径是根据所述第一索引文件中的媒体文件流路径转换而成的。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至12中任一项所述的媒体文件处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910651561.0A CN112243158B (zh) | 2019-07-18 | 2019-07-18 | 媒体文件处理方法、装置、计算机可读介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910651561.0A CN112243158B (zh) | 2019-07-18 | 2019-07-18 | 媒体文件处理方法、装置、计算机可读介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112243158A true CN112243158A (zh) | 2021-01-19 |
CN112243158B CN112243158B (zh) | 2023-07-14 |
Family
ID=74168384
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910651561.0A Active CN112243158B (zh) | 2019-07-18 | 2019-07-18 | 媒体文件处理方法、装置、计算机可读介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112243158B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112788384A (zh) * | 2021-02-07 | 2021-05-11 | 深圳市大鑫浪电子科技有限公司 | 无线数字电视投屏方法、装置、计算机设备及存储介质 |
CN113485972A (zh) * | 2021-08-02 | 2021-10-08 | 安徽文香科技有限公司 | 一种多媒体共享方法、装置、移动终端及存储介质 |
CN112243158B (zh) * | 2019-07-18 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 媒体文件处理方法、装置、计算机可读介质及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102118428A (zh) * | 2010-12-29 | 2011-07-06 | 天脉聚源(北京)传媒科技有限公司 | 一种播放流媒体的方法和系统 |
CN102474517A (zh) * | 2009-07-30 | 2012-05-23 | 阿尔卡特朗讯公司 | 转换移动装置媒体内容的方法 |
CN103051976A (zh) * | 2013-01-22 | 2013-04-17 | 中兴通讯股份有限公司 | 一种cdn分发hls内容方法、系统及设备 |
CN103826159A (zh) * | 2013-12-04 | 2014-05-28 | Tcl集团股份有限公司 | 一种m3u8格式视频的本地离线播放方法和终端 |
CN103873956A (zh) * | 2012-12-12 | 2014-06-18 | 中国电信股份有限公司 | 媒体文件播放方法、系统、播放器、终端及媒体存储平台 |
CN104243430A (zh) * | 2013-06-20 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 一种流媒体播放方法及装置 |
CN104519397A (zh) * | 2013-09-29 | 2015-04-15 | 北大方正集团有限公司 | 音视频投屏播放方法、机顶盒和终端设备 |
CN106686443A (zh) * | 2015-11-10 | 2017-05-17 | 中兴通讯股份有限公司 | 一种媒体播放方法、终端及系统 |
CN107135417A (zh) * | 2017-06-08 | 2017-09-05 | 深圳市耐飞科技有限公司 | 一种hls协议的投屏方法及系统 |
CN109995743A (zh) * | 2018-01-02 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 一种多媒体文件的处理方法和终端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112243158B (zh) * | 2019-07-18 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 媒体文件处理方法、装置、计算机可读介质及电子设备 |
-
2019
- 2019-07-18 CN CN201910651561.0A patent/CN112243158B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102474517A (zh) * | 2009-07-30 | 2012-05-23 | 阿尔卡特朗讯公司 | 转换移动装置媒体内容的方法 |
CN102118428A (zh) * | 2010-12-29 | 2011-07-06 | 天脉聚源(北京)传媒科技有限公司 | 一种播放流媒体的方法和系统 |
CN103873956A (zh) * | 2012-12-12 | 2014-06-18 | 中国电信股份有限公司 | 媒体文件播放方法、系统、播放器、终端及媒体存储平台 |
CN103051976A (zh) * | 2013-01-22 | 2013-04-17 | 中兴通讯股份有限公司 | 一种cdn分发hls内容方法、系统及设备 |
CN104243430A (zh) * | 2013-06-20 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 一种流媒体播放方法及装置 |
CN104519397A (zh) * | 2013-09-29 | 2015-04-15 | 北大方正集团有限公司 | 音视频投屏播放方法、机顶盒和终端设备 |
CN103826159A (zh) * | 2013-12-04 | 2014-05-28 | Tcl集团股份有限公司 | 一种m3u8格式视频的本地离线播放方法和终端 |
CN106686443A (zh) * | 2015-11-10 | 2017-05-17 | 中兴通讯股份有限公司 | 一种媒体播放方法、终端及系统 |
CN107135417A (zh) * | 2017-06-08 | 2017-09-05 | 深圳市耐飞科技有限公司 | 一种hls协议的投屏方法及系统 |
CN109995743A (zh) * | 2018-01-02 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 一种多媒体文件的处理方法和终端 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112243158B (zh) * | 2019-07-18 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 媒体文件处理方法、装置、计算机可读介质及电子设备 |
CN112788384A (zh) * | 2021-02-07 | 2021-05-11 | 深圳市大鑫浪电子科技有限公司 | 无线数字电视投屏方法、装置、计算机设备及存储介质 |
CN113485972A (zh) * | 2021-08-02 | 2021-10-08 | 安徽文香科技有限公司 | 一种多媒体共享方法、装置、移动终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112243158B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10911789B2 (en) | Automatic failover for live video streaming | |
US9344517B2 (en) | Downloading and adaptive streaming of multimedia content to a device with cache assist | |
US20160080470A1 (en) | Server-side playlist stitching | |
US10114689B1 (en) | Dynamic playlist generation | |
US10904642B2 (en) | Methods and apparatus for updating media presentation data | |
US20150256600A1 (en) | Systems and methods for media format substitution | |
CN108063769B (zh) | 一种内容服务的实现方法、装置及内容分发网络节点 | |
CN112243158B (zh) | 媒体文件处理方法、装置、计算机可读介质及电子设备 | |
Müller et al. | A test-bed for the dynamic adaptive streaming over HTTP featuring session mobility | |
CN107534793B (zh) | 接收装置、传输装置以及数据处理方法 | |
CN109587514B (zh) | 一种视频播放方法、介质和相关装置 | |
CN108933764B (zh) | 一种实现快速起播的方法和装置 | |
WO2014008637A1 (en) | Method and apparatus for interacting with a media presentation description that describes a summary media presentation and an original media presentation | |
US20220060532A1 (en) | Method for transmitting resources and electronic device | |
EP4111700A1 (en) | Identification of elements in a group for dynamic element replacement | |
US10878076B2 (en) | Receiving apparatus, transmitting apparatus, and data processing method | |
US20210274241A1 (en) | Client based storage of remote element resolutions | |
US20150229986A1 (en) | Rendering time control | |
CA2981693C (en) | Reception apparatus, transmission apparatus, and data processing method | |
WO2015180446A1 (zh) | 一种多设备联动服务中的连接通道维护系统及方法 | |
CN112449250B (zh) | 一种视频资源的下载方法、装置、设备和介质 | |
CN106331763B (zh) | 无缝播放分片媒体文件的方法及实现该方法的装置 | |
KR20180058219A (ko) | 송신 장치, 수신 장치, 및 데이터 처리 방법 | |
CN109587517B (zh) | 一种多媒体文件的播放方法及装置、服务器及存储介质 | |
CN107534792B (zh) | 接收设备、发送设备以及数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40038175 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |