CN114501068B - 视频直播方法、架构、***及计算机可读存储介质 - Google Patents
视频直播方法、架构、***及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114501068B CN114501068B CN202210358188.1A CN202210358188A CN114501068B CN 114501068 B CN114501068 B CN 114501068B CN 202210358188 A CN202210358188 A CN 202210358188A CN 114501068 B CN114501068 B CN 114501068B
- Authority
- CN
- China
- Prior art keywords
- video
- live
- data
- preset
- format
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000005540 biological transmission Effects 0.000 claims abstract description 38
- 238000004891 communication Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000000969 carrier Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process 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/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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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
- H04N21/234309—Processing 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 by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- 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/65—Transmission of management data between client and server
- H04N21/654—Transmission by server directed to the client
- H04N21/6547—Transmission by server directed to the client comprising parameters, e.g. for client setup
-
- 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6587—Control parameters, e.g. trick play commands, viewpoint selection
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种视频直播方法、架构、***及计算机可读存储介质,所述视频直播方法包括步骤:采集直播视频,根据预设推流协议将所述直播视频上传至流媒体服务器;控制所述流媒体服务器将所述直播视频转换为与预设拉流协议相对应的数据结构,并将所述数据结构转换为命名数据网络传输格式的数据;根据预设拉流协议,请求所述命名数据网络传输格式的数据,并进行播放。通过上述方式,本发明能够使得基于TCP/IP网络架构的视频直播***能够直接在命名数据网络上运行,无需针对命名数据网络重新开发新的直播***。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种视频直播方法、架构、***及计算机可读存储介质。
背景技术
随着计算机技术的不断发展,互联网日益成为现代人所依赖的信息获取渠道。在众多的信息载体和表现方式中,人们越来越倾向于使用流媒体来获取自己想要的信息。然而常规的流媒体却已经无法满足用户们的需求,在现在这个对信息时效性要求越来越高的时代,人们更多的是想要更快、更精确的得到第一手资讯;同时,用户们在获取咨询的同时,也更想拥有更真实的临场感和参与感。应运而生的,就是当下颇为火热的互联网直播。
当前互联网是基于 TCP/IP (Transmission Control Protocol/InternetProtocol,传输控制协议/网际协议)网络架构,所有互联网应用基于此架构之上,是目前全球互联网工作的基础。由于目前TCP/IP网络所暴露出来的不安全、可靠性差、移动性差以及灵活性差等问题,如今的 TCP/IP网络架构已经越来越难以满足人们的互联网直播需求。为了解决这些问题,开发了一个全新的网络架构,即命名数据网络(NDN网络架构,Named DataNetworking),以符合新兴的通讯需求。但是,现有的基于 TCP/IP 网络架构的视频直播***无法直接在命名数据网络上运行,即现有直播***无法与命名数据网络架构兼容。
发明内容
本发明的主要目的在于提供一种视频直播方法、架构、***和计算机可读存储介质。旨在解决现有直播***与命名数据网络架构不兼容的问题。
为实现上述目的,本发明提供一种视频直播方法,其特征在于,所述视频直播方法包括步骤:
采集直播视频,根据预设推流协议将所述直播视频上传至流媒体服务器;
控制所述流媒体服务器将所述直播视频转换为与预设拉流协议相对应的数据结构,并将所述数据结构转换为命名数据网络传输格式的数据;
根据预设拉流协议,请求所述命名数据网络传输格式的数据,并进行播放。
可选地,所述数据结构包括第一目录文件和第一视频内容文件;
所述控制所述流媒体服务器将所述直播视频转换为与预设拉流协议相对应的数据结构的步骤包括:
控制所述流媒体服务器接收所述直播视频,并将所述预设推流协议转换为预设拉流协议;
根据所述直播视频和所述拉流协议,生成与所述拉流协议相对应的预设格式的目录文件以及视频内容文件。
可选地,所述将所述数据结构转换为命名数据网络传输格式的数据的步骤包括:
以预设周期扫描文件夹中的所述第一目录文件;
获取所述第一目录文件的格式以及所述第一目录文件的分辨率,并将所述第一目录文件的格式转换为命名数据网络架构中Data格式的数据,生成目标目录文件;
根据所述第一目录文件的格式和所述第一目录文件的分辨率,采用第一预设命名规范对所述目标目录文件进行命名,并将所述目标目录文件存入数据库。
可选地,所述第一预设命名规范包括:
<应用名字>/live/<uuid>/<分辨率>-m3u8/<version>/<segment>;
其中,应用名字为Data格式的目标目录文件的名字,live为直播,uuid为通用唯一识别码,分辨率为目标目录文件的分辨率,m3u8为文件后缀名,version为视频版本号,<segment>为目标目录文件块号。
可选地,所述将所述数据结构转换为命名数据网络传输格式的数据的步骤还包括:
以预设周期扫描文件夹中的所述第一视频内容文件;
获取所述第一视频内容文件的格式以及所述第一视频内容文件的分辨率,并将所述第一视频内容文件的格式转换为命名数据网络架构中Data格式的数据,生成目标视频内容文件;
根据所述第一视频内容文件的格式和所述第一视频内容的分辨率,采用第二预设命名规范对所述目标视频内容文件进行命名,并将所述目标视频内容文件存入数据库。
可选地,所述第二预设命名规范包括:
<应用名字>/live/<uuid>/<文件编号>-<分辨率>.ts/<version>/<segment>;
其中,应用名字为Data格式的目标视频内容的名字,live为直播,uuid为通用唯一识别码,分辨率为目标视频内容的分辨率,.ts为文件后缀名,version为视频版本号,<segment>为目标视频内容文件块号。
可选地,所述根据预设拉流协议,请求所述命名数据网络传输格式的数据的步骤包括:
将预设拉流协议转换为命名数据网络架构拉流协议,并根据所述命名数据网络架构拉流协议请求所述命名数据网络传输格式的数据。
为实现上述目的,本发明还提供一种视频直播架构,其特征在于,所述视频直播架构应用于上述的视频直播方法,所述视频直播架构包括:
视频采集装置,用于采集直播视频,根据预设推流协议将所述直播视频上传至流媒体服务器;
流媒体服务器,用于将所述直播视频转换为与预设拉流协议相对应的数据结构,并将所述数据结构转换为命名数据网络传输格式的数据;
视频接收装置,用于根据预设拉流协议,请求所述命名数据网络传输格式的数据,并进行播放。
此外,为实现上述目的,本发明还提供一种视频直播***,所述视频直播***包括视频直播架构以及存储器、处理器及存储在所述存储器上并可在所述处理器上运行的视频直播程序,所述视频直播程序被所述处理器执行时实现如上所述的视频直播方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有视频直播程序,所述视频直播程序被处理器执行时实现如上所述的视频直播方法的步骤。
本发明提出一种视频直播方法、架构、***和计算机可读存储介质,所述视频直播方法包括:采集直播视频,将所述直播视频以预设推流协议上传至流媒体服务器;控制所述流媒体服务器将所述直播视频转换为与预设拉流协议相对应的数据结构,并将所述数据结构转换为命名数据网络传输格式的数据;根据预设拉流协议,请求所述命名数据网络传输格式的数据,并进行播放。通过上述方式,本发明能够通过转换技术实现视频直播在命名数据网络架构上的播放,同时可以利用命名数据网络的优势实现对直播视频进行分发传输,也可以利用TCP/ip与命名数据网络架构之间的协议转换,实现现有的直播***与命名数据网络架构之间的兼容,节省了基于命名数据网络架构的直播***开发,节省了人力物力。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明视频直播架构的结构示意图;
图3为本发明视频直播方法第一实施例的流程示意图;
图4为本发明视频直播方法第二实施例的流程示意图;
图5为本发明视频直播方法第三实施例的流程示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端为视频直播***,也可以是安装有视频直播***的智能手机、平板电脑、便携计算机等具有触控功能的可移动式终端设备。
如图1所示,该终端可以包括:处理器1001,例如CPU,通信总线1002,用户接口1003,DVI接口1004,USB接口1005,存储器1006。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。DVI接口1004可选的可以包括标准的有线接口,通过DVI线与其他外部设备连接。USB接口1005可选的可以包括标准的有线接口,通过USB连接线与其他外部设备连接。存储器1006可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1006可选的还可以是独立于前述处理器1001的存储装置。
可选地,终端还可以包括音频电路等等,在此不再赘述。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1006中可以包括操作***、DVI接口模块、USB接口模块、用户接口模块以及视频直播程序。
在图1所示的终端中,DVI接口1004主要用于连接外部设备,与外部设备进行数据通信;USB接口1005主要用于连接外部设备,与外部设备进行数据通信;用户接口1003主要用于连接客户端,与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的视频直播程序,并执行以下操作:
采集直播视频,根据预设推流协议将所述直播视频上传至流媒体服务器;
控制所述流媒体服务器将所述直播视频转换为与预设拉流协议相对应的数据结构,并将所述数据结构转换为命名数据网络传输格式的数据;
根据预设拉流协议,请求所述命名数据网络传输格式的数据,并进行播放。
进一步地,处理器1001可以调用存储器1006中存储的视频直播程序,还执行以下操作:
所述控制所述流媒体服务器将所述直播视频转换为与预设拉流协议相对应的数据结构的步骤包括:
控制所述流媒体服务器接收所述直播视频,并将所述预设推流协议转换为预设拉流协议;
根据所述直播视频和所述拉流协议,生成与所述拉流协议相对应的预设格式的目录文件以及视频内容文件。
进一步地,处理器1001可以调用存储器1006中存储的视频直播程序,还执行以下操作:
以预设周期扫描文件夹中的所述第一目录文件;
获取所述第一目录文件的格式以及所述第一目录文件的分辨率,并将所述第一目录文件的格式转换为命名数据网络架构中Data格式的数据,生成目标目录文件;
根据所述第一目录文件的格式和所述第一目录文件的分辨率,采用第一预设命名规范对所述目标目录文件进行命名,并将所述目标目录文件存入数据库。
进一步地,处理器1001可以调用存储器1006中存储的视频直播程序,还执行以下操作:
所述第一预设命名规范包括:
<应用名字>/live/<uuid>/<分辨率>-m3u8/<version>/<segment>;
其中,应用名字为Data格式的目标目录文件的名字,live为直播,uuid为通用唯一识别码,分辨率为目标目录文件的分辨率,m3u8为文件后缀名,version为视频版本号,<segment>为目标目录文件块号。
进一步地,处理器1001可以调用存储器1006中存储的视频直播程序,还执行以下操作:
以预设周期扫描文件夹中的所述第一视频内容文件;
获取所述第一视频内容文件的格式以及所述第一视频内容文件的分辨率,并将所述第一视频内容文件的格式转换为命名数据网络架构中Data格式的数据,生成目标视频内容文件;
根据所述第一视频内容文件的格式和所述第一视频内容的分辨率,采用第二预设命名规范对所述目标视频内容文件进行命名,并将所述目标视频内容文件存入数据库。
进一步地,处理器1001可以调用存储器1006中存储的视频直播程序,还执行以下操作:
所述第二预设命名规范包括:
<应用名字>/live/<uuid>/<文件编号>-<分辨率>.ts/<version>/<segment>;
其中,应用名字为Data格式的目标视频内容的名字,live为直播,uuid为通用唯一识别码,分辨率为目标视频内容的分辨率,.ts为文件后缀名,version为视频版本号,<segment>为目标视频内容文件块号。
进一步地,处理器1001可以调用存储器1006中存储的视频直播程序,还执行以下操作:
所述根据预设拉流协议,请求所述命名数据网络传输格式的数据的步骤包括:
将预设拉流协议转换为命名数据网络架构拉流协议,并根据所述命名数据网络架构拉流协议请求所述命名数据网络传输格式的数据。
基于上述硬件结构,提出本发明视频直播***的各个实施例。
请参阅图2,图2为本发明视频直播架构的结构示意图,所述视频直播架构包括:视频采集装置01、流媒体服务器02以及视频接收装置03;其中,视频采集装置01用于采集直播视频,将所述直播视频以预设推流协议上传至流媒体服务器02,需要说明的是,所述视频采集装置01可以是装有摄像装置的手机、平板或者电脑等移动设备,所述视频采集装置01是基于TCP/ip架构的设备。流媒体服务器02用于将所述直播视频转换为与预设拉流协议相对应的数据结构,并将所述数据结构转换为命名数据网络传输格式的数据,需要说明的是,流媒体服务器02是一种视音频编码设备,代表软件包括sewise流媒体直播服务器软件以及Mader Video Broadcast,本发明中还可以采用其他流媒体服务器02,本发明在此不作限制。直播接收装置,用于根据预设拉流协议,请求所述命名数据网络传输格式的数据,并进行播放,需要说明的是,所述视频接收装置03可以是装载有直播应用的手机、平板或者电脑等移动终端,所述视频接收装置03可以是基于命名数据网络架构的设备,需要说明的是,在视频直播架构中的数据流向方向为视频采集装置01到流媒体服务器02,再到视频接收装置03,且视频采集装置01、流媒体服务器02以及视频接收装置03之间通过网络连接。
在本实施例中,通过上述架构,本发明能够通过命名数据网络实现对现有支持TCP/ip架构的直播***的兼容,通过命名数据网络架构增强了直播过程中的安全性以及可靠性,节省了开发成本。
参照图3,本发明提供一种视频直播方法,在视频直播***的视频直播方法的第一实施例中,视频直播方法包括以下步骤:
步骤S10,采集直播视频,根据预设推流协议将所述直播视频上传至流媒体服务器;
在本实施例中,可通过设置有摄像装置的手机、平板或者电脑采集直播视频,本发明在此不作限制。所述预设推流协议为基于TCP/ip架构的RTMP协议,RTMP(real timemessaging protocol,实时消息传输协议),为adobe公司为flash播放器和流媒体服务器之间的音频、视频、数据传输开发的开放协议,低延迟稳定性比较好。所述流媒体服务器可以选择ngnix服务端,本发明在此不作限制。
具体的,在本实施例中,在进行推流时,可分别采集直播视频和直播音频,并分别将视频和音频压缩后,再分别编码,形成音频和视频结合的文件,再根据推流协议以及推流地址定位推流目标,再进行推流到推流目标对应的服务器中,推流即将直播内容推送至服务器的过程。
步骤S20,控制所述流媒体服务器将所述直播视频转换为与预设拉流协议相对应的数据结构,并将所述数据结构转换为命名数据网络传输格式的数据;
在本实施例中,所述步骤S20包括:
步骤A21,控制所述流媒体服务器接收所述直播视频,并将所述预设推流协议转换为预设拉流协议;
步骤A22,根据所述直播视频和所述拉流协议,生成与所述拉流协议相对应的预设格式的目录文件以及视频内容文件。
在本实施例中,拉流协议为HLS协议(HTTP Live Streaming,基于HTTP的自适应码率流媒体传输协议)或者Dash拉流协议(基于HTTP的动态自适应流,Dynamic AdaptiveStreaming over HTTP)。所述预设格式的目录文件为后缀为.m3u8的目录文件,所述预设格式的视频内容文件为后缀为.ts的视频内容文件。另外,在生成目录文件以及视频内容文件之后,将目录文件和视频内容文件存储至文件夹,以方便后续扫描调用。
在本实施例中,可通过对实时接收的RTMP直播流进行解复用,得到音视频数据;对音视频数据按HLS协议的时间戳重新打包与封装,得到满足HLS协议的切片;再根据切片生成m3u8文件以及.ts文件。
在步骤A22之后,执行步骤S30,
步骤S30,根据预设拉流协议,请求所述命名数据网络传输格式的数据,并进行播放。
在本实施例中,所述步骤S30,还包括:
步骤A31,将预设拉流协议转换为命名数据网络架构拉流协议,并根据所述命名数据网络架构拉流协议请求所述命名数据网络传输格式的数据。
在本实施例中,所述预设拉流协议为HLS协议或者Dash协议,所述命名数据网络架构为HLS-NDN协议或者Dash-NDN协议,HLS-NDN协议或者Dash-NDN协议可用于通过TCP/ip网络架构请求命名数据网络架构上的视频数据,实现两种架构之间的数据读取。
本发明提出一种视频直播方法,所述视频直播方法包括:采集直播视频,将所述直播视频以预设推流协议上传至流媒体服务器;控制所述流媒体服务器将所述直播视频转换为与预设拉流协议相对应的数据结构,并将所述数据结构转换为命名数据网络传输格式的数据;根据预设拉流协议,请求所述命名数据网络传输格式的数据,并进行播放。通过上述方式,本发明能够通过转换技术实现视频直播在命名数据网络架构上的播放,同时可以利用命名数据网络的优势实现对直播视频进行分发传输,也可以利用TCP/ip与命名数据网络架构之间的协议转换,实现现有的直播***与命名数据网络架构之间的兼容,节省了基于命名数据网络架构的直播***开发,节省了人力物力。
进一步的,参阅图4,本发明视频直播方法第二实施例提供一种视频直播方法,基于上述图3所示的实施例,所述将所述数据结构转换为命名数据网络传输格式的数据的步骤包括:
步骤S23,以预设周期扫描文件夹中的所述第一目录文件;
在本实施例中,预设周期可以为0.01ms、0.02ms或者0.03ms,本领域技术人员可根据需要设置不同的扫描周期,以满足文件夹的实时扫描,具体的扫描周期,本发明在此不作限制。
步骤S24,获取所述第一目录文件的格式以及所述第一目录文件的分辨率,并将所述第一目录文件的格式转换为命名数据网络架构中Data格式的数据,生成目标目录文件;
在本实施例中,所述目录文件的分辨率包括480p和720p。在命名数据网络架构中,Data格式为一种专门针对于命名数据网络架构的特定传输格式,将目录文件转换成Data格式,能够生成目标目录文件,并能够被基于TCP/ip的拉流协议在命名数据网络能够获取得到目标目录文件。
步骤S25,根据所述第一目录文件的格式和所述第一目录文件的分辨率,采用第一预设命名规范对所述目标目录文件进行命名,并将所述目标目录文件存入数据库。
所述数据库为MongoDB数据库,是一个基于分布式文件存储的数据库,它的特点是高性能、易部署、易使用,存储数据非常方便。
在本实施例中,所述第一预设命名规范以下述格式表示:
<应用名字>/live/<uuid>/<分辨率>-m3u8/<version>/<segment>;
其中,应用名字为Data格式的目标目录文件的名字,live为直播,uuid为通用唯一识别码,分辨率为目标目录文件的分辨率,m3u8为文件后缀名, version为视频版本号,<segment>为目标目录文件块号。例如,/pcnl/live/b3f719449b8b11eca9db0242c0a8c002/22-1080p.ts/v=5/seg=1,其中,pcnl则为目标目录文件的名字,live为直播,b3f719449b8b11eca9db0242c0a8c002为通用唯一识别码,22-1080p.ts为目标目录文件的分辨率,v=5为视频版本号,seg=1为目标目录文件块号。在本实施例中,通过第一预设命名规范使得目标目录文件可以使用数据名称而不是TCP/ip架构中的IP地址来传输数据,从而使数据本身而不是它的容器(网络连接)成为网络层中的核心成员。
在本实施例中,通过以预设周期扫描文件夹;获取所述目录文件的格式以及所述目录文件的分辨率,并将所述目录文件的格式转换为命名数据网络架构中Data格式的数据,生成目标目录文件;采用第一预设命名规范对所述目标目录文件进行命名,并将所述目标目录文件存入数据库。使得在进行拉流时,可以通过TCP/ip架构中的HLS协议在命名数据网络架构中运行以及进行数据服务。
进一步的,参阅图5,本发明视频直播方法第三实施例提供一种视频直播方法,基于上述图3所示的实施例,所述将所述数据结构转换为命名数据网络传输格式的数据的步骤还包括:
步骤S26,以预设周期扫描文件夹中的所述第一视频内容文件;
步骤S27,获取所述第一视频内容文件的格式以及所述第一视频内容文件的分辨率,并将所述第一视频内容文件的格式转换为命名数据网络架构中Data格式的数据,生成目标视频内容文件;
步骤S28,根据所述第一视频内容文件的格式和所述第一视频内容的分辨率,采用第二预设命名规范对所述目标视频内容文件进行命名,并将所述目标视频内容文件存入数据库。
在本实施例中,所述第二预设命名规范以下述格式表示:
<应用名字>/live/<uuid>/<文件编号>-<分辨率>.ts/<version>/<segment>;
其中,应用名字为Data格式的目标视频内容的名字,live为直播,uuid为通用唯一识别码,分辨率为目标视频内容的分辨率,.ts为文件后缀名,version为视频版本号,<segment>为目标视频内容文件块号。
在本实施例中,具体叙述请参阅上述实施例二,在此不作赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有视频直播程序,所述视频直播程序被处理器执行时实现如下操作:
采集直播视频,根据预设推流协议将所述直播视频上传至流媒体服务器;
控制所述流媒体服务器将所述直播视频转换为与预设拉流协议相对应的数据结构,并将所述数据结构转换为命名数据网络传输格式的数据;
根据预设拉流协议,请求所述命名数据网络传输格式的数据,并进行播放。
进一步地,所述视频直播程序被处理器执行时还实现如下操作:
所述数据结构包括第一目录文件和第一视频内容文件;
所述控制所述流媒体服务器将所述直播视频转换为与预设拉流协议相对应的数据结构的步骤包括:
控制所述流媒体服务器接收所述直播视频,并将所述预设推流协议转换为预设拉流协议;
根据所述直播视频和所述拉流协议,生成与所述拉流协议相对应的预设格式的目录文件以及视频内容文件。
进一步地,所述视频直播程序被处理器执行时还实现如下操作:
所述将所述数据结构转换为命名数据网络传输格式的数据的步骤包括:
以预设周期扫描文件夹中的所述第一目录文件;
获取所述第一目录文件的格式以及所述第一目录文件的分辨率,并将所述第一目录文件的格式转换为命名数据网络架构中Data格式的数据,生成目标目录文件;
根据所述第一目录文件的格式和所述第一目录文件的分辨率,采用第一预设命名规范对所述目标目录文件进行命名,并将所述目标目录文件存入数据库。
进一步地,所述视频直播程序被处理器执行时还实现如下操作:
所述第一预设命名规范包括:
<应用名字>/live/<uuid>/<分辨率>-m3u8/<version>/<segment>;
其中,应用名字为Data格式的目标目录文件的名字,live为直播,uuid为通用唯一识别码,分辨率为目标目录文件的分辨率,m3u8为文件后缀名,version为视频版本号,<segment>为目标目录文件块号。
进一步地,所述视频直播程序被处理器执行时还实现如下操作:
所述将所述数据结构转换为命名数据网络传输格式的数据的步骤还包括:
以预设周期扫描文件夹中的所述第一视频内容文件;
获取所述第一视频内容文件的格式以及所述第一视频内容文件的分辨率,并将所述第一视频内容文件的格式转换为命名数据网络架构中Data格式的数据,生成目标视频内容文件;
根据所述第一视频内容文件的格式和所述第一视频内容的分辨率,采用第二预设命名规范对所述目标视频内容文件进行命名,并将所述目标视频内容文件存入数据库。
进一步地,所述视频直播程序被处理器执行时还实现如下操作:
所述第二预设命名规范包括:
<应用名字>/live/<uuid>/<文件编号>-<分辨率>.ts/<version>/<segment>;
其中,应用名字为Data格式的目标视频内容的名字,live为直播,uuid为通用唯一识别码,分辨率为目标视频内容的分辨率,.ts为文件后缀名,version为视频版本号,<segment>为目标视频内容文件块号。
进一步地,所述视频直播程序被处理器执行时还实现如下操作:
所述根据预设拉流协议,请求所述命名数据网络传输格式的数据的步骤包括:
将预设拉流协议转换为命名数据网络架构拉流协议,并根据所述命名数据网络架构拉流协议请求所述命名数据网络传输格式的数据。
本发明计算机可读存储介质的具体实施例与上述视频直播方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种视频直播方法,其特征在于,所述视频直播方法包括步骤:
采集直播视频,根据预设推流协议将所述直播视频上传至流媒体服务器;
控制所述流媒体服务器将所述直播视频转换为与预设拉流协议相对应的数据结构,并将所述数据结构转换为命名数据网络传输格式的数据,其中,所述数据结构包括第一目录文件以及第一视频内容文件;
根据预设拉流协议,请求所述命名数据网络传输格式的数据,并进行播放;
所述将所述数据结构转换为命名数据网络传输格式的数据的步骤包括:
以预设周期扫描文件夹中的所述第一目录文件;
获取所述第一目录文件的格式以及所述第一目录文件的分辨率,并将所述第一目录文件的格式转换为命名数据网络架构中Data格式的数据,生成目标目录文件;
根据所述第一目录文件的格式和所述第一目录文件的分辨率,采用第一预设命名规范对所述目标目录文件进行命名,并将所述目标目录文件存入数据库;
所述将所述数据结构转换为命名数据网络传输格式的数据的步骤还包括:
以预设周期扫描文件夹中的所述第一视频内容文件;
获取所述第一视频内容文件的格式以及所述第一视频内容文件的分辨率,并将所述第一视频内容文件的格式转换为命名数据网络架构中Data格式的数据,生成目标视频内容文件;
根据所述第一视频内容文件的格式和所述第一视频内容的分辨率,采用第二预设命名规范对所述目标视频内容文件进行命名,并将所述目标视频内容文件存入数据库;
所述第一预设命名规范包括:
<应用名字>/live/<uuid>/<分辨率>-m3u8/<version>/<segment>;
其中,应用名字为Data格式的目标目录文件的名字,live为直播,uuid为通用唯一识别码,分辨率为目标目录文件的分辨率,m3u8为文件后缀名,version为视频版本号,<segment>为目标目录文件块号;
所述第二预设命名规范包括:
<应用名字>/live/<uuid>/<文件编号>-<分辨率>.ts/<version>/<segment>;
其中,应用名字为Data格式的目标视频内容的名字,live为直播,uuid为通用唯一识别码,分辨率为目标视频内容的分辨率,.ts为文件后缀名,version为视频版本号,<segment>为目标视频内容文件块号。
2.如权利要求1所述的视频直播方法,其特征在于,所述控制所述流媒体服务器将所述直播视频转换为与预设拉流协议相对应的数据结构的步骤包括:
控制所述流媒体服务器接收所述直播视频,并将所述预设推流协议转换为预设拉流协议;
根据所述直播视频和所述拉流协议,生成与所述拉流协议相对应的预设格式的第一目录文件以及第一视频内容文件。
3.如权利要求1所述的视频直播方法,其特征在于,所述根据预设拉流协议,请求所述命名数据网络传输格式的数据的步骤包括:
将预设拉流协议转换为命名数据网络架构拉流协议,并根据所述命名数据网络架构拉流协议请求所述命名数据网络传输格式的数据。
4.一种视频直播设备,其特征在于,所述视频直播设备应用于权利要求1-3中任一项所述的视频直播方法,所述视频直播设备包括:
视频采集装置,用于采集直播视频,根据预设推流协议将所述直播视频上传至流媒体服务器;
流媒体服务器,用于将所述直播视频转换为与预设拉流协议相对应的数据结构,并将所述数据结构转换为命名数据网络传输格式的数据;
视频接收装置,用于根据预设拉流协议,请求所述命名数据网络传输格式的数据,并进行播放。
5.一种视频直播***,其特征在于,所述视频直播***包括视频直播设备以及存储器、处理器及存储在所述存储器上并可在所述处理器上运行的视频直播程序,所述视频直播程序被所述处理器执行时实现如权利要求1至3中任一项所述的视频直播方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有视频直播程序,所述视频直播程序被处理器执行时实现如权利要求1至3中任一项所述的视频直播方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210358188.1A CN114501068B (zh) | 2022-04-07 | 2022-04-07 | 视频直播方法、架构、***及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210358188.1A CN114501068B (zh) | 2022-04-07 | 2022-04-07 | 视频直播方法、架构、***及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114501068A CN114501068A (zh) | 2022-05-13 |
CN114501068B true CN114501068B (zh) | 2022-07-29 |
Family
ID=81488261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210358188.1A Active CN114501068B (zh) | 2022-04-07 | 2022-04-07 | 视频直播方法、架构、***及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114501068B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115150632B (zh) * | 2022-06-30 | 2023-12-05 | 鹏城实验室 | 一种基于命名数据网络的低延时视频直播方法及*** |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107634935B (zh) * | 2017-08-11 | 2020-04-21 | 北京大学深圳研究生院 | 一种ndn和ip融合网络的内容管控方法、装置及存储介质 |
CN109756758B (zh) * | 2017-11-01 | 2021-01-01 | 腾讯科技(深圳)有限公司 | 直播控制方法及装置 |
CN108124166B (zh) * | 2017-12-27 | 2020-02-18 | 北京工业大学 | 一种互联网直播*** |
CN110191304B (zh) * | 2019-04-18 | 2021-06-29 | 视联动力信息技术股份有限公司 | 数据处理方法、装置及存储介质 |
CN110505300A (zh) * | 2019-08-23 | 2019-11-26 | 中山大学 | 一种ip网络与命名数据网络混合的新型链式代理方法 |
CN111064972A (zh) * | 2019-11-28 | 2020-04-24 | 湖北工业大学 | 一种基于ipv9的视频直播控制方法 |
-
2022
- 2022-04-07 CN CN202210358188.1A patent/CN114501068B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114501068A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7773977B2 (en) | Data-sharing system and data-sharing method | |
CN100366088C (zh) | 移动终端接收多媒体内容的***和方法及装置 | |
CN103533460A (zh) | 一种分享电视业务的方法、装置、终端及*** | |
US20110131623A1 (en) | System for providing mobile contents using settop box on iptv network and method thereof | |
CN111240620A (zh) | 智能终端投屏处理方法及装置、计算机设备、介质 | |
KR20070008644A (ko) | 백업 시스템 및 백업 방법 | |
CN104601715A (zh) | 一种基于二维码的文件共享方法、***及移动终端 | |
CN114501068B (zh) | 视频直播方法、架构、***及计算机可读存储介质 | |
JP2016521060A (ja) | 放送通信システムにおける付加情報を送信及び受信する方法及び装置 | |
CN113873279A (zh) | 视频数据解码方法、***和存储介质 | |
CN109120993B (zh) | 语音识别方法、智能终端、语音识别***及可读存储介质 | |
US8269815B2 (en) | Dynamic image distribution device and method thereof | |
US20110320571A1 (en) | Apparatus and method for live streaming between mobile communication terminals | |
CN113747183A (zh) | 一种直播视频分享方法、***及可读存储介质 | |
KR101305489B1 (ko) | Iptv 서비스에서의 음성 지원 서비스 방법 및 이를 이용한 시스템 | |
US8774599B2 (en) | Method for transcoding and playing back video files based on grid technology in devices having limited computing power | |
CN103905838A (zh) | 一种终端播放dvb业务的方法及其*** | |
CN111757187A (zh) | 多语言字幕显示方法、装置、终端设备及存储介质 | |
CN107566860B (zh) | 视频epg获取、播放方法、云平台服务器、电视机及*** | |
KR101406243B1 (ko) | 스트리밍 서비스 시스템 및 그 방법 | |
US20080133655A1 (en) | Network system | |
US9900644B2 (en) | Device and method for processing an object which provides additional service in connection with a broadcast service in a broadcast receiving device | |
CN113014848A (zh) | 视频通话方法、装置及计算机存储介质 | |
KR101189773B1 (ko) | 사용자 시청상황 정보를 적용한 스케일러블 애플리케이션 서비스 시스템 및 방법 | |
JP5322094B2 (ja) | クライアント制御型動画通信端末向けVoDシステム |
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 |