CN112073543A - 一种云视频录制方法、系统和可读存储介质 - Google Patents
一种云视频录制方法、系统和可读存储介质 Download PDFInfo
- Publication number
- CN112073543A CN112073543A CN202011274906.4A CN202011274906A CN112073543A CN 112073543 A CN112073543 A CN 112073543A CN 202011274906 A CN202011274906 A CN 202011274906A CN 112073543 A CN112073543 A CN 112073543A
- Authority
- CN
- China
- Prior art keywords
- data
- key frame
- video
- frame
- layout
- 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
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种云视频录制方法、系统和可读存储介质,其中方法包括:接收每个终端的编码视频数据,并进行存储;获取视频播放请求信息;根据视频播放请求信息,将存储的多个编码视频数据进行封装,得到媒体文件;将所述媒体文件发送至终端进行播放。本发明的技术方案能够解决生成的实时性问题、回放时的带宽问题、花屏问题、手机端横竖屏共享桌面等问题,还能够降低录制过程中的耗时操作,加快实时录制的生成效率。
Description
技术领域
本发明涉及视频数据处理领域,更具体的,涉及一种云视频录制方法、系统和可读存储介质。
背景技术
如今大数据网络信息时代,视频应用于生活的方方面面,远程视频运用于我们的日常聊天、远程教学、云会议等。云会议是基于云计算技术的一种高效、便捷、低成本的会议形式,可在世界各地使用多种终端方式如电话、手机、电脑、专用终端等通过共享音频、视频、终端桌面、文档、白板等进行远程沟通和远程协助。在众多复杂的云会议终端,每一个端的视频数据通过网络传输到云端服务器,云端服务器通过云计算技术把视频处理后转发给其他终端实现视频的相互共享。云视频的录制就是在云端设置专门的服务器录下各个用户传到云端的视频数据,并对数据进行必要的编解码转换处理,最后生成能正确播放的mp4、m3u8或flv等媒体格式文件,并通过回放技术提供给用户。
传统的视频录制,一种是在客户端录制然后上传到云端,供给用户回放和下载。一种是在云端录制原始的视频数据然后再在录完之后再通过工具把原始视频数据转换为可播放的媒体文件再提供给用户使用。云会议视频的录制是多个端无数个视频的同时录制,云会议视频的回放是同云会议音频、文档和白板同步播放的多个终端视频。为了满足用户的需求,云会议的录制需要会议结束后能及时提供给用户回放观看,所以云会议视频的录制是复杂的,但要求是高效的、实时的、准确的。传统的客户端录制方式做法简单但不自动化,不方便分享给其他参会人,并且需要耗费额外的上传带宽。云端录制可以消除客户端录制的弊端,但现有的技术需要一个耗时的二次处理过程才能完成,所以要想实时录制云会议视频,需要新的技术方案来优化生成的效率。
发明内容
为了解决上述至少一个技术问题,本发明提出了一种云视频录制方法、系统和可读存储介质。
本发明第一方面提供了一种云视频录制方法,其特征在于,包括:
接收每个终端的编码视频数据,并进行存储;
获取视频播放请求信息;
根据视频播放请求信息,将存储的多个编码视频数据进行封装,得到媒体文件;
将所述媒体文件发送至终端进行播放。
本方案中,所述接收每个终端的编码视频数据,具体为:
获取每个终端发送的数据包;
获取每个数据包中的时间戳;
判断相等时间戳的数据包个数是否达到预设的数量阈值;
若达到,则进行组帧,将所述数据包合并为一帧数据。
本方案中,还包括:
对一帧数据进行分析,获取预设字段的数据;
判断所述预设字段的数据是否为关键帧;
若是,则在关键帧标志标记此一帧数据为关键帧数据;
若否,则在关键帧标志标记此一帧数据为非关键帧数据;
将数据参数、关键帧标志、时间戳、数据大小信息构造为第一数据包。
本方案中,还包括:
获取每个终端的编码视频数据的宽高值;
与上一个编码视频数据进行宽高值比较;
若不相等,则重置媒体文件的编码信息。
本方案中,还包括:
接收布局消息和布局配置信息;
根据所述布局消息和布局配置信息确定布局规则中窗口的参数信息;
根据所述窗口的参数信息选择每个窗口对应的分辨率的层数据;
将获取的每个窗口对应的分辨率的层数据按照布局规则进行合并,生成媒体文件。
本方案中,还包括:
判断预设条件中接收的编码视频数据是否包含关键帧数据;
若不包含,则发送关键帧请求信息;
判断是否在预设时间段内接收到关键帧数据;
若未接收到,则重发关键帧请求信息,直至接收到关键帧数据为止。
本发明第二方面提供了一种云视频录制系统,包括存储器和处理器,所述存储器中包括云视频录制方法程序,所述云视频录制方法程序被所述处理器执行时实现如下步骤:
接收每个终端的编码视频数据,并进行存储;
获取视频播放请求信息;
根据视频播放请求信息,将存储的多个编码视频数据进行封装,得到媒体文件;
将所述媒体文件发送至终端进行播放。
本方案中,所述接收每个终端的编码视频数据,具体为:
获取每个终端发送的数据包;
获取每个数据包中的时间戳;
判断相等时间戳的数据包个数是否达到预设的数量阈值;
若达到,则进行组帧,将所述数据包合并为一帧数据。
本方案中,还包括:
对一帧数据进行分析,获取预设字段的数据;
判断所述预设字段的数据是否为关键帧;
若是,则在关键帧标志标记此一帧数据为关键帧数据;
若否,则在关键帧标志标记此一帧数据为非关键帧数据;
将数据参数、关键帧标志、时间戳、数据大小信息构造为第一数据包。
本方案中,还包括:
获取每个终端的编码视频数据的宽高值;
与上一个编码视频数据进行宽高值比较;
若不相等,则重置媒体文件的编码信息。
本方案中,还包括:
接收布局消息和布局配置信息;
根据所述布局消息和布局配置信息确定布局规则中窗口的参数信息;
根据所述窗口的参数信息选择每个窗口对应的分辨率的层数据;
将获取的每个窗口对应的分辨率的层数据按照布局规则进行合并,生成媒体文件。
本方案中,还包括:
判断预设条件中接收的编码视频数据是否包含关键帧数据;
若不包含,则发送关键帧请求信息;
判断是否在预设时间段内接收到关键帧数据;
若未接收到,则重发关键帧请求信息,直至接收到关键帧数据为止。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括一种云视频录制方法程序,所述云视频录制方法程序被处理器执行时,实现如上述任一项所述的一种云视频录制方法的步骤。
本发明公开的一种云视频录制方法、系统和可读存储介质,能够解决生成的实时性问题、回放时的带宽问题、花屏问题、手机端横竖屏共享桌面等问题,还能够降低录制过程中的耗时操作,加快实时录制的生成效率。
附图说明
图1示出了本发明一种云视频录制方法的流程图;
图2示出了本发明不同分辨率进行合并的流程图;
图3示出了本发明一种云视频录制系统的框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
图1示出了本发明一种云视频录制方法的流程图。
如图1所示,本发明公开了一种云视频录制方法,包括:
S102,接收每个终端的编码视频数据,并进行存储;
S104,获取视频播放请求信息;
S106,根据视频播放请求信息,将存储的多个编码视频数据进行封装,得到媒体文件;
S108,将所述媒体文件发送至终端进行播放。
需要说明的是,所述的每个终端为用户的手持终端,可以是手机或者其他的手持设备,当然也可以是电脑、笔记本等设备。以下简称每个终端为各端。
云会议过程中,视频数据在各端采集之后,编码成H264数据,把编码后的H264数据发往云端,云端服务器对视频数据进行必要的处理之后转发H264数据到各个参会人的客户端,各个端收到H264数据后直接显示。
在录制的生成流程中,在云端可以设置一录制服务器模拟一个用户端,使发往各个端的H264数据也发到录制服务器,录制服务器收到H264数据之后,把H264数据封装成MP4文件或其他可播放的媒体文件,存储到资源服务器中,待云会议结束后回放给用户。这样,这样耗时的视频编码操作分散的放在了每个共享视频的客户端,录制服务器不需要编解码,只是简单的将收到的H264进行封装,如此,降低录制过程中的耗时操作,加快实时录制的生成效率。
根据本发明实施例,所述接收每个终端的编码视频数据,具体为:
获取每个终端发送的数据包;
获取每个数据包中的时间戳;
判断相等时间戳的数据包个数是否达到预设的数量阈值;
若达到,则进行组帧,将所述数据包合并为一帧数据。
需要说明的是,每个终端发送编码视频数据,都是将视频数据拆分为多个数据包进行发送。一帧数据很大,网络传输单元很小,客户端采集完一帧画面之后,需要把一帧数据拆分成多个包进行网络传输。当录制服务器收到传输过来的包时,需要把每一个包还原成拆分前的一帧数据,这就是组帧。一帧的多个包在传输过程中有可能会导致包乱序,需要按每个包的序列号对帧进行排序处理。对于每一帧数据,对应有一个唯一的时间戳,当拆分成多个包之后,每个包的时间戳同帧的时间戳一样,组帧时具有相同时间戳的包被认为是一帧。合并完一帧数据之后,服务器便进行存储。
根据本发明实施例,还包括:
对一帧数据进行分析,获取预设字段的数据;
判断所述预设字段的数据是否为关键帧;
若是,则在关键帧标志标记此一帧数据为关键帧数据;
若否,则在关键帧标志标记此一帧数据为非关键帧数据;
将数据参数、关键帧标志、时间戳、数据大小信息构造为第一数据包。
需要说明的是,所述第一数据包可以为AVPacket包。AVPacket包是FFMPEG库定义的结构体, 是可播放媒体文件的组成单元。FFMPEG是音视频常用的开源的编解码库。正常情况下,AVPacket包是通过编码得到的。为了提升录制生成的效率,本发明录制的是H264流,省去了编码环节,所以需要手动构造AVPacket包。
构造AVPacket包的关键点,一个是数据参数,一个是关键帧标志,另外还有PTS、数据大小信息等。AVPacket的数据参数对应视频的一帧数据,即需要用户终端传送上来服务器组帧之后的一帧H264画面数据为其赋值,还有数据的大小也需要设置给AVPacket。本发明中对一帧数据进行分析,获取预设字段的数据;判断所述预设字段的数据是否为关键帧;若是,则在关键帧标志标记此一帧数据为关键帧数据;若否,则在关键帧标志标记此一帧数据为非关键帧数据。值得说明的是,这一帧数据是否为关键帧是由客户端传过来时记录在数据中的,当录制服务器得到完整的这一帧数据之后解析出约定的字段,按约定标识进行判断,是关键帧则给AVPacket包设置为关键帧,否则为非关键帧。PTS是播放时这个AVPacket需要展示的时间点,准确的说是这一帧H264数据相对于这个可播放媒体文件的第一个数据偏移的时间点,这个偏移量以服务器收到这帧数据的服务器毫秒时间同这帧数据在客户端产生时写入数据中的采集时间进行相互矫正计算得到,然后把这个计算后的PTS值设置为AVPacket的展示时间戳PTS和解码时间戳DTS。这样AVPacket的关键信息设置完成,就可以作为一个完整的数据单元封装到如MP4、HLS等可播放的媒体数据文件中。
根据本发明实施例,还包括:
获取每个终端的编码视频数据的宽高值;
与上一个编码视频数据进行宽高值比较;
若不相等,则重置媒体文件的编码信息。
需要说明的是,在云会议过程中,桌面跟视频一样,也是一种H264流,不同的是桌面的数据源是用户共享的自己电脑或者手机屏幕。桌面的录制也是按视频H264流进行录制的,但桌面有一个突出特点,那就是桌面的分辨率容易变化,如共享电脑桌面的时候更改桌面分辨率,共享手机屏幕的时候可以随时进行横竖屏切换。在录制这种情形下的会议,可以采用以下的方法,能在回放的时候准确的呈现桌面。
宽高检查。桌面在传输每个数据的时候,需要把桌面的分辨率,即宽高值放在数据头部某个约定的位置。录制服务器收到桌面数据,解析数据中的宽高,并保存起来。当下一个数据过来的时候,和上一个数据的宽高进行对比,一旦发现宽高变化,则重置要生成的可播放媒体文件的流中的编码信息。录制H264流对录制服务器来说本来是不需要编码的,因为H264流本身就是编码之后的数据,对于编码过的数据自然有自己的编码信息,这些编码信息是在创建这个可播放媒体文件流的时候设置进去的,这个信息包含着这个桌面的分辨率,所以要想要改变已创建的流的信息,需要对这个流的编码信息进行重置,即需要销毁之前流中的编码器,以新的参数创建新的编码器,然后再把新的编码器关联到已创建的媒体文件流中。所以在桌面分辨率发生变化时,需要检查宽高的变化,并以新的宽高对流中的编码器做编码信息重置处理。
根据本发明实施例,还包括:
接收布局消息和布局配置信息;
根据所述布局消息和布局配置信息确定布局规则中窗口的参数信息;
根据所述窗口的参数信息选择每个窗口对应的分辨率的层数据;
将获取的每个窗口对应的分辨率的层数据按照布局规则进行合并,生成媒体文件。
需要说明的是,每个用户终端在进行会议录制时,可以发送多种分辨率的层数据信息,服务器接收到多个分辨率的层信息之后进行存储,然后根据选择的布局消息和布局配置信息进行选择。所述的布局消息为用户终端选择的布局规则的信息,可以为预设布局规则的编号,或者是其他布局规则的信息。
图2示出了本发明不同分辨率进行合并的流程图。
如图2所示,在全时云会议过程中,一屏可能是1路的大视频布局,可能是2路3路的中视频布局,也可能25路的小视频布局。这些视频共享到各个用户客户端,每个用户可以在客户端选择自己重点想看的视频,即可以更改自己所看到的视频布局。为了使用户随时变换布局并在布局中不同窗口显示不同分辨率,需要共享视频的客户端编码多个分辨率数据传输到云端然后再按各个用户不同的显示布局分发适合其布局的视频数据。录制服务器相对于一个特殊的虚拟的用户端,在云会议过程中没有布局变化,但录制回放需要布局,需要接收并记录主持人或者主讲人的布局,并改善所记录的布局以满足回放时用户的视觉需求。所以对复杂布局中视频的录制需要接收所有分辨率的源数据,然后通过录制过程中自适应布局去主动选择自己所需的视频分辨率。
视频的分层录制流程。首先在服务器配置所有定义过的布局,按名字和布局格式配置布局中每个小窗口需要接受的分辨率大小,例如avg-2*2的布局配置为 {"position":"absolute","items": [{"id": "1","size": "big"},{"id": "2","size": "mid"},{"id": "3","size": "big"},{"id": "4","size": "small"}]},big表示需要大分辨率,mid表示需要中分辨率,small表示需要小分辨率。录制过程中接收记录主持人布局,接收记录由客户端指定录制的视频列表,按布局消息给的信息把视频对应到布局中的每个位置,按每个视频的位置根据配置获取该视频对应的视频层,即此布局窗口位置适用的分辨率。
确定好布局及其布局中每个窗口的分辨率之后,接收视频所有层数据,按视频布局位置筛选视频层数据,把数据写入事先初始化并创建好的媒体文件。接收数据的同时监控布局的变化,当布局发生变化,立刻调整视频的布局位置并重新计算其对应的视频层,按新变化的布局在接收数据时进行调整选择新的视频层数据然后继续写入媒体文件。
切换点处理。在布局变化重新选视频层的时候,由于要录制的视频分辨率发生了变化,此时,在写入媒体播放文件的这个切换点,如果写的是这个新分辨率层的普通视频帧的话播放媒体文件时会出现花屏或者其他异常情况,所以切换点必须以关键帧写入。所以需要做两个事情,一是客户端采集数据时,在布局变化时刻需要发送关键帧。其次是录制服务器在切换点需要等关键帧。由于布局变化的随机性和网络数据的无序性,录制服务在等关键帧的时候可能会和关键帧错过,这个时候需要进行如下处理:从切换视频层的时刻开始,对新切的视频层的每一帧数据进行判断,如果是关键帧则从此关键帧开始往后的数据都选择使用该层的数据,如果不是关键帧,则仍然使用原视频层的数据,直到等到新切的层的关键帧到来或者新的布局变化为此。在视频层数据选择的过程中,用到的层的数据选择录制,不用的层的数据直接丢弃。
分层录制的意义。按布局分层录制,是对视频录制的一个优化。从用户角度来看满足了用户的观看需求,并为用户节省了回放观看时的网络带宽。如对一屏显示25路视频的布局,如果不按分辨率进行分层录制而只按固定的分辨率进行录制,如为了满足可能的各种布局变化,需要固定较高分辨率1280X720,而25个布局位置,本来选用分辨率为320x240就可正常显示了,但选用了1280X720就会使录制的存储和用户带宽大大增加。1280X720的一帧数据大小是320*240的10倍以上,录制下来本来1G的文件可能就高达10G,用户回放时候带宽也是按10倍增长。如果为节省存储资源和用户带宽,固定选用320x240的 视频数据,则在布局变化成大窗口显示的时候,视频播放出来是模糊的。并且在可变布局情况下选择低分辨率的视频数据进行录制,还能让整个数据处理过程变的更快,提高服务性能,加快实时录制进程。
根据本发明实施例,还包括:
判断预设条件中接收的编码视频数据是否包含关键帧数据;
若不包含,则发送关键帧请求信息;
判断是否在预设时间段内接收到关键帧数据;
若未接收到,则重发关键帧请求信息,直至接收到关键帧数据为止。
需要说明的是,所述预设条件可以是本领域技术人员根据实际需要设置的,例如,可以是在接收到第N个编码视频数据时,也可以是在接收到第一个编码视频数据后的某个时长内,又或者是在接收到某个关键帧数据之后的某个时长内,没有接收到关键帧数据。若在所述的预设条件内未检测到编码视频数据是否包含关键帧数据,则进行关键帧请求。
关于关键帧的问题,可能会遇到这样的情况。在云会议录制过程中,录制的开启是由用户在解码操作按钮来控制的。没开启录制的时候可能视频数据就已经产生,但因为没有开启录制,所以录制服务器是不接收这些数据的,当开启录制的时候,服务器才开始接收数据,而视频关键帧可能在此刻之前就已经产生过了,这个时候就错过了关键帧,即当前接收到的都是非关键帧。在生成视频的时候如果第一帧不是关键帧,则播放是会花屏的,所以需要对此种情况进行处理。对于帧率较高的视频来说,如1秒钟15帧的视频,可能1秒、2秒或3秒之后下一个关键帧就来了,所以对这种情况,需要进行非关键帧丢弃处理,就是遇到关键帧之前的数据全都丢掉不要,忽略掉这几秒的画面,真正的视频录制从收到关键帧开始。因为时间短,这样做用户是无感知,效果上是能接收的。
还有一种情况,就是对客户端屏幕桌面的录制。在云会议过程中,桌面展示的一般都是关键性数据,由于桌面的帧的大小较大,为避免消耗传输中的资源,所以帧率设置的较小,关键帧的出现没视频那么频繁,即一个桌面关键帧与下一个桌面关键帧的时间间隔会比较长,能达到几十秒或者更长的时间。并且云会议中的桌面共享展示都是会中的关键信息、重要数据,所以到遇到录制的第一个数据不是关键帧的时候除了做丢弃处理外,还要立即向客户端发起关键帧请求。客户端会在每次产生关键帧之后保存最新的关键帧等待需要的请求者,当收到服务器的请求之后客户端会给录制服务器发送这个这个关键帧。这样保证了录制都是从关键帧开始,也保障数据不至于丢弃太多。
除了录制的第一个数据可能不是关键帧的情况外,在数据传输的过程中,也可能会出现传输丢失的情况。其他数据丢失不要紧,但关键帧是不能让其丢失的。所以除了第一个关键帧的检查处理外,还需要对传输过程中导致的关键帧丢失做可靠性保障。所以在传输过程中一旦发现有关键帧丢失,一样的需要向客户端发起关键帧请求。
在发起关键帧请求的时候,不只是发起,还需要保证发起之后能成功收到关键帧。所以要在发起请求之后等待接收数据的过程中,设立定时器定时检查,请求的关键帧是否已经成功收到。设置超时时间,如果在超时时间之内请求的关键帧还没有收到则需要继续请求。如此录制之后才能正确的回放出完整的桌面。
图3示出了本发明一种云视频录制系统框图。
如图3所示,本发明第二方面提供了一种云视频录制系统3,包括存储器31和处理器32,所述存储器中包括云视频录制方法程序,所述云视频录制方法程序被所述处理器执行时实现如下步骤:
接收每个终端的编码视频数据,并进行存储;
获取视频播放请求信息;
根据视频播放请求信息,将存储的多个编码视频数据进行封装,得到媒体文件;
将所述媒体文件发送至终端进行播放。
需要说明的是,所述的每个终端为用户的手持终端,可以是手机或者其他的手持设备,当然也可以是电脑、笔记本等设备。以下简称每个终端为各端。
云会议过程中,视频数据在各端采集之后,编码成H264数据,把编码后的H264数据发往云端,云端服务器对视频数据进行必要的处理之后转发H264数据到各个参会人的客户端,各个端收到H264数据后直接显示。
在录制的生成流程中,在云端可以设置一录制服务器模拟一个用户端,使发往各个端的H264数据也发到录制服务器,录制服务器收到H264数据之后,把H264数据封装成MP4文件或其他可播放的媒体文件,存储到资源服务器中,待云会议结束后回放给用户。这样,这样耗时的视频编码操作分散的放在了每个共享视频的客户端,录制服务器不需要编解码,只是简单的将收到的H264进行封装,如此,降低录制过程中的耗时操作,加快实时录制的生成效率。
根据本发明实施例,所述接收每个终端的编码视频数据,具体为:
获取每个终端发送的数据包;
获取每个数据包中的时间戳;
判断相等时间戳的数据包个数是否达到预设的数量阈值;
若达到,则进行组帧,将所述数据包合并为一帧数据。
需要说明的是,每个终端发送编码视频数据,都是将视频数据拆分为多个数据包进行发送。一帧数据很大,网络传输单元很小,客户端采集完一帧画面之后,需要把一帧数据拆分成多个包进行网络传输。当录制服务器收到传输过来的包时,需要把每一个包还原成拆分前的一帧数据,这就是组帧。一帧的多个包在传输过程中有可能会导致包乱序,需要按每个包的序列号对帧进行排序处理。对于每一帧数据,对应有一个唯一的时间戳,当拆分成多个包之后,每个包的时间戳同帧的时间戳一样,组帧时具有相同时间戳的包被认为是一帧。合并完一帧数据之后,服务器便进行存储。
根据本发明实施例,还包括:
对一帧数据进行分析,获取预设字段的数据;
判断所述预设字段的数据是否为关键帧;
若是,则在关键帧标志标记此一帧数据为关键帧数据;
若否,则在关键帧标志标记此一帧数据为非关键帧数据;
将数据参数、关键帧标志、时间戳、数据大小信息构造为第一数据包。
需要说明的是,所述第一数据包可以为AVPacket包。AVPacket包是FFMPEG库定义的结构体, 是可播放媒体文件的组成单元。FFMPEG是音视频常用的开源的编解码库。正常情况下,AVPacket包是通过编码得到的。为了提升录制生成的效率,本发明录制的是H264流,省去了编码环节,所以需要手动构造AVPacket包。
构造AVPacket包的关键点,一个是数据参数,一个是关键帧标志,另外还有PTS、数据大小信息等。AVPacket的数据参数对应视频的一帧数据,即需要用户终端传送上来服务器组帧之后的一帧H264画面数据为其赋值,还有数据的大小也需要设置给AVPacket。本发明中对一帧数据进行分析,获取预设字段的数据;判断所述预设字段的数据是否为关键帧;若是,则在关键帧标志标记此一帧数据为关键帧数据;若否,则在关键帧标志标记此一帧数据为非关键帧数据。值得说明的是,这一帧数据是否为关键帧是由客户端传过来时记录在数据中的,当录制服务器得到完整的这一帧数据之后解析出约定的字段,按约定标识进行判断,是关键帧则给AVPacket包设置为关键帧,否则为非关键帧。PTS是播放时这个AVPacket需要展示的时间点,准确的说是这一帧H264数据相对于这个可播放媒体文件的第一个数据偏移的时间点,这个偏移量以服务器收到这帧数据的服务器毫秒时间同这帧数据在客户端产生时写入数据中的采集时间进行相互矫正计算得到,然后把这个计算后的PTS值设置为AVPacket的展示时间戳PTS和解码时间戳DTS。这样AVPacket的关键信息设置完成,就可以作为一个完整的数据单元封装到如MP4、HLS等可播放的媒体数据文件中。
根据本发明实施例,还包括:
获取每个终端的编码视频数据的宽高值;
与上一个编码视频数据进行宽高值比较;
若不相等,则重置媒体文件的编码信息。
需要说明的是,在云会议过程中,桌面跟视频一样,也是一种H264流,不同的是桌面的数据源是用户共享的自己电脑或者手机屏幕。桌面的录制也是按视频H264流进行录制的,但桌面有一个突出特点,那就是桌面的分辨率容易变化,如共享电脑桌面的时候更改桌面分辨率,共享手机屏幕的时候可以随时进行横竖屏切换。在录制这种情形下的会议,可以采用以下的方法,能在回放的时候准确的呈现桌面。
宽高检查。桌面在传输每个数据的时候,需要把桌面的分辨率,即宽高值放在数据头部某个约定的位置。录制服务器收到桌面数据,解析数据中的宽高,并保存起来。当下一个数据过来的时候,和上一个数据的宽高进行对比,一旦发现宽高变化,则重置要生成的可播放媒体文件的流中的编码信息。录制H264流对录制服务器来说本来是不需要编码的,因为H264流本身就是编码之后的数据,对于编码过的数据自然有自己的编码信息,这些编码信息是在创建这个可播放媒体文件流的时候设置进去的,这个信息包含着这个桌面的分辨率,所以要想要改变已创建的流的信息,需要对这个流的编码信息进行重置,即需要销毁之前流中的编码器,以新的参数创建新的编码器,然后再把新的编码器关联到已创建的媒体文件流中。所以在桌面分辨率发生变化时,需要检查宽高的变化,并以新的宽高对流中的编码器做编码信息重置处理。
根据本发明实施例,还包括:
接收布局消息和布局配置信息;
根据所述布局消息和布局配置信息确定布局规则中窗口的参数信息;
根据所述窗口的参数信息选择每个窗口对应的分辨率的层数据;
将获取的每个窗口对应的分辨率的层数据按照布局规则进行合并,生成媒体文件。
需要说明的是,每个用户终端在进行会议录制时,可以发送多种分辨率的层数据信息,服务器接收到多个分辨率的层信息之后进行存储,然后根据选择的布局消息和布局配置信息进行选择。所述的布局消息为用户终端选择的布局规则的信息,可以为预设布局规则的编号,或者是其他布局规则的信息。
图2示出了本发明不同分辨率进行合并的流程图。
如图2所示,在全时云会议过程中,一屏可能是1路的大视频布局,可能是2路3路的中视频布局,也可能25路的小视频布局。这些视频共享到各个用户客户端,每个用户可以在客户端选择自己重点想看的视频,即可以更改自己所看到的视频布局。为了使用户随时变换布局并在布局中不同窗口显示不同分辨率,需要共享视频的客户端编码多个分辨率数据传输到云端然后再按各个用户不同的显示布局分发适合其布局的视频数据。录制服务器相对于一个特殊的虚拟的用户端,在云会议过程中没有布局变化,但录制回放需要布局,需要接收并记录主持人或者主讲人的布局,并改善所记录的布局以满足回放时用户的视觉需求。所以对复杂布局中视频的录制需要接收所有分辨率的源数据,然后通过录制过程中自适应布局去主动选择自己所需的视频分辨率。
视频的分层录制流程。首先在服务器配置所有定义过的布局,按名字和布局格式配置布局中每个小窗口需要接受的分辨率大小,例如avg-2*2的布局配置为 {"position":"absolute","items": [{"id": "1","size": "big"},{"id": "2","size": "mid"},{"id": "3","size": "big"},{"id": "4","size": "small"}]},big表示需要大分辨率,mid表示需要中分辨率,small表示需要小分辨率。录制过程中接收记录主持人布局,接收记录由客户端指定录制的视频列表,按布局消息给的信息把视频对应到布局中的每个位置,按每个视频的位置根据配置获取该视频对应的视频层,即此布局窗口位置适用的分辨率。
确定好布局及其布局中每个窗口的分辨率之后,接收视频所有层数据,按视频布局位置筛选视频层数据,把数据写入事先初始化并创建好的媒体文件。接收数据的同时监控布局的变化,当布局发生变化,立刻调整视频的布局位置并重新计算其对应的视频层,按新变化的布局在接收数据时进行调整选择新的视频层数据然后继续写入媒体文件。
切换点处理。在布局变化重新选视频层的时候,由于要录制的视频分辨率发生了变化,此时,在写入媒体播放文件的这个切换点,如果写的是这个新分辨率层的普通视频帧的话播放媒体文件时会出现花屏或者其他异常情况,所以切换点必须以关键帧写入。所以需要做两个事情,一是客户端采集数据时,在布局变化时刻需要发送关键帧。其次是录制服务器在切换点需要等关键帧。由于布局变化的随机性和网络数据的无序性,录制服务在等关键帧的时候可能会和关键帧错过,这个时候需要进行如下处理:从切换视频层的时刻开始,对新切的视频层的每一帧数据进行判断,如果是关键帧则从此关键帧开始往后的数据都选择使用该层的数据,如果不是关键帧,则仍然使用原视频层的数据,直到等到新切的层的关键帧到来或者新的布局变化为此。在视频层数据选择的过程中,用到的层的数据选择录制,不用的层的数据直接丢弃。
分层录制的意义。按布局分层录制,是对视频录制的一个优化。从用户角度来看满足了用户的观看需求,并为用户节省了回放观看时的网络带宽。如对一屏显示25路视频的布局,如果不按分辨率进行分层录制而只按固定的分辨率进行录制,如为了满足可能的各种布局变化,需要固定较高分辨率1280X720,而25个布局位置,本来选用分辨率为320x240就可正常显示了,但选用了1280X720就会使录制的存储和用户带宽大大增加。1280X720的一帧数据大小是320*240的10倍以上,录制下来本来1G的文件可能就高达10G,用户回放时候带宽也是按10倍增长。如果为节省存储资源和用户带宽,固定选用320x240的 视频数据,则在布局变化成大窗口显示的时候,视频播放出来是模糊的。并且在可变布局情况下选择低分辨率的视频数据进行录制,还能让整个数据处理过程变的更快,提高服务性能,加快实时录制进程。
根据本发明实施例,还包括:
判断预设条件中接收的编码视频数据是否包含关键帧数据;
若不包含,则发送关键帧请求信息;
判断是否在预设时间段内接收到关键帧数据;
若未接收到,则重发关键帧请求信息,直至接收到关键帧数据为止。
需要说明的是,所述预设条件可以是本领域技术人员根据实际需要设置的,例如,可以是在接收到第N个编码视频数据时,也可以是在接收到第一个编码视频数据后的某个时长内,又或者是在接收到某个关键帧数据之后的某个时长内,没有接收到关键帧数据。若在所述的预设条件内未检测到编码视频数据是否包含关键帧数据,则进行关键帧请求。
关于关键帧的问题,可能会遇到这样的情况。在云会议录制过程中,录制的开启是由用户在解码操作按钮来控制的。没开启录制的时候可能视频数据就已经产生,但因为没有开启录制,所以录制服务器是不接收这些数据的,当开启录制的时候,服务器才开始接收数据,而视频关键帧可能在此刻之前就已经产生过了,这个时候就错过了关键帧,即当前接收到的都是非关键帧。在生成视频的时候如果第一帧不是关键帧,则播放是会花屏的,所以需要对此种情况进行处理。对于帧率较高的视频来说,如1秒钟15帧的视频,可能1秒、2秒或3秒之后下一个关键帧就来了,所以对这种情况,需要进行非关键帧丢弃处理,就是遇到关键帧之前的数据全都丢掉不要,忽略掉这几秒的画面,真正的视频录制从收到关键帧开始。因为时间短,这样做用户是无感知,效果上是能接收的。
还有一种情况,就是对客户端屏幕桌面的录制。在云会议过程中,桌面展示的一般都是关键性数据,由于桌面的帧的大小较大,为避免消耗传输中的资源,所以帧率设置的较小,关键帧的出现没视频那么频繁,即一个桌面关键帧与下一个桌面关键帧的时间间隔会比较长,能达到几十秒或者更长的时间。并且云会议中的桌面共享展示都是会中的关键信息、重要数据,所以到遇到录制的第一个数据不是关键帧的时候除了做丢弃处理外,还要立即向客户端发起关键帧请求。客户端会在每次产生关键帧之后保存最新的关键帧等待需要的请求者,当收到服务器的请求之后客户端会给录制服务器发送这个这个关键帧。这样保证了录制都是从关键帧开始,也保障数据不至于丢弃太多。
除了录制的第一个数据可能不是关键帧的情况外,在数据传输的过程中,也可能会出现传输丢失的情况。其他数据丢失不要紧,但关键帧是不能让其丢失的。所以除了第一个关键帧的检查处理外,还需要对传输过程中导致的关键帧丢失做可靠性保障。所以在传输过程中一旦发现有关键帧丢失,一样的需要向客户端发起关键帧请求。
在发起关键帧请求的时候,不只是发起,还需要保证发起之后能成功收到关键帧。所以要在发起请求之后等待接收数据的过程中,设立定时器定时检查,请求的关键帧是否已经成功收到。设置超时时间,如果在超时时间之内请求的关键帧还没有收到则需要继续请求。如此录制之后才能正确的回放出完整的桌面。
本发明第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中包括一种云视频录制方法程序,所述云视频录制方法程序被处理器执行时,实现如上述任一项所述的一种云视频录制方法的步骤。
本发明公开的一种云视频录制方法、系统和可读存储介质,能够解决生成的实时性问题、回放时的带宽问题、花屏问题、手机端横竖屏共享桌面等问题,还能够降低录制过程中的耗时操作,加快实时录制的生成效率。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (9)
1.一种云视频录制方法,其特征在于,包括:
接收每个终端的编码视频数据,并进行存储;
获取视频播放请求信息;
根据视频播放请求信息,将存储的多个编码视频数据进行封装,得到媒体文件;
将所述媒体文件发送至终端进行播放;
所述接收每个终端的编码视频数据,具体为:
获取每个终端发送的数据包;
获取每个数据包中的时间戳;
判断相等时间戳的数据包个数是否达到预设的数量阈值;
若达到,则进行组帧,将所述数据包合并为一帧数据。
2.根据权利要求1所述的一种云视频录制方法,其特征在于,还包括:
对一帧数据进行分析,获取预设字段的数据;
判断所述预设字段的数据是否为关键帧;
若是,则在关键帧标志标记此一帧数据为关键帧数据;
若否,则在关键帧标志标记此一帧数据为非关键帧数据;
将数据参数、关键帧标志、时间戳、数据大小信息构造为第一数据包。
3.根据权利要求1所述的一种云视频录制方法,其特征在于,还包括:
获取每个终端的编码视频数据的宽高值;
与上一个编码视频数据进行宽高值比较;
若不相等,则重置媒体文件的编码信息。
4.根据权利要求1所述的一种云视频录制方法,其特征在于,还包括:
接收布局消息和布局配置信息;
根据所述布局消息和布局配置信息确定布局规则中窗口的参数信息;
根据所述窗口的参数信息选择每个窗口对应的分辨率的层数据;
将获取的每个窗口对应的分辨率的层数据按照布局规则进行合并,生成媒体文件。
5.根据权利要求1所述的一种云视频录制方法,其特征在于,还包括:
判断预设条件中接收的编码视频数据是否包含关键帧数据;
若不包含,则发送关键帧请求信息;
判断是否在预设时间段内接收到关键帧数据;
若未接收到,则重发关键帧请求信息,直至接收到关键帧数据为止。
6.一种云视频录制系统,其特征在于,包括存储器和处理器,所述存储器中包括云视频录制方法程序,所述云视频录制方法程序被所述处理器执行时实现如下步骤:
接收每个终端的编码视频数据,并进行存储;
获取视频播放请求信息;
根据视频播放请求信息,将存储的多个编码视频数据进行封装,得到媒体文件;
将所述媒体文件发送至终端进行播放。
7.根据权利要求6所述的一种云视频录制系统,其特征在于,所述接收每个终端的编码视频数据,具体为:
获取每个终端发送的数据包;
获取每个数据包中的时间戳;
判断相等时间戳的数据包个数是否达到预设的数量阈值;
若达到,则进行组帧,将所述数据包合并为一帧数据。
8.根据权利要求7所述的一种云视频录制系统,其特征在于,还包括:
对一帧数据进行分析,获取预设字段的数据;
判断所述预设字段的数据是否为关键帧;
若是,则在关键帧标志标记此一帧数据为关键帧数据;
若否,则在关键帧标志标记此一帧数据为非关键帧数据;
将数据参数、关键帧标志、时间戳、数据大小信息构造为第一数据包。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括一种云视频录制方法程序,所述云视频录制方法程序被处理器执行时,实现如权利要求1至5中任一项所述的一种云视频录制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011274906.4A CN112073543B (zh) | 2020-11-16 | 2020-11-16 | 一种云视频录制方法、系统和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011274906.4A CN112073543B (zh) | 2020-11-16 | 2020-11-16 | 一种云视频录制方法、系统和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112073543A true CN112073543A (zh) | 2020-12-11 |
CN112073543B CN112073543B (zh) | 2021-02-02 |
Family
ID=73655903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011274906.4A Active CN112073543B (zh) | 2020-11-16 | 2020-11-16 | 一种云视频录制方法、系统和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112073543B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112929686A (zh) * | 2021-02-04 | 2021-06-08 | 北京华宇信息技术有限公司 | 线上实时回放录制视频的方法及装置 |
CN112995698A (zh) * | 2021-05-19 | 2021-06-18 | 浙江华创视讯科技有限公司 | 一种视频播放方法、客户端、服务平台及智能会议系统 |
CN114511116A (zh) * | 2022-02-11 | 2022-05-17 | 国能信控互联技术有限公司 | 新能源场站远程运维安全防护设备及运维方法 |
CN115002558A (zh) * | 2022-05-18 | 2022-09-02 | 武汉斗鱼鱼乐网络科技有限公司 | 一种直播过程中的音视频录制方法及相关设备 |
CN115243092A (zh) * | 2022-07-01 | 2022-10-25 | 网易(杭州)网络有限公司 | 视频播放方法、装置及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102821308A (zh) * | 2012-06-04 | 2012-12-12 | 西安交通大学 | 一种多场景流媒体课件录制与直播方法 |
US20150036807A1 (en) * | 2013-08-02 | 2015-02-05 | Hope Bay Technology Corporation | Methods and Systems for Remotely Recording and Managing Associated Recorded Files & Electronic Devices |
CN104967904A (zh) * | 2014-04-10 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 终端视频录制回放的方法及装置 |
CN107370734A (zh) * | 2017-07-18 | 2017-11-21 | 安徽和信科技发展有限责任公司 | 基于集中化云平台的云视频监控系统 |
CN108810449A (zh) * | 2018-07-06 | 2018-11-13 | 合肥明高软件技术有限公司 | 一种应用于基层党建的远程云视频服务系统和服务方法 |
CN108965986A (zh) * | 2017-12-29 | 2018-12-07 | 北京视联动力国际信息技术有限公司 | 一种视频录播方法、装置及系统 |
CN109151399A (zh) * | 2018-10-25 | 2019-01-04 | 广东医博荟健康管理有限公司 | 一种基于用户行为的云视频健康监管方法及系统 |
CN109361886A (zh) * | 2018-10-24 | 2019-02-19 | 杭州叙简科技股份有限公司 | 一种基于声音检测的会议录像标注系统 |
CN111131881A (zh) * | 2019-12-30 | 2020-05-08 | 深圳Tcl数字技术有限公司 | Pvr录制方法、智能电视及计算机可读存储介质 |
-
2020
- 2020-11-16 CN CN202011274906.4A patent/CN112073543B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102821308A (zh) * | 2012-06-04 | 2012-12-12 | 西安交通大学 | 一种多场景流媒体课件录制与直播方法 |
US20150036807A1 (en) * | 2013-08-02 | 2015-02-05 | Hope Bay Technology Corporation | Methods and Systems for Remotely Recording and Managing Associated Recorded Files & Electronic Devices |
CN104967904A (zh) * | 2014-04-10 | 2015-10-07 | 腾讯科技(深圳)有限公司 | 终端视频录制回放的方法及装置 |
CN107370734A (zh) * | 2017-07-18 | 2017-11-21 | 安徽和信科技发展有限责任公司 | 基于集中化云平台的云视频监控系统 |
CN108965986A (zh) * | 2017-12-29 | 2018-12-07 | 北京视联动力国际信息技术有限公司 | 一种视频录播方法、装置及系统 |
CN108810449A (zh) * | 2018-07-06 | 2018-11-13 | 合肥明高软件技术有限公司 | 一种应用于基层党建的远程云视频服务系统和服务方法 |
CN109361886A (zh) * | 2018-10-24 | 2019-02-19 | 杭州叙简科技股份有限公司 | 一种基于声音检测的会议录像标注系统 |
CN109151399A (zh) * | 2018-10-25 | 2019-01-04 | 广东医博荟健康管理有限公司 | 一种基于用户行为的云视频健康监管方法及系统 |
CN111131881A (zh) * | 2019-12-30 | 2020-05-08 | 深圳Tcl数字技术有限公司 | Pvr录制方法、智能电视及计算机可读存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112929686A (zh) * | 2021-02-04 | 2021-06-08 | 北京华宇信息技术有限公司 | 线上实时回放录制视频的方法及装置 |
CN112929686B (zh) * | 2021-02-04 | 2022-12-20 | 北京华宇信息技术有限公司 | 线上实时回放录制视频的方法及装置 |
CN112995698A (zh) * | 2021-05-19 | 2021-06-18 | 浙江华创视讯科技有限公司 | 一种视频播放方法、客户端、服务平台及智能会议系统 |
CN114511116A (zh) * | 2022-02-11 | 2022-05-17 | 国能信控互联技术有限公司 | 新能源场站远程运维安全防护设备及运维方法 |
CN115002558A (zh) * | 2022-05-18 | 2022-09-02 | 武汉斗鱼鱼乐网络科技有限公司 | 一种直播过程中的音视频录制方法及相关设备 |
CN115243092A (zh) * | 2022-07-01 | 2022-10-25 | 网易(杭州)网络有限公司 | 视频播放方法、装置及存储介质 |
CN115243092B (zh) * | 2022-07-01 | 2024-02-23 | 网易(杭州)网络有限公司 | 视频播放方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112073543B (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112073543B (zh) | 一种云视频录制方法、系统和可读存储介质 | |
KR102280134B1 (ko) | 비디오 재생 방법, 장치 및 시스템 | |
CN113423018B (zh) | 一种游戏数据处理方法、装置及存储介质 | |
EP2940940B1 (en) | Methods for sending and receiving video short message, apparatus and handheld electronic device thereof | |
EP3038367A1 (en) | Streaming encoded video data | |
EP3095247B1 (en) | Robust live operation of dash | |
CN107370714A (zh) | 面向云渲染的高效通讯方法 | |
CN112019877A (zh) | 基于vr设备的投屏方法、装置、设备及存储介质 | |
CN112954433B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN114546308B (zh) | 应用界面投屏方法、装置、设备以及存储介质 | |
KR20120011969A (ko) | Rtsp 세션에 기초해 스트리밍 데이터를 송수신하는 방법 및 장치 | |
CN104243920A (zh) | 一种基于基本流视频数据封装的图像拼接方法及装置 | |
CN112291498B (zh) | 音视频数据传输的方法、装置和存储介质 | |
CN113891175B (zh) | 直播推流方法、装置及系统 | |
CN111726657A (zh) | 直播视频的播放处理方法、装置及服务器 | |
CN104685873A (zh) | 编码控制设备以及编码控制方法 | |
US20230045876A1 (en) | Video Playing Method, Apparatus, and System, and Computer Storage Medium | |
WO2020215454A1 (zh) | 一种屏幕录制的方法、客户端和终端设备 | |
WO2020242443A1 (en) | Protocol conversion of a video stream | |
CN109756744B (zh) | 数据处理方法、电子设备及计算机存储介质 | |
WO2023015974A1 (zh) | 云桌面会议共享方法、服务器和计算机可读存储介质 | |
CN110996122B (zh) | 视频帧传输方法、装置、计算机设备及存储介质 | |
CN114554277B (zh) | 多媒体的处理方法、装置、服务器及计算机可读存储介质 | |
TW201138464A (en) | Network device, information processing apparatus, stream switching method, information processing method, program, and content distribution system | |
CN111447458A (zh) | 基于内容解说的直播系统、方法、装置和直播服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 100010 room 203-35, 2 / F, building 2, No.1 and 3, Qinglong Hutong, Dongcheng District, Beijing Patentee after: G-NET CLOUD SERVICE Co.,Ltd. Address before: 100102 room 1102, 9th floor, Penghuan international building, building 4, yard 1, Shangdi East Road, Haidian District, Beijing Patentee before: G-NET CLOUD SERVICE Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |