CN109361856A - 一种全景直播方法、装置、终端设备及存储介质 - Google Patents

一种全景直播方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN109361856A
CN109361856A CN201811261889.3A CN201811261889A CN109361856A CN 109361856 A CN109361856 A CN 109361856A CN 201811261889 A CN201811261889 A CN 201811261889A CN 109361856 A CN109361856 A CN 109361856A
Authority
CN
China
Prior art keywords
data packet
video stream
degrees
panoramic video
identifier
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.)
Pending
Application number
CN201811261889.3A
Other languages
English (en)
Inventor
邓建勋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huya Information Technology Co Ltd
Original Assignee
Guangzhou Huya Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Huya Information Technology Co Ltd filed Critical Guangzhou Huya Information Technology Co Ltd
Priority to CN201811261889.3A priority Critical patent/CN109361856A/zh
Publication of CN109361856A publication Critical patent/CN109361856A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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
    • H04N21/44008Processing 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 involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing 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
    • H04N21/4402Processing 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 involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种全景直播方法、装置、终端设备及存储介质。该方法包括:若检测到展示指定度数范围的全景视频流的指令,从对端获取所述指定度数范围对应的数据包,其中,所述全景视频流由主播端通过全景拍摄获得,所述数据包由所述全景视频流拆分而成,并由服务器按照自定义的格式封装,所述自定义的格式中包括第一标识,所述第一标识用于描述所述全景视频流中每个数据包的唯一性;所述对端包括服务器或/和从服务器获取所述全景视频流的其他客户端;根据获取的数据包的第一标识将获取的数据包进行组装后,展示指定度数范围的全景视频流。旨在解决现有的全景直播存在对用户网速及设备性能要求高,但视频清晰度较低的问题。

Description

