CN107529069A - 一种视频流传输方法及装置 - Google Patents
一种视频流传输方法及装置 Download PDFInfo
- Publication number
- CN107529069A CN107529069A CN201610454729.5A CN201610454729A CN107529069A CN 107529069 A CN107529069 A CN 107529069A CN 201610454729 A CN201610454729 A CN 201610454729A CN 107529069 A CN107529069 A CN 107529069A
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- decoded information
- video flowing
- original image
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 230000005540 biological transmission Effects 0.000 title claims abstract description 76
- 230000008569 process Effects 0.000 claims abstract description 49
- 238000012545 processing Methods 0.000 claims description 11
- 239000003086 colorant Substances 0.000 claims description 3
- 239000002699 waste material Substances 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- 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/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/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供了一种视频流传输方法及装置,用以解决现有云终端系统传输的视频数据中通常每一帧都包含有与纯视频数据无关的冗余信息,进而造成网络传输资源浪费的问题。本发明的方法包括:对原始图像进行编码处理,得到视频流,其中,所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;将所述视频流发送给云终端。本发明实施例传输的视频流仅在解码信息帧中携带解码信息,而不是在视频流的每一帧中都携带解码信息,降低了对网络带宽的要求,解决了由于现有云终端系统传输的视频数据的每一帧都包含与纯视频数据无关的冗余信息,而造成网络传输资源浪费的问题。
Description
技术领域
本发明涉及云计算与通信应用的技术领域,特别是指一种视频流传输方法及装置。
背景技术
云计算是一种利用互联网实现随时随地、按需、便捷地访问共享资源池(如计算设施、存储设备、应用程序等)的计算模式,其出现也推动了“云终端”等智能终端领域的发展,云终端服务大幅度降低了用户尤其是大型企事业单位的建设维护成本,并且数据更加安全。
目前的云终端系统,主要由云服务器、云终端以及云终端里的媒体播放模块组成。运行流程是服务器以通用的视频格式发送视频数据到云终端,云终端通过媒体播放模块解码后进行显示。在此运行过程中云服务器并没有对发送的视频数据进行额外的编码与压缩方面的特殊处理,在云终端接收显示一方也没有针对性的处理特殊格式的视频以及与云服务器的交互。
目前已有的云终端系统,服务器发送的通用格式视频类型一般只有一种,且这种视频数据中通常每一帧都包含图像大小,采用的编码模式,宏块到片段组映射信息以及其他解码相关的信息(如mjpeg格式),即使是采用其他压缩比大的编码方式,视频数据帧中也会包含大量的图像大小,序列信息,解码参数信息等与纯视频数据无关的冗余信息。在这种情况下,不但造成云终端的使用受到了很大的限制且大大浪费了网络传输资源。
另外,服务器采用低压缩、低损耗方式发送视频,用户体验好,但在网络带宽较小的情况下云终端根本无法使用,会出现卡顿、花屏等现象;采用高压缩比方式发送视频,虽然能一定程度降低带宽要求,但降带宽效果有限,且影响用户体验,受限于视频压缩方式,即使网络状况好时也不能相应的提高视频质量,由上可知,服务器不能根据云终端的网络状态对视频质量进行调整,从而大大影响了用户的使用体验。
发明内容
本发明的目的在于提供一种视频流传输方法及装置,用以解决现有云终端系统传输的视频数据中通常每一帧都包含有与纯视频数据无关的冗余信息,进而造成网络传输资源浪费的问题。
为了实现上述目的,本发明提供了一种视频流传输方法,包括:
对原始图像进行编码处理,得到视频流,其中,所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;
将所述视频流发送给云终端。
其中,所述解码信息帧为即时解码刷新IDR帧,所述视频数据帧为前向预测编码P帧。
其中,所述对原始图像进行编码处理,得到视频流的步骤包括:
获取所述云终端发送的、用于表示所述云终端的网络拥塞状态的网络状态阈值;
根据所述网络状态阈值,确定图像编码格式;
根据确定的所述图像编码格式对所述原始图像进行编码处理,得到所述视频流。
其中,所述根据所述网络状态阈值,确定图像编码格式的步骤包括:
将所述网络状态阈值与预设数值范围进行比较;
若所述网络状态阈值高于或等于所述预设数值范围内的最大值,则确定所述原始图像进行编码的编码格式为第一颜色编码格式;
若所述网络状态阈值处于所述预设数值范围内,则确定对所述原始图像进行编码的编码格式为第二颜色编码格式,其中,采用所述第二颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小小于采用第一颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小;
若所述网络状态阈值低于或等于所述预设数值范围内的最小值,则确定对所述原始图像进行编码的编码格式为第三颜色编码格式,其中,采用所述第三颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小小于采用第二颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小。
其中,所述将所述视频流发送给云终端的步骤之后,所述视频流传输方法还包括:
获取所述云终端发送的解码信息帧重发指令后,向所述云终端重新发送所述解码信息帧,所述解码信息帧重发指令为所述云终端检测到对于所述视频流的播放进度的调整操作时发送的。
本发明的实施例还提供了一种视频流传输装置,包括:
编码模块,用于对原始图像进行编码处理,得到视频流,其中,所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;
第一发送模块,用于将所述视频流发送给云终端。
本发明的实施例还提供了一种视频流传输方法,包括:
获取云服务器发送的视频流,所述视频流为所述云服务器对原始图像进行编码处理后得到的,且所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;
根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流。
其中,所述根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流的步骤包括:
接收到所述解码信息帧后,根据所述解码信息帧对解码器进行初始化处理;
调用经初始化处理后的所述解码器对接收到的视频数据帧进行解码处理,得到所述待显示视频流。
其中,所述获取云服务器发送的视频流的步骤之前,所述视频流传输方法还包括:
向所述云服务器发送用于表示云终端的网络拥塞状态的网络状态阈值,使得所述云服务器根据所述网络状态阈值,确定图像编码格式,并根据确定所述图像编码格式对所述原始图像进行编码处理,得到所述视频流。
其中,所述根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流的步骤之后,所述视频流传输方法还包括:
获取所述云终端在所述视频数据帧进行解码处理过程中的网络传输状态信息;
根据所述网络传输状态信息对所述网络状态阈值进行调整,并将调整后的所述网络状态阈值发送给云服务器,使得所述云服务器根据调整后的所述网络状态阈值,重新确定图像编码格式,并根据重新确定的所述图像编码格式对所述原始图像进行编码处理,得到所述视频流。
其中,所述根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流的步骤之后,所述视频流传输方法还包括:
若检测到对于所述视频流的播放进度的调整操作,则向所述云服务器发送解码信息帧重发指令,使得所述云服务器根据所述解码信息帧重发指令重新发送解码信息帧。
本发明的实施例还提供了一种视频流传输装置,包括:
获取模块,用于获取云服务器发送的视频流,所述视频流为所述云服务器对原始图像进行编码处理后得到的,且所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;
解码模块,用于根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流。
本发明实施例具有以下有益效果:
本发明实施例的上述方案,对原始图像进行编码处理,得到视频流,其中,所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;将所述视频流发送给云终端。本发明实施例传输的视频流仅在解码信息帧中携带解码信息,而不是在视频流的每一帧中都携带解码信息,降低了对网络带宽的要求,解决了由于现有云终端系统传输的视频数据中通常每一帧都包含有与纯视频数据无关的冗余信息,而造成网络传输资源浪费的问题。
附图说明
图1为本发明实施例的视频流传输方法的第一工作流程图;
图2为本发明实施例的视频流传输方法的第二工作流程图;
图3为本发明实施例的视频流传输装置的第一结构框图;
图4为本发明实施例的视频流传输方法的第三工作流程图;
图5为本发明实施例云终端与云服务器的交互流程图;
图6为本发明实施例的视频流传输装置的第二结构框图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合具体实施例及附图进行详细描述。
本发明的实施例提供了一种视频流传输方法及装置,解决了现有云终端系统传输的视频数据中通常每一帧都包含有与纯视频数据无关的冗余信息,进而造成网络传输资源浪费的问题。
第一实施例:
如图1所示,本发明实施例的视频流传输方法,应用于云服务器,所述方法包括:
步骤11:对原始图像进行编码处理,得到视频流,其中,所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息。
这里,所述解码信息帧为即时解码刷新IDR帧,所述视频数据帧为前向预测编码P帧,优选的,本发明实施例中的视频流可包括一个IDR帧和多个P帧。
本发明实施例的云服务器在对原始图像进行编码并发送至云终端时,在第一帧发送IDR帧,该IDR帧携带有含图像大小、编码模式、映射信息以及其他解码相关的解码信息用于初始化解码器,后续所有的数据帧都发送P帧,由于P帧是基于前面的帧进行预测,且不需要图像大小、编码模式等信息,数据量很小,只有IDR帧的十分之一或几十分之一,在同等视频质量与采样格式下,大幅度降低了网络流量和带宽要求。
步骤12:将所述视频流发送给云终端。
这里,云服务器将上述视频流发送给云终端后,云终端根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流并进行显示。
具体的,上述步骤11可包括:步骤111:获取所述云终端发送的、用于表示所述云终端的网络拥塞状态的网络状态阈值。
步骤112:根据所述网络状态阈值,确定图像编码格式。
本步骤中,首先将所述网络状态阈值与预设数值范围进行比较;若所述网络状态阈值高于或等于所述预设数值范围内的最大值,则确定所述原始图像进行编码的编码格式为第一颜色编码格式,该第一颜色编码格式可具体为YUV444,YUV444为全采样格式,视频质量高且得到的视频数据大。
若所述网络状态阈值处于所述预设数值范围内,则确定对所述原始图像进行编码的编码格式为第二颜色编码格式,其中,采用所述第二颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小小于采用第一颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小,该第二颜色编码格式可具体为YUV422;
若所述网络状态阈值低于或等于所述预设数值范围内的最小值,则确定对所述原始图像进行编码的编码格式为第三颜色编码格式,其中,采用所述第三颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小小于采用第二颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小。该第三颜色编码格式可具体为YUV420,YUV420编码后得到的视频质量较低、数据量小。
步骤113:根据确定的所述图像编码格式对所述原始图像进行编码处理,得到所述视频流。
本发明实施例根据云终端的网络状态信息,采用不同的颜色编码格式对原始图像进行编码,进而可根据云终端的网络状态信息自动调整所发送视频的质量。
本发明实施例的视频流传输方法,对原始图像进行编码处理,得到视频流,其中,所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;将所述视频流发送给云终端。本发明实施例传输的视频流仅在解码信息帧中携带解码信息,而不是在视频流的每一帧中都携带解码信息,降低了对网络带宽的要求,解决了由于现有云终端系统传输的视频数据中通常每一帧都包含有与纯视频数据无关的冗余信息,而造成网络传输资源浪费的问题。
第二实施例:
如图2所示,本发明实施例的视频流传输方法,应用于云服务器,所述方法包括:
步骤21:对原始图像进行编码处理,得到视频流,其中,所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息。
此步骤与上述步骤11相同,此处不再赘述。
步骤22:将所述视频流发送给云终端。
此步骤与上述步骤12相同,此处不再赘述。
步骤23:获取所述云终端发送的解码信息帧重发指令后,向所述云终端重新发送所述解码信息帧,所述解码信息帧重发指令为所述云终端在所述视频流播放过程中,检测到对于所述视频流的播放进度的调整操作时发送的。
在本发明的具体实施例中,由于云终端系统的特殊应用场景,是利用云终端来访问云服务器上的虚拟机系统,如windows、linux等。这里,将云服务器发送过来的视频数据分为两种:一种是桌面视频流数据,即将windows或linux的整个桌面显示部分做为一种视频流发送给云终端;第二种是将windows或linux桌面系统中用播放器、浏览器或摄像头软件等其他视频显示软件打开的视频作为一种视频流,即普通视频流数据。
虚拟机系统桌面一旦打开,只要不关机就会一直存在,可以作为一个无快进、无拖动操作的连续桌面视频流,因此云服务器在编码并发送视频流至云终端时,只需在第一帧发送一帧IDR帧,包含图像大小、编码模式、映射信息以及其他解码相关的信息用于初始化解码器,后续所有的数据帧都发送P帧,因为P帧是基于前面的帧进行预测,且不需要图像大小、编码模式等信息,数据量很小,只有IDR帧的十分之一或几十分之一,在同等视频质量与采样格式下(YUV444、YUV422或YUV420),大幅度降低了网络流量和带宽要求。
对于云终端的普通视频流数据,每次同样只在第一帧发送一帧IDR数据,后续数据都发送P帧,只有在检测到播放进度条拖动以及快进等对于所述视频流的播放进度的调整操作时,才重新发送一帧IDR帧,接着继续发送P帧,在保证同等质量情况下,同样大幅度降低了网络流量和带宽。
第三实施例:
如图3所示,本发明的实施例还提供了一种视频流传输装置,应用于云服务器,包括:
编码模块31,用于对原始图像进行编码处理,得到视频流,其中,所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;
第一发送模块32,用于将所述视频流发送给云终端。
本发明实施例的视频流传输装置,所述解码信息帧为即时解码刷新IDR帧,所述视频数据帧为前向预测编码P帧。
本发明实施例的视频流传输装置,所述编码模块31包括:
获取子模块311,用于获取所述云终端发送的、用于表示所述云终端的网络拥塞状态的网络状态阈值;
确定子模块312,用于根据所述网络状态阈值,确定图像编码格式;
编码子模块313,用于根据确定的所述图像编码格式对所述原始图像进行编码处理,得到所述视频流。
本发明实施例的视频流传输装置,所述确定子模块312包括:
比较单元3121,用于将所述网络状态阈值与预设数值范围进行比较;
第一确定单元3122,用于若所述网络状态阈值高于或等于所述预设数值范围内的最大值,则确定所述原始图像进行编码的编码格式为第一颜色编码格式;
第二确定单元3123,用于若所述网络状态阈值处于所述预设数值范围内,则确定对所述原始图像进行编码的编码格式为第二颜色编码格式,其中,采用所述第二颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小小于采用第一颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小;
第三确定单元3124,用于若所述网络状态阈值低于或等于所述预设数值范围内的最小值,则确定对所述原始图像进行编码的编码格式为第三颜色编码格式,其中,采用所述第三颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小小于采用第二颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小。
本发明实施例的视频流传输装置,还包括:
第二发送模块33,用于获取所述云终端发送的解码信息帧重发指令后,向所述云终端重新发送所述解码信息帧,所述解码信息帧重发指令为所述云终端检测到对于所述视频流的播放进度的调整操作时发送的。
需要说明的是,该装置是与上述方法实施例对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
本发明实施例的视频流传输装置,对原始图像进行编码处理,得到视频流,其中,所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;将所述视频流发送给云终端。本发明实施例传输的视频流仅在解码信息帧中携带解码信息,而不是在视频流的每一帧中都携带解码信息,降低了对网络带宽的要求,解决了由于现有云终端系统传输的视频数据中通常每一帧都包含有与纯视频数据无关的冗余信息,而造成网络传输资源浪费的问题。
第四实施例:
如图4所示,本发明的实施例提供了一种视频流传输方法,应用于云终端,所述方法包括:
步骤41:获取云服务器发送的视频流,所述视频流为所述云服务器对原始图像进行编码处理后得到的,且所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息。
具体的,所述解码信息帧为即时解码刷新IDR帧,所述视频数据帧为前向预测编码P帧,优选的,视频流包括一个IDR帧和多个P帧,且该IDR帧为视频流的第一帧。
本发明实施例的云服务器在对原始图像进行编码并发送至云终端时,在第一帧发送IDR帧,该IDR帧携带有含图像大小、编码模式、映射信息以及其他解码相关的解码信息用于初始化解码器,后续所有的数据帧都发送P帧,由于P帧是基于前面的帧进行预测,且不需要图像大小、编码模式等信息,数据量很小,只有IDR帧的十分之一或几十分之一,在同等视频质量与采样格式下,大幅度降低了网络流量和带宽要求。
步骤42:根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流。
具体的,接收到所述解码信息帧后,根据所述解码信息帧对解码器进行初始化处理;调用经初始化处理后的所述解码器对接收到的视频数据帧进行解码处理,得到所述待显示视频流。
在本发明的具体实施例中,云终端可以采用图形处理器(Video process unit,VPU)或图形处理器(Graphic process unit,GPU)等硬件模块对视频流进行解码。因为硬件解码效率极高,进一步提高了云终端的本地处理效率,将终端本身硬件对系统操作性能的影响降到了最低,使得云终端系统的使用瓶颈基本只与网络带宽以及软件优化相关。
进一步地,本发明实施例中,在上述步骤41之前,还可包括:
向所述云服务器发送用于表示云终端的网络拥塞状态的网络状态阈值,使得所述云服务器根据所述网络状态阈值,确定图像编码格式,并根据确定所述图像编码格式对所述原始图像进行编码处理,得到所述视频流。
进一步地,本发明实施例中,根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流的步骤之后,所述视频流传输方法还包括:
获取所述云终端在所述视频数据帧进行解码处理过程中的网络传输状态信息,如流量与丢包率等信息;根据所述网络传输状态信息对所述网络状态阈值进行调整,并将调整后的所述网络状态阈值发送给云服务器,使得所述云服务器根据调整后的所述网络状态阈值,重新确定图像编码格式,并根据重新确定的所述图像编码格式对所述原始图像进行编码处理,得到所述视频流。
具体的,若上述流量与丢包率的变化值大于设定值,则相应地降低或提高网络状态阈值,服务器收到调整后的网络状态阈值后会调整视频格式并重新发送到云终端;否则,云终端调用视频显示程序,播放解码后的视频。
进一步地,本发明实施例中,根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流的步骤之后,所述视频流传输方法还包括:
若检测到对于所述视频流的播放进度的调整操作,则向所述云服务器发送解码信息帧重发指令,使得所述云服务器根据所述解码信息帧重发指令重新发送解码信息帧。
本发明实施例的视频流传输方法,获取云服务器发送的视频流,所述视频流为所述云服务器对原始图像进行编码处理后得到的,且所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流。本发明实施例传输的视频流仅在解码信息帧中携带解码信息,而不是在视频流的每一帧中都携带解码信息,降低了对网络带宽的要求,解决了由于现有云终端系统传输的视频数据中通常每一帧都包含有与纯视频数据无关的冗余信息,而造成网络传输资源浪费的问题。
第五实施例:
下面结合图5说明本发明实施例中云终端与云服务器的交互流程。
如图5所示,上述交互流程包括:
步骤51:云终端开机并预设置网络状态阈值。
其中,网络状态阈值反映云终端所在网络的拥塞情况。
步骤52:云终端向云服务器发起连接请求,并向云服务器发送预先设置的网络状态阈值。
步骤53:云服务器根据上述网络状态阈值调整发送的视频流的图像编码格式。
具体的,如果设置的网络状态阈值大于或等于最优网络状况默认值,表示云终端所在网络环境良好,云服务器采用YUV444格式对原始图像进行压缩编码并发送到云终端进行解码;如果网络状态阈值小于最差网络状默认值,表示云终端所在网络环境有一定程度的拥塞或带宽较低,服务器采用YUV420格式对原始图像进行压缩编码并发送到云终端进行解码;如果网络状态阈值在最差网络状默认值与最优网络状况默认值之间,服务器采用YUV422颜色编码格式对原始图像进行压缩编码并发送到云终端。
步骤54:云服务器根据上述图像编码格式对原始图像进行编码处理,得到视频流并发送给云终端,其中,视频流的第一帧为IDR帧,视频流的其余数据帧为P帧。
云服务器发送到云终端的视频数据分为两种:一种是桌面视频流数据,一种是普通视频流数据。对于桌面视频流数据,只在云终端开机连接到服务器上的虚拟机系统时,由服务器在第一帧发送一帧IDR数据,云终端创建一个桌面视频流对象,同时利用收到的IDR帧初始化解码器,服务器后续只发送桌面视频流的P帧,云终端接收P帧并调用解码器进行解码。对于普通视频流数据,服务器每次只在新打开一个视频时,在第一帧发送一帧IDR帧,云终端接收IDR帧初始化解码器,服务器后续发送普通视频流的P帧,云终端接收P帧并调用解码器进行解码,但如果在普通视频流的播放过程中,发生了进度条拖动或快进等操作,云终端会通知服务器重新发送一帧IDR帧,接着继续发送P帧。
步骤55:云终端判断所述视频流是否为桌面视频流。
步骤56:若所述视频流为桌面视频流,则创建桌面视频流对象,并接收一帧IDR帧及后续所有P帧。
步骤57:调用硬件解码器解码。
云终端可以采用图形处理器(Video process unit,VPU)或图形处理器(Graphic process unit,GPU)等硬件模块对视频流进行解码。因为硬件解码效率极高,进一步提高了云终端的本地处理效率,将终端本身硬件对系统操作性能的影响降到了最低,使得云终端系统的使用瓶颈基本只与网络带宽以及软件优化相关。
步骤58:云终端统计解码过程中的网络传输状体信息,所述网络传输状体信息包括:丢包率及流量。
本发明实施例中云终端调用解码器对视频流进行解码时,会实时统计系统的网络状态、流量与丢包率等网络传输状体信息。如果丢包率与网络流量的变化值大于设定值,云终端向服务器发送命令请求调整降低或提高视频流质量,服务器收到命令后会调整视频格式并重新发送到云终端;否则,云终端调用视频显示程序,播放解码后的视频。
步骤59:云终端判断丢包率及流量的变化值是否大于设定值。
步骤510:若丢包率及流量的变化值大于设定值,则对网络状态阈值进行调整,并将调整后的网络状态阈值发送给云服务器。
步骤511:若丢包率及流量的变化值小于或者等于设定值,则显示播放解码后的视频数据。
步骤512:若所述视频流不是桌面视频流,则创建普通视频流对象,并接收一帧IDR帧及后续所有P帧。
步骤513:调用硬件解码器解码。
步骤514:判断是否检测到播放进度条拖动操作,若检测到播放进度条拖动操作,则向所述云服务发送IDR帧重发指令,否则,跳到步骤58。
该播放进度条拖动操作可具体为向前拖动操作或倒退操作。
本发明实施例的视频流传输方法,在云终端显示桌面视频流与普通视频流时会实时的侦测并统计网络状况,动态的调整、切换颜色编码与采样方式,在网络状况好时能保证高质量的虚拟机操作以及视频播放服务,在网络状况不好时,又能降低带宽,保证系统的稳定运行。
第六实施例:
如图6所示,本发明的实施例还提供了一种视频流传输装置,应用于云终端,所述视频流传输装置包括:
获取模块61,用于获取云服务器发送的视频流,所述视频流为所述云服务器对原始图像进行编码处理后得到的,且所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;
解码模块62,用于根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流。
本发明实施例的视频流传输装置,所述解码模块62包括:
初始化子模块621,用于接收到所述解码信息帧后,根据所述解码信息帧对解码器进行初始化处理;
解码子模块622,用于调用经初始化处理后的所述解码器对接收到的视频数据帧进行解码处理,得到所述待显示视频流。
本发明实施例的视频流传输装置,还包括:
第三发送模块63,用于向所述云服务器发送用于表示云终端的网络拥塞状态的网络状态阈值,使得所述云服务器根据所述网络状态阈值,确定图像编码格式,并根据确定所述图像编码格式对所述原始图像进行编码处理,得到所述视频流。
本发明实施例的视频流传输装置,还包括:
获取模块64,用于获取所述云终端在所述视频数据帧进行解码处理过程中的网络传输状态信息;
调整模块65,用于根据所述网络传输状态信息对所述网络状态阈值进行调整,并将调整后的所述网络状态阈值发送给云服务器,使得所述云服务器根据调整后的所述网络状态阈值,重新确定图像编码格式,并根据重新确定的所述图像编码格式对所述原始图像进行编码处理,得到所述视频流。
本发明实施例的视频流传输装置,还包括:
第四发送模块66,用于若检测到对于所述视频流的播放进度的调整操作,则向所述云服务器发送解码信息帧重发指令,使得所述云服务器根据所述解码信息帧重发指令重新发送解码信息帧。
需要说明的是,该装置是与上述第四实施例的方法实施例对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
本发明实施例的视频流传输方法及装置,对原始图像进行编码处理,得到视频流,其中,所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;将所述视频流发送给云终端。本发明实施例传输的视频流仅在解码信息帧中携带解码信息,而不是在视频流的每一帧中都携带解码信息,降低了对网络带宽的要求,解决了由于现有云终端系统传输的视频数据中通常每一帧都包含与纯视频数据无关的冗余信息,而造成网络传输资源浪费的问题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种视频流传输方法,其特征在于,包括:
对原始图像进行编码处理,得到视频流,其中,所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;
将所述视频流发送给云终端。
2.根据权利要求1所述的视频流传输方法,其特征在于,所述解码信息帧为即时解码刷新IDR帧,所述视频数据帧为前向预测编码P帧。
3.根据权利要求1所述的视频流传输方法,其特征在于,所述对原始图像进行编码处理,得到视频流的步骤包括:
获取所述云终端发送的、用于表示所述云终端的网络拥塞状态的网络状态阈值;
根据所述网络状态阈值,确定图像编码格式;
根据确定的所述图像编码格式对所述原始图像进行编码处理,得到所述视频流。
4.根据权利要求3所述的视频流传输方法,其特征在于,所述根据所述网络状态阈值,确定图像编码格式的步骤包括:
将所述网络状态阈值与预设数值范围进行比较;
若所述网络状态阈值高于或等于所述预设数值范围内的最大值,则确定所述原始图像进行编码的编码格式为第一颜色编码格式;
若所述网络状态阈值处于所述预设数值范围内,则确定对所述原始图像进行编码的编码格式为第二颜色编码格式,其中,采用所述第二颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小小于采用第一颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小;
若所述网络状态阈值低于或等于所述预设数值范围内的最小值,则确定对所述原始图像进行编码的编码格式为第三颜色编码格式,其中,采用所述第三颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小小于采用第二颜色编码格式对所述原始图像进行编码处理后得到的视频流的大小。
5.根据权利要求1所述的视频流传输方法,其特征在于,所述将所述视频流发送给云终端的步骤之后,所述视频流传输方法还包括:
获取所述云终端发送的解码信息帧重发指令后,向所述云终端重新发送所述解码信息帧,所述解码信息帧重发指令为所述云终端检测到对于所述视频流的播放进度的调整操作时发送的。
6.一种视频流传输装置,其特征在于,包括:
编码模块,用于对原始图像进行编码处理,得到视频流,其中,所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;
第一发送模块,用于将所述视频流发送给云终端。
7.一种视频流传输方法,其特征在于,包括:
获取云服务器发送的视频流,所述视频流为所述云服务器对原始图像进行编码处理后得到的,且所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;
根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流。
8.根据权利要求7所述的视频流传输方法,其特征在于,所述根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流的步骤包括:
接收到所述解码信息帧后,根据所述解码信息帧对解码器进行初始化处理;
调用经初始化处理后的所述解码器对接收到的视频数据帧进行解码处理,得到所述待显示视频流。
9.根据权利要求7所述的视频流传输方法,其特征在于,所述获取云服务器发送的视频流的步骤之前,所述视频流传输方法还包括:
向所述云服务器发送用于表示云终端的网络拥塞状态的网络状态阈值,使得所述云服务器根据所述网络状态阈值,确定图像编码格式,并根据确定所述图像编码格式对所述原始图像进行编码处理,得到所述视频流。
10.根据权利要求9所述的视频流传输方法,其特征在于,所述根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流的步骤之后,所述视频流传输方法还包括:
获取所述云终端在所述视频数据帧进行解码处理过程中的网络传输状态信息;
根据所述网络传输状态信息对所述网络状态阈值进行调整,并将调整后的所述网络状态阈值发送给云服务器,使得所述云服务器根据调整后的所述网络状态阈值,重新确定图像编码格式,并根据重新确定的所述图像编码格式对所述原始图像进行编码处理,得到所述视频流。
11.根据权利要求7所述的视频流传输方法,其特征在于,所述根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流的步骤之后,所述视频流传输方法还包括:
若检测到对于所述视频流的播放进度的调整操作,则向所述云服务器发送解码信息帧重发指令,使得所述云服务器根据所述解码信息帧重发指令重新发送解码信息帧。
12.一种视频流传输装置,其特征在于,包括:
获取模块,用于获取云服务器发送的视频流,所述视频流为所述云服务器对原始图像进行编码处理后得到的,且所述视频流包括:解码信息帧和视频数据帧,所述解码信息帧携带有对所述视频数据帧进行解码处理的解码信息;
解码模块,用于根据所述解码信息帧对所述视频数据帧进行解码处理,得到待显示视频流。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610454729.5A CN107529069A (zh) | 2016-06-21 | 2016-06-21 | 一种视频流传输方法及装置 |
PCT/CN2017/088101 WO2017219896A1 (zh) | 2016-06-21 | 2017-06-13 | 视频流的传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610454729.5A CN107529069A (zh) | 2016-06-21 | 2016-06-21 | 一种视频流传输方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107529069A true CN107529069A (zh) | 2017-12-29 |
Family
ID=60735320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610454729.5A Withdrawn CN107529069A (zh) | 2016-06-21 | 2016-06-21 | 一种视频流传输方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107529069A (zh) |
WO (1) | WO2017219896A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020155007A1 (zh) * | 2019-01-31 | 2020-08-06 | 深圳市柔宇科技有限公司 | 一种柔性显示服饰的视频播放方法、柔性显示服饰和存储介质 |
CN111601109A (zh) * | 2020-05-13 | 2020-08-28 | 西安万像电子科技有限公司 | 图像数据的处理方法、装置和系统 |
CN111629234A (zh) * | 2020-06-24 | 2020-09-04 | 上海大因多媒体技术有限公司 | 不同类型视频共存的传输方法、装置、设备和存储介质 |
CN113676769A (zh) * | 2021-08-23 | 2021-11-19 | 北京字跳网络技术有限公司 | 视频解码方法、设备、存储介质及程序产品 |
CN113973224A (zh) * | 2021-09-18 | 2022-01-25 | 阿里巴巴(中国)有限公司 | 媒体信息的传输方法、计算设备及存储介质 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109089153B (zh) * | 2018-08-31 | 2022-08-19 | 平安科技(深圳)有限公司 | Ps数据流解码方法、装置、计算机设备及存储介质 |
CN111866443A (zh) * | 2019-04-25 | 2020-10-30 | 黄河 | 视频流数据存储方法、装置、系统和存储介质 |
CN111093091A (zh) * | 2019-12-11 | 2020-05-01 | 西安万像电子科技有限公司 | 视频处理方法、服务器及系统 |
CN111582024B (zh) * | 2020-03-31 | 2023-05-05 | 西安天和防务技术股份有限公司 | 视频流处理方法、装置、计算机设备和存储介质 |
CN113706891A (zh) * | 2020-05-20 | 2021-11-26 | 阿里巴巴集团控股有限公司 | 交通数据传输方法、装置、电子设备和存储介质 |
CN113938705A (zh) * | 2020-07-13 | 2022-01-14 | 阿里巴巴集团控股有限公司 | 用于视频编解码的方法、装置、服务器、终端设备及系统 |
CN112039844A (zh) * | 2020-07-24 | 2020-12-04 | 南斗六星系统集成有限公司 | 一种车载终端监控视频自适应码率的方法和系统 |
CN111949826B (zh) * | 2020-08-21 | 2023-11-28 | 上海连尚网络科技有限公司 | 在视频中添加和显示物品信息的方法、电子设备及存储介质 |
CN113163233B (zh) * | 2021-02-04 | 2022-11-22 | 福州大学 | 一种基于实时视频流传输的带宽探测方法 |
CN113784094B (zh) * | 2021-08-31 | 2024-04-30 | 上海三旺奇通信息科技有限公司 | 视频数据处理方法、网关、终端设备及存储介质 |
CN114866792A (zh) * | 2022-03-31 | 2022-08-05 | 广州方硅信息技术有限公司 | 直播视频质量检测方法及其装置、设备、介质 |
CN114741198B (zh) * | 2022-04-19 | 2023-12-15 | 中国电信股份有限公司 | 视频流处理方法及装置、电子设备、计算机可读介质 |
CN116320536B (zh) * | 2023-05-16 | 2023-08-18 | 瀚博半导体(上海)有限公司 | 视频处理方法、装置、计算机设备及计算机可读存储介质 |
CN116634089B (zh) * | 2023-07-24 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 视频传输方法、装置、设备及存储介质 |
CN117331880A (zh) * | 2023-08-15 | 2024-01-02 | 北京城建智控科技股份有限公司 | 双核通信装置、方法及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080192830A1 (en) * | 2007-02-14 | 2008-08-14 | Samsung Electronics Co., Ltd. | Method of encoding and decoding motion picture frames |
CN101540905A (zh) * | 2008-03-20 | 2009-09-23 | 联发科技股份有限公司 | 视频编码方法 |
CN103428528A (zh) * | 2013-08-19 | 2013-12-04 | 江苏金智教育信息技术有限公司 | 一种云流媒体自适应播放装置及方法 |
CN103561279A (zh) * | 2013-10-10 | 2014-02-05 | 中兴通讯股份有限公司 | 一种多媒体文件播放的方法、系统及云转码服务设备 |
CN104506868A (zh) * | 2014-12-31 | 2015-04-08 | 深圳市大疆创新科技有限公司 | 视频码流传输方法,装置及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104168483A (zh) * | 2014-07-08 | 2014-11-26 | 大连民族学院 | 一种视频压缩方法及系统 |
CN105163117B (zh) * | 2015-08-26 | 2019-08-16 | 华为技术有限公司 | 一种图像编码方法及装置 |
-
2016
- 2016-06-21 CN CN201610454729.5A patent/CN107529069A/zh not_active Withdrawn
-
2017
- 2017-06-13 WO PCT/CN2017/088101 patent/WO2017219896A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080192830A1 (en) * | 2007-02-14 | 2008-08-14 | Samsung Electronics Co., Ltd. | Method of encoding and decoding motion picture frames |
CN101540905A (zh) * | 2008-03-20 | 2009-09-23 | 联发科技股份有限公司 | 视频编码方法 |
CN103428528A (zh) * | 2013-08-19 | 2013-12-04 | 江苏金智教育信息技术有限公司 | 一种云流媒体自适应播放装置及方法 |
CN103561279A (zh) * | 2013-10-10 | 2014-02-05 | 中兴通讯股份有限公司 | 一种多媒体文件播放的方法、系统及云转码服务设备 |
CN104506868A (zh) * | 2014-12-31 | 2015-04-08 | 深圳市大疆创新科技有限公司 | 视频码流传输方法,装置及系统 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020155007A1 (zh) * | 2019-01-31 | 2020-08-06 | 深圳市柔宇科技有限公司 | 一种柔性显示服饰的视频播放方法、柔性显示服饰和存储介质 |
CN113272777A (zh) * | 2019-01-31 | 2021-08-17 | 深圳市柔宇科技股份有限公司 | 一种柔性显示服饰的视频播放方法、柔性显示服饰和存储介质 |
CN111601109A (zh) * | 2020-05-13 | 2020-08-28 | 西安万像电子科技有限公司 | 图像数据的处理方法、装置和系统 |
CN111629234A (zh) * | 2020-06-24 | 2020-09-04 | 上海大因多媒体技术有限公司 | 不同类型视频共存的传输方法、装置、设备和存储介质 |
CN111629234B (zh) * | 2020-06-24 | 2022-09-02 | 上海大因多媒体技术有限公司 | 不同类型视频共存的传输方法、装置、设备和存储介质 |
CN113676769A (zh) * | 2021-08-23 | 2021-11-19 | 北京字跳网络技术有限公司 | 视频解码方法、设备、存储介质及程序产品 |
CN113676769B (zh) * | 2021-08-23 | 2023-03-31 | 北京字跳网络技术有限公司 | 视频解码方法、设备及存储介质 |
CN113973224A (zh) * | 2021-09-18 | 2022-01-25 | 阿里巴巴(中国)有限公司 | 媒体信息的传输方法、计算设备及存储介质 |
CN113973224B (zh) * | 2021-09-18 | 2024-05-28 | 阿里巴巴(中国)有限公司 | 媒体信息的传输方法、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2017219896A1 (zh) | 2017-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107529069A (zh) | 一种视频流传输方法及装置 | |
CN102457544B (zh) | 基于互联网的屏幕共享系统中用于采集屏幕图像的方法和系统 | |
CN102625147B (zh) | 一种移动可视设备自适应显示方法 | |
CN107295395A (zh) | 码率自适应调节方法、装置及电子设备 | |
CN106210726A (zh) | 根据cpu与gpu的使用率对视频数据进行自适应解码的方法 | |
CN105577819A (zh) | 一种虚拟化桌面的分享系统、分享方法以及分享装置 | |
CN104394484A (zh) | 一种无线实时流媒体传输方法 | |
CN113038127B (zh) | 一种基于roi的实时视频多路并行传输码率控制方法 | |
CN104717509B (zh) | 一种视频解码方法及装置 | |
US20140254688A1 (en) | Perceptual Quality Of Content In Video Collaboration | |
CN107087138A (zh) | 一种基于h.265视频编码格式的视频会议系统 | |
CN112422963B (zh) | 云计算机系统、编码方法、装置、设备及存储介质 | |
CN101931799A (zh) | 一种视频码流的平滑方法及装置 | |
WO2023142716A1 (zh) | 编码方法、实时通信方法、装置、设备及存储介质 | |
CN106791850A (zh) | 视频编码方法及装置 | |
CN112866746A (zh) | 一种多路串流云游戏控制方法、装置、设备及存储介质 | |
CN103929682A (zh) | 一种在视频直播系统中设置关键帧的方法及装置 | |
CN113747191A (zh) | 基于无人机的视频直播方法、系统、设备及存储介质 | |
CN116866658A (zh) | 视频数据的处理方法、装置、设备和介质 | |
CN104469400A (zh) | 一种基于rfb协议的图像数据压缩方法 | |
CN111093082A (zh) | 一种流媒体直播的方法及系统 | |
CN115767146A (zh) | 数据流控制方法、系统、装置、电子设备及存储介质 | |
WO2023024832A1 (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN104994407A (zh) | 一种集中自适应视频转码的方法 | |
CN115942009A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20171229 |
|
WW01 | Invention patent application withdrawn after publication |