CN112468874A - 一种视频播放方法、终端设备及系统 - Google Patents
一种视频播放方法、终端设备及系统 Download PDFInfo
- Publication number
- CN112468874A CN112468874A CN202011351782.5A CN202011351782A CN112468874A CN 112468874 A CN112468874 A CN 112468874A CN 202011351782 A CN202011351782 A CN 202011351782A CN 112468874 A CN112468874 A CN 112468874A
- Authority
- CN
- China
- Prior art keywords
- video
- server
- playing
- file
- decoding
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000005540 biological transmission Effects 0.000 claims abstract description 62
- 238000004590 computer program Methods 0.000 claims description 14
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000000694 effects Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64322—IP
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例提供一种视频播放方法、终端设备及系统,涉及数据处理技术领域,该视频播放方法包括:向服务器发送目标视频的获取请求;通过P2P网络接收由服务器根据获取请求发送的目标视频的视频流;通过自定义网络协议栈对视频流进行解码处理,得到解码文件;控制终端设备上的视频播放软件从自定义网络栈中读取解码文件,并根据解码文件完成对目标视频的播放操作。实施这种实施方式,能够降低服务器负载,还能够节省服务器出口带宽,视频文件传输效率高,满足大规模的视频播放场景,适用性好。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种视频播放方法、终端设备及系统。
背景技术
桌面云是指通过计算虚拟化技术,将计算机进行虚拟化(桌面),并通过云的方式提供服务。通过桌面云技术登录到云服务器,能够将桌面云服务器屏幕显示的内容传输到本地客户端进行显示。现有技术中,通常是通过桌面云服务器对视频文件进行分离、解码后,将已解码的视频数据传送给本地客户端进行显示。然而,在实践中发现,通过桌面云服务器对视频文件进行解码,会消耗桌面云服务器大量内存资源,同时,当客户端视频播放请求量大时,桌面云服务器的带宽将无法满足播放需求,导致视频传输速度受限,影响用户体验。现有的视频播放方法,服务器端解码会消耗大量内存资源,同时,现有视频文件传输方法无法满足大规模视频播放场景,适用性差。
发明内容
本申请实施例的目的在于提供一种视频播放方法、终端设备及系统,不仅能够降低服务器负载,还能够节省服务器出口带宽,视频文件传输效率高,满足大规模的视频播放场景,适用性好。
本申请实施例第一方面提供了一种视频播放方法,包括:
向服务器发送目标视频的获取请求;
通过P2P网络接收由所述服务器根据所述获取请求发送的所述目标视频的视频流;
通过自定义网络协议栈对所述视频流进行解码处理,得到解码文件;
控制所述终端设备上的视频播放软件从所述自定义网络栈中读取所述解码文件,并根据所述解码文件完成对所述目标视频的播放操作。
在上述实现过程中,该方法能够优先向服务器发送视频获取请求,并通过P2P的方式获取想要的视频流,并通过自定义网络协议栈对视频流进行解码与播放,从而实现一种高效便捷的视频播放效果。同时,实施这种实施方式,还能够降低服务器负载,节省服务器出口带宽,提高视频文件传输效率,从而满足大规模的视频播放场景,提高视频播放的整体适用性。
进一步地,所述通过P2P网络接收由所述服务器根据所述获取请求发送的所述目标视频的视频流,包括:
当所述终端设备的物理网卡通过P2P网络接收到所述目标视频的视频流时,通过所述自定义网络协议栈包括的内存管理模块将所述视频流存储至预设的共享内存中;其中,所述目标视频的视频流是由所述服务器根据所述获取请求发送的。
在上述实现过程中,该方法可以通过P2P网络接收视频流,并通过自定义网络协议栈包括的内存管理模块将该视频流粗糙拿出至预设的共享内存中,从而完成对目标视频的视频流的接收过程。
进一步地,所述通过自定义网络协议栈对所述视频流进行解码处理,得到解码文件,包括:
通过所述自定义网络协议栈包括的视频源生成模块对所述视频流进行解码处理,得到解码文件。
在上述实现过程中,该方法可以通过自定义网络协议栈包括的视频源生成模块对视频流进行解码,得到解码文件,从而有利于解码的统一化,提高整体的解码效率,也有利于后续的视频播放步骤的执行。
进一步地,所述控制所述终端设备上的视频播放软件从所述自定义网络栈中读取所述解码文件,并根据所述解码文件完成对所述目标视频的播放操作,包括:
控制所述终端设备上的视频播放软件使用所述自定义网络栈提供的虚拟文件系统读取所述解码文件;
控制所述视频播放软件根据所述解码文件完成对所述目标视频的播放操作。
在上述实现过程中,该方法可以根据自定义网络栈提供的虚拟文件系统读取解码文件,然后再进行目标视频的播放操作,从而能够实现便捷地视频播放,进而提高整体视频播放的效率。
进一步地,所述方法还包括:
判断是否接收到所述服务器发送的针对所述视频流的视频传输请求;
如果是,获取所述视频传输请求中的传输目的终端;
通过所述自定义网络协议栈包括的视频分发模块和所述P2P网络将所述视频流发送至所述传输目的终端。
在上述实现过程中,该方法还可以判断是否接收到服务器发送的视频传输请求,并在接收到该请求时,转发视频流至目的终端,从而实现P2P网络的级联,从而提高整体视频网络中视频传输的效率,并保证视频传输的整体效果。
本申请实施例第二方面提供了一种终端设备,所述终端设备包括:
发送单元,用于向服务器发送目标视频的获取请求;
接收单元,用于通过P2P网络接收由所述服务器根据所述获取请求发送的所述目标视频的视频流;
解码单元,用于通过自定义网络协议栈对所述视频流进行解码处理,得到解码文件;
播放单元,用于控制所述终端设备上的视频播放软件从所述自定义网络栈中读取所述解码文件,并根据所述解码文件完成对所述目标视频的播放操作。
在上述实现过程中,该终端设备能够通过多个单元之间的协同工作完成对目标视频的播放过程,从而实现一种高效便捷的视频播放效果。同时,实施这种实施方式,还能够降低服务器负载,节省服务器出口带宽,提高视频文件传输效率,从而满足大规模的视频播放场景,提高视频播放的整体适用性。
本申请实施例第三方面提供了一种视频播放系统,所述视频播放系统包括终端设备和服务器,其中,
所述终端设备,用于向服务器发送目标视频的获取请求;
所述服务器,用于接收所述获取请求,并根据所述获取请求通过P2P网络发送所述目标视频的视频流至所述终端设备;
所述终端设备,还用于通过P2P网络接收所述视频流;以及通过自定义网络协议栈对所述视频流进行解码处理,得到解码文件;以及控制所述终端设备上的视频播放软件从所述自定义网络栈中读取所述解码文件,并根据所述解码文件完成对所述目标视频的播放操作。
在上述实现过程中,该视频播放系统可以通过终端设备和服务器之间的交互完成目标视频的获取与播放,从而高效便捷地播放目标视频,进而能够降低服务器负载,节省服务器出口带宽,提高视频文件传输效率,并且还能够满足大规模的视频播放场景,提高视频播放的整体适用性。
进一步地,所述视频播放系统还包括传输目的终端,其中,
所述传输目的终端,用于向服务器发送针对所述视频流的视频获取请求;
所述服务器,用于接收所述视频获取请求,并根据所述视频获取请求确定存储有所述视频流的所述终端设备;并向所述终端设备发送视频传输请求;
所述终端设备,用于接收所述视频传输请求,并根据所述视频传输请求确定所述传输目的终端;以及通过所述P2P网络将所述视频流发送至所述传输目的终端。
在上述实现过程中,该视频播放系统还可以包括传输目的终端,并通过服务器、终端设备和该传输目的终端实现小型P2P的数据传输,从而实现传输目的终端对视频流的输出播放,进而提高整体的视频播放效率。
本申请实施例第四方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例第一方面中任一项所述的视频播放方法。
本申请实施例第五方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例第一方面中任一项所述的视频播放方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种视频播放方法的流程示意图;
图2为本申请实施例提供的另一种视频播放方法的流程示意图;
图3为本申请实施例提供的一种终端设备的结构示意图;
图4为本申请实施例提供的另一种终端设备的结构示意图;
图5为本申请实施例提供的一种视频播放系统结构示意图;
图6为本申请实施例提供的一种P2P视频流传输网络;
图7为本申请实施例提供的一种视频数据传输示意图;
图8为本申请实施例提供的一种自定义网络协议栈的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本申请实施例提供了一种视频播放方法的流程示意图。该方法应用于视频播放的场景当中,具体的,该方法应用于联网即时播放目标视频的过程当中。其中,该视频播放方法应用于终端设备中,具体的,该视频播放方法包括:
S101、向服务器发送目标视频的获取请求。
本实施例中,获取请求为终端设备发送给服务器的,用于获取目标视频的请求信息。
S102、通过P2P网络接收由服务器根据获取请求发送的目标视频的视频流。
本实施例中,P2P为point to point,其P2P网络用于指代点对点传输网络架构。
本实施例中,视频流用于指代目标视频的传输形态。
S103、通过自定义网络协议栈对视频流进行解码处理,得到解码文件。
S104、控制终端设备上的视频播放软件从自定义网络栈中读取解码文件,并根据解码文件完成对目标视频的播放操作。
本实施例中,该方法提出了一种通过P2P网络分发、视频重定向、用户态自定义网络栈处理视频的方法,同时,该方法还能够作为播放器视频源的组合技术优化方法。并且,实施这种实施方式,能够提升在大规模视频播放场景的性能和体验,降低桌面云集群服务器的CPU和内存资源消耗。
请参阅图6,图6是一种本方法所采用的视频流传输网络(即P2P网络),其中,终端-视频播放为用于播放视频的终端设备,目标视频为目标视频,P2P网络用于指代终端设备、终端设备以及服务器之间相互连接,从而能够实现视频流共享的效果。
实施这种实施方式,能够将桌面云集群服务器和所有终端组成P2P网络,并在当需要传输视频文件时,将视频文件通过P2P网络传输。从而能够节省桌面云集群的出口带宽,并且还能够大大加快视频文件在终端之间传输速度。
本申请实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
在本申请实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
可见,实施本实施例所描述的视频播放方法,能够优先向服务器发送视频获取请求,并通过P2P的方式获取想要的视频流,并通过自定义网络协议栈对视频流进行解码与播放,从而实现一种高效便捷的视频播放效果。同时,实施这种实施方式,还能够降低服务器负载,节省服务器出口带宽,提高视频文件传输效率,从而满足大规模的视频播放场景,提高视频播放的整体适用性。
实施例2
请参看图2,图2为本申请实施例提供的另一种视频播放方法的流程示意图。如图2所示,其中,该视频播放方法应用于终端设备,具体的,该视频播放包括:
S201、向服务器发送目标视频的获取请求。
S202、当终端设备的物理网卡通过P2P网络接收到目标视频的视频流时,通过自定义网络协议栈包括的内存管理模块将视频流存储至预设的共享内存中;其中,目标视频的视频流是由服务器根据获取请求发送的。
请参阅图7,图7是一种视频数据传输示意图,其中,物理网卡为终端设备的物理网卡,在共享内存对视频流进行都区之后,自动以网络协议栈可以通过与共享内存之间的交互实现对视频流的推送与播放,从而实现完整的视频播放。
实施这种实施方式,能够过实现自定义的网络协议栈解决系统内存和CPU资源的消耗问题,以及视频播放的延时问题。具体的,该方法能够在视频流发送到物理网卡时,通过Linux内核的UIO机制将数据存储到内核态跟用户态共享的一片内存中,然后再通过自定义网络协议栈,完成视频流的处理,从而使得视频播放软件能够直接通过自定义网络栈提供的虚拟文件系统读取视频数据,并完成视频的播放。
S203、通过自定义网络协议栈包括的视频源生成模块对视频流进行解码处理,得到解码文件。
S204、控制终端设备上的视频播放软件使用自定义网络栈提供的虚拟文件系统读取解码文件。
S205、控制视频播放软件根据解码文件完成对目标视频的播放操作。
S206、判断是否接收到服务器发送的针对视频流的视频传输请求,若是,则执行步骤S207~S208;若否,则结束本流程。
S207、获取视频传输请求中的传输目的终端。
本实施例中,传输目的终端为另外一个终端设备。
S208、通过自定义网络协议栈包括的视频分发模块和P2P网络将视频流发送至传输目的终端。
请参阅图8,图8是一种自定义网络协议栈的结构示意图,其中,物理网卡将视频流传输至共享内存之后,该方法将通过视频源生成模块、内存管理模块以及视频分发模块进行视频流的多方面处理,从而实现视频流的解码、调用与分发,进而实现自定义的多功能,提高该方法应用的普适性。
本实施例中,自定义网络协议栈包括内存管理模块、视频分发模块以及视频源生成模块。
在本实施例中,内存管理模块作为视频数据额存储区域,主要包括以下两大功能:其一,通过Linux UIO机制与内存大页机制,完成用户态与内核态的共享内存的设立,由于视频流数据都是大块的,采用内存大页增加系统内存页大小,减少内存页的总数,从而需要更少的页表项,所需要转换的地址减少,TLB缓存失效的次数将减少,因此内存访问的性能将得到提升;其二,共享内存区域将组织成环形缓冲区完成视频流的播放和转发,通过视频接收窗口,控制视频流的接收和存放,由视频源生成模块部分说明。通视频发送窗口控制视频数据通过P2P网络共享,由视频分发模块部分说明。
在本实施例中,视频分发模块能够结合UIO共享内存中的数据、P2P网络的请求数据,将所需要的视频数据通过P2P网络,从而共享数据给有需要的终端。同时,每个终端设备都包含视频分发模块,都通过P2P网络共享数据,从而能够大大降低从桌面云服务器请求的视频数据的此处,进而节省了桌面云集群的出口带宽。
在本实施例中,视频源生成模块能够直接对接视频播放器,并采用Linux用户空间文件系统FUSE提供视频播放器读取UIO共享内存的视频数据,从而能够提高视频源的兼容性。
在本实施例中,视频播放器能够通过视频源生成模块自动解码、读取其中视频数据。
可见,实施本实施例所描述的视频播放方法,能够优先向服务器发送视频获取请求,并通过P2P的方式获取想要的视频流,并通过自定义网络协议栈对视频流进行解码与播放,从而实现一种高效便捷的视频播放效果。同时,实施这种实施方式,还能够降低服务器负载,节省服务器出口带宽,提高视频文件传输效率,从而满足大规模的视频播放场景,提高视频播放的整体适用性。
实施例3
请参看图3,图3为本申请实施例提供的一种终端设备的结构示意图。如图3所示,该终端设备300包括:
发送单元310,用于向服务器400发送目标视频的获取请求;
接收单元320,用于通过P2P网络接收由服务器400根据获取请求发送的目标视频的视频流;
解码单元330,用于通过自定义网络协议栈对视频流进行解码处理,得到解码文件;
播放单元340,用于控制终端设备300上的视频播放软件从自定义网络栈中读取解码文件,并根据解码文件完成对目标视频的播放操作。
本申请实施例中,对于终端设备300的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的终端设备,该终端设备能够通过多个单元之间的协同工作完成对目标视频的播放过程,从而实现一种高效便捷的视频播放效果。同时,实施这种实施方式,还能够降低服务器负载,节省服务器出口带宽,提高视频文件传输效率,从而满足大规模的视频播放场景,提高视频播放的整体适用性。
实施例4
请一并参阅图4,图4是本申请实施例提供的一种终端设备的结构示意图。其中,图4所示的终端设备是由图3所示的终端设备进行优化得到的。如图4所示,接收单元320具体用于,当终端设备300的物理网卡通过P2P网络接收到目标视频的视频流时,通过自定义网络协议栈包括的内存管理模块将视频流存储至预设的共享内存中;其中,目标视频的视频流是由服务器400根据获取请求发送的。
作为一种可选的实施方式,解码单元330具体用于通过自定义网络协议栈包括的视频源生成模块对视频流进行解码处理,得到解码文件。
作为一种可选的实施方式,播放单元340具体用于控制终端设备300上的视频播放软件使用自定义网络栈提供的虚拟文件系统读取解码文件;并控制视频播放软件根据解码文件完成对目标视频的播放操作。
作为一种可选的实施方式,终端设备300还包括:
判断单元350,用于判断是否接收到服务器400发送的针对视频流的视频传输请求;
获取单元360,用于在判断单元350的判断结果为是时,获取视频传输请求中的传输目的终端500;
输出单元370,用于通过自定义网络协议栈包括的视频分发模块和P2P网络将视频流发送至传输目的终端500。
本申请实施例中,对于终端设备300的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的终端设备,能够降低服务器负载,节省服务器出口带宽,提高视频文件传输效率,从而满足大规模的视频播放场景,提高视频播放的整体适用性。
实施例5
请参看图5,图5为本申请实施例提供的另一种视频播放系统的结构示意图。如图5所示,该视频播放系统包括终端设备300和服务器400,其中,
终端设备300,用于向服务器400发送目标视频的获取请求;
服务器400,用于接收获取请求,并根据获取请求通过P2P网络发送目标视频的视频流至终端设备300;
终端设备300,还用于通过P2P网络接收视频流;以及通过自定义网络协议栈对视频流进行解码处理,得到解码文件;以及控制终端设备300上的视频播放软件从自定义网络栈中读取解码文件,并根据解码文件完成对目标视频的播放操作。
作为一种可选的实施方式,视频播放系统还包括传输目的终端500,其中,
传输目的终端500,用于向服务器400发送针对视频流的视频获取请求;
服务器400,用于接收视频获取请求,并根据视频获取请求确定存储有视频流的终端设备300;并向终端设备300发送视频传输请求;
终端设备300,用于接收视频传输请求,并根据视频传输请求确定传输目的终端500;以及通过P2P网络将视频流发送至传输目的终端500。
本申请实施例中,对于视频播放系统的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的视频播放系统,能够通过终端设备和服务器之间的交互完成目标视频的获取与播放,从而高效便捷地播放目标视频,进而能够降低服务器负载,节省服务器出口带宽,提高视频文件传输效率,并且还能够满足大规模的视频播放场景,提高视频播放的整体适用性。
本申请实施例提供了一种电子设备,包括存储器以及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使电子设备执行本申请实施例1或实施例2中任一项视频播放方法。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例1或实施例2中任一项视频播放方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种视频播放方法,应用于终端设备,其特征在于,包括:
向服务器发送目标视频的获取请求;
通过P2P网络接收由所述服务器根据所述获取请求发送的所述目标视频的视频流;
通过自定义网络协议栈对所述视频流进行解码处理,得到解码文件;
控制所述终端设备上的视频播放软件从所述自定义网络栈中读取所述解码文件,并根据所述解码文件完成对所述目标视频的播放操作。
2.根据权利要求1所述的视频播放方法,其特征在于,所述通过P2P网络接收由所述服务器根据所述获取请求发送的所述目标视频的视频流,包括:
当所述终端设备的物理网卡通过P2P网络接收到所述目标视频的视频流时,通过所述自定义网络协议栈包括的内存管理模块将所述视频流存储至预设的共享内存中;其中,所述目标视频的视频流是由所述服务器根据所述获取请求发送的。
3.根据权利要求1所述的视频播放方法,其特征在于,所述通过自定义网络协议栈对所述视频流进行解码处理,得到解码文件,包括:
通过所述自定义网络协议栈包括的视频源生成模块对所述视频流进行解码处理,得到解码文件。
4.根据权利要求1所述的视频播放方法,其特征在于,所述控制所述终端设备上的视频播放软件从所述自定义网络栈中读取所述解码文件,并根据所述解码文件完成对所述目标视频的播放操作,包括:
控制所述终端设备上的视频播放软件使用所述自定义网络栈提供的虚拟文件系统读取所述解码文件;
控制所述视频播放软件根据所述解码文件完成对所述目标视频的播放操作。
5.根据权利要求1所述的视频播放方法,其特征在于,所述方法还包括:
判断是否接收到所述服务器发送的针对所述视频流的视频传输请求;
如果是,获取所述视频传输请求中的传输目的终端;
通过所述自定义网络协议栈包括的视频分发模块和所述P2P网络将所述视频流发送至所述传输目的终端。
6.一种终端设备,其特征在于,所述终端设备包括:
发送单元,用于向服务器发送目标视频的获取请求;
接收单元,用于通过P2P网络接收由所述服务器根据所述获取请求发送的所述目标视频的视频流;
解码单元,用于通过自定义网络协议栈对所述视频流进行解码处理,得到解码文件;
播放单元,用于控制所述终端设备上的视频播放软件从所述自定义网络栈中读取所述解码文件,并根据所述解码文件完成对所述目标视频的播放操作。
7.一种视频播放系统,其特征在于,所述视频播放系统包括终端设备和服务器,其中,
所述终端设备,用于向服务器发送目标视频的获取请求;
所述服务器,用于接收所述获取请求,并根据所述获取请求通过P2P网络发送所述目标视频的视频流至所述终端设备;
所述终端设备,还用于通过P2P网络接收所述视频流;以及通过自定义网络协议栈对所述视频流进行解码处理,得到解码文件;以及控制所述终端设备上的视频播放软件从所述自定义网络栈中读取所述解码文件,并根据所述解码文件完成对所述目标视频的播放操作。
8.根据权利要求7所述的视频播放系统,其特征在于,所述视频播放系统还包括传输目的终端,其中,
所述传输目的终端,用于向服务器发送针对所述视频流的视频获取请求;
所述服务器,用于接收所述视频获取请求,并根据所述视频获取请求确定存储有所述视频流的所述终端设备;并向所述终端设备发送视频传输请求;
所述终端设备,用于接收所述视频传输请求,并根据所述视频传输请求确定所述传输目的终端;以及通过所述P2P网络将所述视频流发送至所述传输目的终端。
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行权利要求1至5中任一项所述的视频播放方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至5任一项所述的视频播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011351782.5A CN112468874B (zh) | 2020-11-26 | 2020-11-26 | 一种视频播放方法、终端设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011351782.5A CN112468874B (zh) | 2020-11-26 | 2020-11-26 | 一种视频播放方法、终端设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112468874A true CN112468874A (zh) | 2021-03-09 |
CN112468874B CN112468874B (zh) | 2023-01-10 |
Family
ID=74808870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011351782.5A Active CN112468874B (zh) | 2020-11-26 | 2020-11-26 | 一种视频播放方法、终端设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112468874B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114529853A (zh) * | 2022-02-21 | 2022-05-24 | 创新奇智(成都)科技有限公司 | 一种实时视频处理方法、装置、电子设备及存储介质 |
WO2023273772A1 (zh) * | 2021-06-28 | 2023-01-05 | 中兴通讯股份有限公司 | 数据处理方法、云服务器、终端及存储介质 |
CN116233520A (zh) * | 2023-05-06 | 2023-06-06 | 海马云(天津)信息技术有限公司 | 传递和获取视频数据的方法及装置、服务器设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105163144A (zh) * | 2015-08-06 | 2015-12-16 | 苏州百智通信息技术有限公司 | 在线网络视频p2p传输方法 |
US20170302990A1 (en) * | 2015-04-15 | 2017-10-19 | Tencent Technology (Shenzhen) Company Limited | Method, terminal, and system for processing data of video stream |
CN109347967A (zh) * | 2018-11-02 | 2019-02-15 | 网宿科技股份有限公司 | 一种获取音视频数据的方法及装置 |
-
2020
- 2020-11-26 CN CN202011351782.5A patent/CN112468874B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170302990A1 (en) * | 2015-04-15 | 2017-10-19 | Tencent Technology (Shenzhen) Company Limited | Method, terminal, and system for processing data of video stream |
CN105163144A (zh) * | 2015-08-06 | 2015-12-16 | 苏州百智通信息技术有限公司 | 在线网络视频p2p传输方法 |
CN109347967A (zh) * | 2018-11-02 | 2019-02-15 | 网宿科技股份有限公司 | 一种获取音视频数据的方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023273772A1 (zh) * | 2021-06-28 | 2023-01-05 | 中兴通讯股份有限公司 | 数据处理方法、云服务器、终端及存储介质 |
CN114529853A (zh) * | 2022-02-21 | 2022-05-24 | 创新奇智(成都)科技有限公司 | 一种实时视频处理方法、装置、电子设备及存储介质 |
CN116233520A (zh) * | 2023-05-06 | 2023-06-06 | 海马云(天津)信息技术有限公司 | 传递和获取视频数据的方法及装置、服务器设备和存储介质 |
CN116233520B (zh) * | 2023-05-06 | 2023-07-25 | 海马云(天津)信息技术有限公司 | 传递和获取视频数据的方法及装置、服务器设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112468874B (zh) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112468874B (zh) | 一种视频播放方法、终端设备及系统 | |
US10459764B2 (en) | Stateless instance backed mobile devices | |
US9699260B2 (en) | Scalable, real-time messaging system | |
US9348602B1 (en) | Resource allocation for staged execution pipelining | |
US10165058B2 (en) | Dynamic local function binding apparatus and method | |
WO2022111027A1 (zh) | 视频获取方法、电子设备及存储介质 | |
CN107580011B (zh) | 一种数据共享方法及桌面云服务端 | |
US10958744B2 (en) | Identifying and managing redundant digital content transfers | |
US11196868B2 (en) | Audio data processing method, server, client and server, and storage medium | |
CN111744174A (zh) | 云游戏的账号管理方法、账号登录方法、装置及电子设备 | |
US20080124041A1 (en) | Adding video effects for video enabled applications | |
CN112600761A (zh) | 一种资源分配的方法、装置及存储介质 | |
US11736753B1 (en) | Video enhancement service | |
US20110270941A1 (en) | File decoding system and method | |
US10834164B2 (en) | Virtualizing audio and video devices using synchronous A/V streaming | |
CN102857547A (zh) | 分布式缓存的方法及设备 | |
CN112312145A (zh) | 接入服务器、突发流量的缓存方法、系统、计算机设备及可读存储介质 | |
Panarello et al. | A big video data transcoding service for social media over federated clouds | |
CN106487653B (zh) | 一种消息处理方法及服务器 | |
WO2016095377A1 (zh) | 一种瘦客户端的图像显示方法、装置及电子设备 | |
CN109088913B (zh) | 请求数据的方法和负载均衡服务器 | |
KR101855318B1 (ko) | 적어도 하나의 네트워크-연계된 객체를, 적어도 부분적으로, 할당 및/또는 구성하는 것을, 적어도 부분적으로, 허용하는 적어도 하나의 메커니즘 | |
CN112398884B (zh) | 镜像回源场景下流量调度控制方法、可读存储介质及计算机设备 | |
WO2015123986A1 (zh) | 一种数据记录的方法、系统以及接入服务器 | |
US11968093B1 (en) | Efficient scaling of a domain name system service architecture |
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 |