一种全景直播方法、装置、终端设备及存储介质
技术领域
本申请涉及互联网领域,尤其涉及互联网直播领域。
背景技术
目前的全景直播通过主播端将多个摄像头拍摄到的视频流进行缝合后获得全景视频流,该全景视频流涵盖了上述多个摄像头拍摄的画面,可以让观众端用户通过随意调节视频的上下左右移动选择合适的度数范围查看全景视频流中的部分画面,以达到观看全景的效果。但是,由于目前的全景视频流包括多个度数的视频流数据,存在以下技术问题:需要观众端拥有极大的网络带宽、强大的硬件处理能力,但视频清晰度无法做到很高,上述技术问题使得全景直播的用户量一直受到局限。
发明内容
基于此,本申请实施例提供一种全景直播方法、装置、终端设备及存储介质。旨在解决现有的全景直播存在对用户网速及设备性能要求高,但视频清晰度较低的问题。
在本申请的第一方面,提供一种全景直播方法,所述方法包括步骤:
若检测到展示指定度数范围的全景视频流的指令,从对端获取所述指定度数范围对应的数据包,其中,所述全景视频流由主播端通过全景拍摄获得,所述数据包由所述全景视频流拆分而成,并由服务器按照自定义的格式封装,所述自定义的格式中包括第一标识,所述第一标识用于描述所述全景视频流中每个数据包的唯一性;所述对端包括服务器或/和从服务器获取所述全景视频流的其他客户端;
根据获取的数据包的第一标识将获取的数据包进行组装后,展示指定度数范围的全景视频流。
在一些例子中,所述其他客户端包括与本端建立P2P网络的对等节点;
建立P2P网络的步骤包括:
服务器接收各客户端发送的第二标识,所述第二标识用于描述全景视频流的唯一性;并基于所述第二标识通知本端与其他客户端建立P2P网络连接。
在一些例子中,所述对端根据传输策略确定,所述传输策略包括:在预定时间内先从服务器获取数据包,在获取的数据包的时间或数据包长度达到预设条件时,向所述服务器查询是否存在第二标识所对应的对等节点,如果存在,则向第二标识所对应的对等节点请求数据包。
在一些例子中,所述方法还包括:
从对端获取所述指定度数范围之外的其他数据包,所获取的其他数据包所展示的度数范围与所述指定度数范围相邻。
在一些例子中,所述第一标识还用于表征每个数据包所属度数范围。
在一些例子中,所述第一标识包括预定位数的编号;所述数据包根据自身所属度数范围进行分组;
所述分组的步骤,包括:
以所述数据包的编号为被除数,分组数为余数,进行求余处理,根据求余结果确定所述封装后的数据包的分组号;
所述从对端获取所述指定度数范围相关的数据包,包括:根据所述指定度数范围,确定获取的数据包的分组号,从对端获取指定分组号对应的数据包。
在本申请的第二方面,提供一种全景直播装置,所述装置包括:
获取模块,用于若检测到展示指定度数范围的全景视频流的指令,从对端获取所述指定度数范围对应的数据包,其中,所述全景视频流由主播端通过全景拍摄获得,所述数据包由所述全景视频流拆分而成,并由服务器按照自定义的格式封装,所述自定义的格式中包括第一标识,所述第一标识用于描述所述全景视频流中每个数据包的唯一性;所述对端包括服务器或/和从服务器获取所述全景视频流的其他客户端;
展示模块,用于将获取的数据包进行组装后,展示指定度数范围的全景视频流。
在本申请的第三方面,提供一种终端设备,包括:
处理器;以及
存储器,所述存储器被配置成存储计算机程序,所述计算机程序被配置成被所述处理器执行如所述第一方面任意一项方法的操作。
在本申请的第四方面,提供一种计算机存储介质,所述程序被处理器执行时实现如所述第一方面任意一项所述方法的步骤。
本申请首先通过将主播端采集的全景视频流切割成若干个数据包而不是文件块,文件块的大小可能在上百KB,而相对于文件块来说,数据包的可拆分粒度更小,可以作为更小的传输单元在网络中传输,例如在考虑切割后的数据包的大小时,可以结合互联网链路层的传输特性来设计,使得数据包的大小与P2P网络中各连接通道的传输带宽匹配,因此比拆分文件的方式效率更高,使得具有更广泛的适用场景。基于上述基础,若检测到展示指定度数范围的全景视频流,可以仅从对端获取所述指定度数范围相关的全景拍摄数据包进行组装后,展示指定度数范围的全景视频流,相比于现有全景直播中必须获得全部的全景视频流数据具有如下明显优势:由于每次仅获取需展示的指定度数范围相关的数据包,可以在不降低用户体验的前题下,极大地减少了全景直播传输的数据量及对网路带宽的占用,并降低对观看全景观众端的网速的要求,及对观看全景观众端所在的终端的配置要求,并且由于本申请实施例提出的方案传输数据量较小,相比于现有的全景直播为减小传输数据量不得不牺牲视频分辨率,本申请实施例可以提供更高分辨率的全景直播视频流;更重要的是,由于上述优势降低了观看全景直播的门槛,可以有效地增加观看全景直播的用户数量。
附图说明
图1为本申请实施例提出的一种全景直播方法的流程图;
图2为本申请实施例提出的一种全景直播的场景示意图;
图3a-图3c为本申请实施例中三种不同的服务器架构下搭建的网络;
图4为本申请实施例提出的另一种全景直播的场景示意图;
图5为本申请实施例提出的另一种全景直播方法的流程图;
图6为本申请实施例中的一个全景直播装置的示意图;
图7为本申请实施例中的一个终端设备的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参照图1,为本申请实施例提出的一种全景直播流程图,该方法可以由进行全景直播的观众客户端执行,所述观众客户端可以被安装在终端设备上,该终端设备可以具有连网功能,例如移动终端(例如智能手机、智能平板及笔记本电脑等)及固定终端(台式电脑、服务器、智能电视及车载终端等)等。本申请不限制终端设备的类型。所述方法包括步骤:
S110:若检测到展示指定度数范围的全景视频流的指令,从对端获取所述指定度数范围对应的数据包。
所述全景视频流可以由主播端通过全景拍摄获得,所述数据包由所述全景视频流拆分而成,并由服务器按照自定义的格式封装,所述自定义的格式中包括第一标识,所述第一标识用于描述所述全景视频流中每个数据包的唯一性;所述对端包括服务器或/和从服务器获取所述全景视频流的其他客户端。
需要说明的是,在服务器对数据包封装阶段,为了使拆分后的数据包能够被对客户端接收后有序组装,服务器可以为每个数据包编号,作为描述每个数据包唯一标识的字段,所述唯一标识为第一标识,某些例子中,可以自定义数据包的格式来实现此目的,自定义的格式中可以规定特定字段作为此唯一标识。本申请提出的第一标识可以是同一全景视频流中用于区分其他数据包的唯一标识。当然,并不排除其他方式来实现此目的。
S120:根据获取的数据包的第一标识将获取的数据包进行组装后,展示指定度数范围的全景视频流。
至此,可知本申请首先通过将主播端采集的全景视频流切割成若干个数据包而不是文件块,文件块的大小可能在上百KB,而相对于文件块来说,数据包的可拆分粒度更小,可以作为更小的传输单元在网络中传输,例如在考虑切割后的数据包的大小时,可以结合互联网链路层的传输特性来设计,使得数据包的大小与P2P网络中各连接通道的传输带宽匹配,因此比拆分文件的方式效率更高,使得具有更广泛的适用场景。基于上述基础,若检测到展示指定度数范围的全景视频流,可以仅从对端获取所述指定度数范围相关的全景拍摄数据包进行组装后,展示指定度数范围的全景视频流,相比于现有全景直播中必须获得全部的全景视频流数据具有如下明显优势:由于每次仅获取需展示的指定度数范围相关的数据包,可以在不降低用户体验的前题下,极大地减少了全景直播传输的数据量及对网路带宽的占用,并降低对观看全景观众端的网速的要求,及对观看全景观众端所在的终端的配置要求,并且由于本申请实施例提出的方案传输数据量较小,相比于现有的全景直播为减小传输数据量不得不牺牲视频分辨率,本申请实施例可以提供更高分辨率的全景直播视频流;更重要的是,由于上述优势降低了观看全景直播的门槛,可以有效地增加观看全景直播的用户数量。
本端从哪获取数据包可以由传输策略确定,即可以根据传输策略,确定本端获取数据包的对端。一些例子中,所述对端可以为服务器(情况一)。
具体的一个例子中,参照图2,为本申请的一全景直播场景示意图,第一观众客户端211、第二观众客户端222及主播客户端223分别被安装在终端设备210、220及230上,主播客户端223可以调用多个摄像头录制视频或拍摄照片等其他方式制作全景视频流,然后通过网络发送给服务器200。服务器200用于提供互联网直播的后台服务,例如保存各主播客户端与观众客户端的对应关系,进行全景视频流的分发等,例如第一观众客户端221及第二观众客户端222与主播客户端223在同一直播间内,若所述第一客户端221为本申请实施例的本端,服务器200接收到主播客户端223发送的全景视频流后,将所述全景视频流拆分成若干数据包,并按照自定义的格式封装,所述自定义的格式中包括第一标识,所述第一标识用于描述所述全景视频流中每个数据包的唯一性;当本端221的用户选择要观看的全景视频流的指定度数范围的指令后,本端221根据该指定度数范围向服务器200请求数据包,服务器200将该指定度数范围对应的数据包发送给本端221,本端221根据获取的数据包的第一标识将获取的数据包进行组装后,展示指定度数范围的全景视频流。
需要说明的是,本申请实施例提出的所述服务器可以由多种实体承担,这取决于设计者对不同网络设备的角色划分。例如,图3a、图3b、图3c是三种不同场景下的网络架构。图3a中,第一服务器承担从主播客户端收集全景视频流的角色,第二服务器承担拆分数据包的角色,第三服务器作为向对应观众客户端分发数据包的角色。图3b中,第一服务器集成了从主播客户端收集全景视频流和拆分数据包的功能,第二服务器作为向对应观众客户端分发数据包的服务器。图3c中,服务器将从主播客户端收集全景视频流、拆分数据包、分发数据包的功能集于一体。需要指出,除了图3a、图3b、图3c所列举的示例以外,并不排除有其他形式的网络架构或服务器功能。
为了提高数据包分发的效率,一些例子中,所述对端包括从服务器获取所述全景视频流的其他客户端(情况二)。
情况二可以基于Peer-to-peer(P2P)网络架构,P2P是一种分布式网络,P2P网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源需要由网络提供服务和内容,能被其它对等节点(peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源(服务和内容)提供者(服务器server),又是资源(服务和内容)获取者(客户端client)。基于上述P2P的特点,P2P网络中的对等节点获取资源的数据非常快。其他客户端可以是与本端建立P2P网络的对等节点。
需要说明的是,本申请实施例不同于传统的P2P模式,共享资源是由全景视频流拆分得到的数据包,而不是传统P2P模式中的文件块,文件块的大小可能在上百KB,而相对于文件块来说,数据包的可拆分粒度更小,可以作为更小的传输单元在网络中传输,例如在考虑切割后的数据包的大小时,可以结合互联网链路层的传输特性来设计,使得数据包的大小与P2P网络中各连接通道的传输带宽匹配,因此比拆分文件的方式效率更高,并可以突破传统P2P技术无法应用在实时流媒体传输领域(如直播领域)的壁垒。
具体的一个例子中,参照图4,为本申请的一全景直播场景示意图,第一观众客户端411、第二观众客户端422、第三客户端432及主播客户端442分别被安装在终端设备410、420、430及440上,主播客户端442通过调用多个摄像头录制视频或拍摄照片等其他方式制作全景视频流后,通过网络发送给服务器400。服务器400将所述全景视频流拆分成若干数据包,并按照自定义的格式封装,将该全景视频流拆分得到的数据包分发给与所述主播客户端442在同一直播间的观众客户端422及432,当第一观众客户端411(本端)进入主播客户端442所在的直播间后,服务器可以通知本端411与第二观众客户端422及第三观众客户端432建立P2P网络。本端411的用户选择要观看的全景视频流的指定度数范围的指令后,本端421根据该指定度数范围向服务器400请求数据包,服务器400通知与本端在同一P2P网络的第二观众客户端422和/或第三观众客户端432将该指定度数范围对应的数据包发送给本端421,本端421根据获取的数据包的第一标识将获取的数据包进行组装后,展示指定度数范围的全景视频流。
需要说明的是,本申请实施例在构建P2P网络时,不同的应用实例中,建立连接通道的方式可以有所不同。例如,一些例子中可以参照现有技术的P2P网络中对等节点建立UDP通道的方式来实现;另一些例子中,可以针对实际的场景设计新的流程。例如,所有的客户端向服务器发起注册请求,将全景视频流有关的一些信息以及建立连接所必须的信息(例如网络连接地址、端口号等)通知给服务器,这些信息可以携带在注册请求中、也可以以在其他消息中发送给服务器。服务器基于这些与共享资源有关的信息,通知哪些客户端之间需要建立网络连接,形成对等节点。作为例子,本申请将全景视频流有关的一些信息称为第二标识,用来描述全景视频流的唯一性。一些例子中,可以以直播间的标识(例如频道号、直播流标识等)作为第二标识,将观看同一频道的观众客户端聚合成P2P网络。
一些例子中,针对情况二,本端411的用户选择要观看的全景视频流的指定度数范围的指令后,本端421可以根据该指定度数范围向服务器400询问是否存在第二标识所对应的对等节点,如果存在,则本端向第二标识所对应的对等节点请求数据包。
为了进一步提高数据包分发的效率,提高起播速度,在一些例子中,所述对端包括服务器和从服务器获取所述全景视频流的其他客户端(例如P2P网络中的对等节点)。
一个例子中,可以在预定时间内先从服务器获取数据包,在获取的数据包的时间或数据包长度达到预设条件时,向所述服务器查询是否存在第二标识所对应的对等节点,如果存在,则向第二标识所对应的对等节点请求数据包。具体的,在图4的场景中,服务器通知本端411与第二观众客户端422及第三观众客户端432建立P2P网络后,本端411的用户选择要观看的全景视频流的指定度数范围的指令,本端421根据该指定度数范围向服务器400请求数据包,服务器400将该指定度数范围对应的数据包发送给本端421,在本端421获取的数据包的时间或数据包长度达到预设条件时,本端421向服务器400查询是否存在第二标识所对应的对等节点,此实施例中,第二观众客户端422和第三观众客户端432均为存在第二标识的对等节点,收到服务器400的反馈后,本端可以向第二标识所对应的对等节点请求其余的数据包。通过先从服务器获取数据包,可以保证开始获取数据包的稳定性,提高起播速度,待获取的数据包的时间或数据包长度达到预设条件时,再从P2P网络的对等节点上获取剩余的数据包,以提高获取数据包的效率。
在一些例子中,在考虑切割后的数据包的大小时,可以结合互联网链路层的传输特性来设计,使得数据包的大小与P2P网络中各连接通道的传输带宽匹配。举例来说,各对等节点之间建立的通道可以是UDP通道,每个数据包的大小可以是1KB左右,约等于MTU(互联网链路层最大传输单元),这样,每个数据包可以由1个UDP包传输,不需要出现基于UDP包拆包,因此比拆分文件的方式效率更高,从而使得具有更广泛的适用场景。
在一些例子中,可以根据数据包所属的度数范围对数据包进行分组,并使本端按组号从对端获取数据包。例如将360°的全景直播视频流分成12组,每30°一组,0-30°为第一组,30°-60°为第二组……330°-360°为第12组,将每个数据包按照所属度数标记组数,当用户观看0-60°的视频流时,从对端获取属于第一组和第二组的数据包,并将所述获取的数据包拼装后,展示0-60°的视频图像。
在一些例子中,所述第一标识可以表征数据包所属的度数范围。一个具体的例子中,所述第一标识包括预定位数的编号;所述数据包根据自身所属度数范围进行分组,以使本端根据所述指定度数范围,确定获取的数据包的分组号,从对端获取指定分组号对应的数据包。
所述分组的步骤,可以包括:
服务器以所述数据包的编号为被除数,分组数为余数,进行求余处理,根据求余结果确定所述封装后的数据包的分组号。
具体的一个例子中,服务器获得m°的全景视频流(例如m°=360°)后,若将所述情景视频流分成n组(例如n=10),根据各数据包所属度数范围(例如若360°的全景视频流拆分成10组数据包,每36°一组,0-36°为第一组,36°-72°为第二组……,324°-360°为第10组),给数据包编号,编号的原则是:属于同一组的数据包编号除以n的余数相同,每个组的(例如若360°的全景视频流拆分成10组数据包,余数为0的为第一组(属于0°-36°的数据包),余数为1的为第二组(属于36°-72°的数据包),……余数为9的为第十组(属于324°-360°的数据包),那么属于0-36°的数据包编号时,位数为0,如此可保证属于0-36°的每个数据包对组数求余时,余数均为0)。
当然可以理解,除了上述具体实施例,第一标识还可以以另外的形式同时描述所属组号及所述全景视频流中每个数据包的唯一性。例如可以在第一标识的特定位置描述数据包对应的组数,其他位置描述数据包的唯一性。
在实际应用中,用户可能会频繁地通过上下左右移动改变视频视角查看不同度数范围的视频,为了保证用户在切换观看的视频流的度数范围时,依然顺畅平滑,不产生视觉上的卡顿,在一些例子中,向对端获取的数据包对应的度数范围(连续的度数范围)可以包含且不等于指定度数范围,即还获取指定度数范围相邻的度数范围对应的数据包,例如指定度数范围是0-60°,实际获取-60°-120°范围的数据包。具体的参照图5,本申请实施例提出的另一全景直播方法的部分步骤包括:
S510:检测到展示指定度数范围的全景视频流的指令,(例如指定度数范围0-60°);从对端获取所述指定度数范围以及指定度数范围相邻度数范围的数据包(例如获取-60°-120°范围的数据包)。
S520:根据个数据包的第一标识将所述获取的数据组装,(例如将-60°-120°范围的数据包组装得到-60°-120°的全景视频流),播放组装好的指定度数范围的视频流(例如将0-60°对应的画面展示在显示屏)。
S530:若用户通过选择指令更改观看的度数范围(例如:更改后的度数范围是10-70°),播放更改度数范围的视频流(例如将已组装好的10-70°对应的画面展示在显示屏),并从对端获取更改度数范围及更改度数范围相邻度数范围的数据包(例如获取-50°-130°范围的数据包)。
至此,由于本申请实施例预先指定度数范围的画面也提前组装好,在用户频繁切换度数范围时,依然顺畅平滑,不产生视觉上的卡顿。
与前述全景直播方法的实施例相对应,本申请还提供了全景直播装置的实施例。
参见图6,全景直播装置600包括:
获取模块610,用于若检测到展示指定度数范围的全景视频流的指令,从对端获取所述指定度数范围对应的数据包,其中,所述全景视频流由主播端通过全景拍摄获得,所述数据包由所述全景视频流拆分而成,并由服务器按照自定义的格式封装,所述自定义的格式中包括第一标识,所述第一标识用于描述所述全景视频流中每个数据包的唯一性;所述对端包括服务器或/和从服务器获取所述全景视频流的其他客户端;
展示模块620,用于将获取的数据包进行组装后,展示指定度数范围的全景视频流。
本申请全景直播装置的实施例可以应用在终端设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在客户端设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本申请全景直播装置所在客户端设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的客户端设备通常根据该设备的实际功能,还可以包括其他硬件,例如摄像头、麦克风等,对此不再赘述。处理器被用于执行如下操作:
若检测到展示指定度数范围的全景视频流的指令,从对端获取所述指定度数范围对应的数据包,其中,所述全景视频流由主播端通过全景拍摄获得,所述数据包由所述全景视频流拆分而成,并由服务器按照自定义的格式封装,所述自定义的格式中包括第一标识,所述第一标识用于描述所述全景视频流中每个数据包的唯一性;所述对端包括服务器或/和从服务器获取所述全景视频流的其他客户端;
根据获取的数据包的第一标识将获取的数据包进行组装后,展示指定度数范围的全景视频流。
在本申请实施例中,计算机可读存储介质可以是多种形式,比如,在不同的例子中,所述机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。特殊的,所述的计算机可读介质还可以是纸张或者其他合适的能够打印程序的介质。使用这些介质,这些程序可以被通过电学的方式获取到(例如,光学扫描)、可以被以合适的方式编译、解释和处理,然后可以被存储到计算机介质中。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种全景直播方法,其特征在于,所述方法包括步骤:
若检测到展示指定度数范围的全景视频流的指令,从对端获取所述指定度数范围对应的数据包,其中,所述全景视频流由主播端通过全景拍摄获得,所述数据包由所述全景视频流拆分而成,并由服务器按照自定义的格式封装,所述自定义的格式中包括第一标识,所述第一标识用于描述所述全景视频流中每个数据包的唯一性;所述对端包括服务器或/和从服务器获取所述全景视频流的其他客户端;
根据获取的数据包的第一标识将获取的数据包进行组装后,展示指定度数范围的全景视频流。
2.根据权利要求1所述的方法,其特征在于,所述其他客户端包括与本端建立P2P网络的对等节点;
建立P2P网络的步骤包括:
服务器接收各客户端发送的第二标识,所述第二标识用于描述全景视频流的唯一性;并基于所述第二标识通知本端与其他客户端建立P2P网络连接。
3.根据权利要求2所述的方法,其特征在于,所述对端根据传输策略确定,所述传输策略包括:在预定时间内先从服务器获取数据包,在获取的数据包的时间或数据包长度达到预设条件时,向所述服务器查询是否存在第二标识所对应的对等节点,如果存在,则向第二标识所对应的对等节点请求数据包。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从对端获取所述指定度数范围之外的其他数据包,所获取的其他数据包所展示的度数范围与所述指定度数范围相邻。
5.根据权利要求1所述的方法,其特征在于,所述第一标识还用于表征每个数据包所属度数范围。
6.根据权利要求5所述的方法,其特征在于,所述第一标识包括预定位数的编号;所述数据包根据自身所属度数范围进行分组;
所述分组的步骤,包括:
以所述数据包的编号为被除数,分组数为余数,进行求余处理,根据求余结果确定所述封装后的数据包的分组号;
所述从对端获取所述指定度数范围相关的数据包,包括:根据所述指定度数范围,确定获取的数据包的分组号,从对端获取指定分组号对应的数据包。
7.根据权利要求1所述的方法,其特征在于,所述数据包的大小为1KB。
8.一种全景直播装置,其特征在于,所述装置包括:
获取模块,用于若检测到展示指定度数范围的全景视频流的指令,从对端获取所述指定度数范围对应的数据包,其中,所述全景视频流由主播端通过全景拍摄获得,所述数据包由所述全景视频流拆分而成,并由服务器按照自定义的格式封装,所述自定义的格式中包括第一标识,所述第一标识用于描述所述全景视频流中每个数据包的唯一性;所述对端包括服务器或/和从服务器获取所述全景视频流的其他客户端;
展示模块,用于将获取的数据包进行组装后,展示指定度数范围的全景视频流。
9.一种终端设备,其特征在于,包括:
处理器;以及
存储器,所述存储器被配置成存储计算机程序,所述计算机程序被配置成被所述处理器执行如权利要求1至7任意一项所述方法的操作。
10.一种计算机存储介质,其特征在于,所述程序被处理器执行时实现权利要求1至7任意一项所述方法的步骤。
CN201811261889.3A 2018-10-26 2018-10-26 一种全景直播方法、装置、终端设备及存储介质 Pending CN109361856A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811261889.3A CN109361856A (zh) 2018-10-26 2018-10-26 一种全景直播方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811261889.3A CN109361856A (zh) 2018-10-26 2018-10-26 一种全景直播方法、装置、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN109361856A true CN109361856A (zh) 2019-02-19

Family

ID=65347106

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811261889.3A Pending CN109361856A (zh) 2018-10-26 2018-10-26 一种全景直播方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN109361856A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111343475A (zh) * 2020-03-04 2020-06-26 广州虎牙科技有限公司 数据处理方法和装置、直播服务器及存储介质
CN111614968A (zh) * 2020-05-11 2020-09-01 厦门潭宏信息科技有限公司 一种直播方法、设备及存储介质
CN112637627A (zh) * 2020-12-18 2021-04-09 咪咕互动娱乐有限公司 直播中用户交互方法、系统、终端、服务器及存储介质
CN113794893A (zh) * 2021-08-11 2021-12-14 广州方硅信息技术有限公司 全景视频直播连麦的显示处理方法、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1897588A (zh) * 2006-06-21 2007-01-17 北京北大方正电子有限公司 一种混合模式的网络文件传输方法及系统
CN101141459A (zh) * 2007-10-25 2008-03-12 南京远古科技有限公司 使用http与p2p相结合实现数据传输或流媒体传输的方法
CN101945129A (zh) * 2010-09-10 2011-01-12 北京易视腾科技有限公司 P2p流媒体直播的低延时传输方法及系统
CN102137124A (zh) * 2010-01-27 2011-07-27 中国电信股份有限公司 一种p2p流媒体直播方法和系统
CN105491353A (zh) * 2016-01-15 2016-04-13 广东小天才科技有限公司 一种远程监控方法和装置
CN105656986A (zh) * 2015-11-26 2016-06-08 乐视云计算有限公司 一种直播视频的播放方法、装置及系统
CN105848011A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 一种视频直播方法及装置
CN106358036A (zh) * 2016-08-31 2017-01-25 杭州当虹科技有限公司 一种以预设视角观看虚拟现实视频的方法
US20170155928A1 (en) * 2015-11-26 2017-06-01 Le Holdings (Beijing) Co., Ltd. Method, Device and System for Playing Live Video
CN108259921A (zh) * 2018-02-08 2018-07-06 哈尔滨市舍科技有限公司 一种基于场景切换的多角度直播系统及切换方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1897588A (zh) * 2006-06-21 2007-01-17 北京北大方正电子有限公司 一种混合模式的网络文件传输方法及系统
CN101141459A (zh) * 2007-10-25 2008-03-12 南京远古科技有限公司 使用http与p2p相结合实现数据传输或流媒体传输的方法
CN102137124A (zh) * 2010-01-27 2011-07-27 中国电信股份有限公司 一种p2p流媒体直播方法和系统
CN101945129A (zh) * 2010-09-10 2011-01-12 北京易视腾科技有限公司 P2p流媒体直播的低延时传输方法及系统
CN105656986A (zh) * 2015-11-26 2016-06-08 乐视云计算有限公司 一种直播视频的播放方法、装置及系统
US20170155928A1 (en) * 2015-11-26 2017-06-01 Le Holdings (Beijing) Co., Ltd. Method, Device and System for Playing Live Video
CN105491353A (zh) * 2016-01-15 2016-04-13 广东小天才科技有限公司 一种远程监控方法和装置
CN105848011A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 一种视频直播方法及装置
CN106358036A (zh) * 2016-08-31 2017-01-25 杭州当虹科技有限公司 一种以预设视角观看虚拟现实视频的方法
CN108259921A (zh) * 2018-02-08 2018-07-06 哈尔滨市舍科技有限公司 一种基于场景切换的多角度直播系统及切换方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111343475A (zh) * 2020-03-04 2020-06-26 广州虎牙科技有限公司 数据处理方法和装置、直播服务器及存储介质
CN111343475B (zh) * 2020-03-04 2022-04-15 广州虎牙科技有限公司 数据处理方法和装置、直播服务器及存储介质
CN111614968A (zh) * 2020-05-11 2020-09-01 厦门潭宏信息科技有限公司 一种直播方法、设备及存储介质
CN111614968B (zh) * 2020-05-11 2021-12-17 厦门潭宏信息科技有限公司 一种直播方法、设备及存储介质
CN112637627A (zh) * 2020-12-18 2021-04-09 咪咕互动娱乐有限公司 直播中用户交互方法、系统、终端、服务器及存储介质
CN112637627B (zh) * 2020-12-18 2023-09-05 咪咕互动娱乐有限公司 直播中用户交互方法、系统、终端、服务器及存储介质
CN113794893A (zh) * 2021-08-11 2021-12-14 广州方硅信息技术有限公司 全景视频直播连麦的显示处理方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN109361856A (zh) 一种全景直播方法、装置、终端设备及存储介质
Zeadally et al. Internet protocol television (IPTV): architecture, trends, and challenges
CA2933465C (en) Communication apparatus, communication data generation method, and communication data processing method
CN109474684B (zh) 一种获取直播视频流的方法、装置、终端设备及存储介质
CN109151497A (zh) 一种连麦直播方法、装置、电子设备及存储介质
CN108924609A (zh) 流媒体数据传输的方法、电子设备、装置及存储介质
CN110769310B (zh) 一种基于视联网的视频处理方法和装置
CN109819214A (zh) 一种视频分屏的方法和装置
CN108989837A (zh) 一种图片截取的方法和装置
CN109194915B (zh) 一种视频数据的处理方法和系统
CN108965428A (zh) 直播数据的传输方法、装置、电子设备、系统
CN110719425A (zh) 一种视频数据的播放方法和装置
CN113194278A (zh) 一种会议控制方法、装置及计算机可读存储介质
CN111147801A (zh) 一种视联网终端的视频数据处理方法和装置
CN112866725A (zh) 一种直播控制方法及装置
JP5715262B2 (ja) 協調メディアシステム内の複数の端末装置を介したコンテンツの配信を管理する方法及び装置
CN109510868B (zh) 一种建立p2p网络的方法、装置、终端设备及存储介质
CN108989833A (zh) 一种视频封面图像的生成方法及装置
CN109302384B (zh) 一种数据的处理方法和系统
Pandey et al. The evolution of over the top (OTT): Standardization, key players and challenges
CN111212255B (zh) 监控资源获取方法、装置及计算机可读存储介质
CN108574655B (zh) 一种会议监播方法和装置
CN108900907A (zh) 封装数据包方法及装置、电子设备、介质
CN111131749B (zh) 一种视频会议的控制方法及装置
CN109040199A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190219

RJ01 Rejection of invention patent application after publication