CN112153413B - 一种同屏广播处理花屏的方法和服务器 - Google Patents
一种同屏广播处理花屏的方法和服务器 Download PDFInfo
- Publication number
- CN112153413B CN112153413B CN202010863716.XA CN202010863716A CN112153413B CN 112153413 B CN112153413 B CN 112153413B CN 202010863716 A CN202010863716 A CN 202010863716A CN 112153413 B CN112153413 B CN 112153413B
- Authority
- CN
- China
- Prior art keywords
- frame
- number field
- screen
- sequence number
- coding frame
- 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 22
- 230000005540 biological transmission Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000000007 visual effect Effects 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/23418—Processing 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种同屏广播处理花屏的方法和服务器,所述方法具体包括以下步骤:S1:获取发送端发送的视频信息,再从视频信息中读取当前的编码帧;S2:判断当前的编码帧是否能够正常显示画面,若是,则对当前的编码帧进行解码,若否,则执行S3;S3:向发送端发送生成关键帧的请求,以获取发送端采用前一编码帧生成的关键帧,并使用关键帧替换当前的编码帧,对关键帧进行解码。在本发明中,采用前一编码帧生成用于替换出现丢包或者粘包的当前的编码帧的关键帧,以避免出现黑屏或者花屏等情况。
Description
技术领域
本发明涉及视频处理技术领域,尤其涉及一种同屏广播处理花屏的方法和服务器。
背景技术
在无纸化会议系统中,同屏广播是最常用的功能之一,它共享主讲人屏幕画面给所有参会者,要使每个参会者能在同一时间看到同一帧画面,就需要对发送给各个参会者的画面帧做同步处理。如果没有处理或处理不当,就会造成在参会者一端显示的图像出现黑屏或花屏等情况。
在现有技术中,处理图像编码丢帧导致花屏时,通常保留最近的正常I帧作为P帧编码参考,来修正图像的丢帧和花屏。如果保留的最近正常I帧的时间过久,则用缓存中最新的YUV数据重新组成I 帧,并利用此最新I帧来作为P帧编码参考帧。通过修正图像延时,把所产生的延时控制在可接受的范围之内,保证实时视频监控的正常和工作效率。
但该方法只能在编码阶段抑制花屏的出现,然而在网络传输过程中,由于丢包和粘包导致的花屏,该种方法却无能为力。实践表明,最容易出现花屏的阶段是在网络传输过程,并且当出现花屏的时候,现有技术无法做出任何有效的改善。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种同屏广播处理花屏的方法,其能解决网络传输中产生丢包和粘包,导致视频画面出现花屏的问题。
本发明的目的之二在于提供一种同屏广播处理花屏的服务器,其能解决网络传输中产生丢包和粘包,导致视频画面出现花屏的问题。
为了达到上述目的之一,本发明所采用的技术方案如下:
一种同屏广播处理花屏的方法,具体包括以下步骤:
S1:获取发送端发送的视频信息,再从视频信息中读取当前的编码帧,其中所述视频信息包括用于解码成视频画面的编码帧和心跳包;
S2:判断当前的编码帧是否能够正常显示画面,若是,则对当前的编码帧进行解码,若否,则执行S3;
S3:向发送端发送生成关键帧的请求,以获取发送端采用前一编码帧生成的关键帧,并使用关键帧替换当前的编码帧,对关键帧进行解码。
优选的,所述视频帧率大于每秒24帧。
优选的,所述S1之前还有以下步骤:
S11:通过发送端在当前的编码帧的首部按照预设规则添加序号字段,并在编码帧的尾部增加尾号字段。
优选的,所述S2具体由以下步骤实现:
S21:读取当前的编码帧的尾号字段,判断尾号字段是否与预存在接收端的储存器中的尾号字段一致,若是,则执行S22,若否,并执行S3;
S22:读取当前的编码帧的序号字段,判断序号字段是否完整,若是,则对当前的编码帧进行解码,若否,则执行S3;
优选的,所述编码帧包括内部编码帧和前向预测帧。
优选的,所述序号字段包括第一序号字段和第二序号字段,所述第一序号字段的值大于或者小于第二序号字段的值,同一编码帧内的第二序号字段的值呈等差数列排列设置。
优选的,所述S11具体由以下步骤实现:
S111:通过发送端在内部编码帧的首部添加第一序号字段;
S112:通过发送端在同一编码帧内的前向预测帧的首部添加呈等差数列排列设置的第二序号字段;
S113:通过发送端在编码帧的尾部增加尾号字段。
优选的,所述S3具体由以下步骤实现:
S31:清除全部前向预测帧;
S32:向发送端发送生成关键帧的请求,以驱使发送端通过ffmpeg 或intel qsv采用前一编码帧编码生成的关键帧;
S33:获取发送端发送关键帧,使用关键帧替换当前的编码帧,并对关键帧进行解码。
为了达到上述目的之二,本发明所采用的技术方案如下:
一种同屏广播处理花屏的服务器,包括储存器和处理器;
存储器,用于存储程序指令;
处理器,用于运行所述程序指令,以执行上述的同屏广播处理花屏的方法。
相比现有技术,本发明的有益效果在于:接收端在获取发送端的视频信息后,对视频信息中的编码帧进行识别读取,若判断编码帧出现丢包或者粘包等无法正常解码的情况,则向发送端请求关键帧,通过关键帧取代无法正常解码显示视频画面的编码帧,以解决当前编码帧出现丢包或者粘包等无法正常解码的情况造成花屏的问题。
附图说明
图1为本发明中所述的同屏广播处理花屏的方法的流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
下面,结合附图以及具体实施方式,对本发明做进一步描述:
在本发明中,所述内部编码帧与其他帧不存在依赖关系,不需要参考其他帧,仅需自身就可以完全解码的一个完整画面,在视频数据中,内部编码帧是实现视频读取时解码的关键。所述前向预测帧是只可以参考前面的帧,编码过程中既可以采用帧内预测方式,也可以参考其前面的前向预测帧或者内部编码帧进行帧间预测,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面,前向预测帧没有完整画面数据,只有与前一帧的画面差异的数据,即考虑运动的特性对时间域的冗余信息进行帧间压缩,在本发明中,所述前向预测帧的压缩率20%。所述发送端可以是设置有录像功能的智能服务器设备,例如手机或者设置有摄像头的电脑等装置,还可以与视频数据库连接的数据处理设备,例如服务器等,所述接收端可以是具有数据处理能力的显像设备,例如电视、电脑和手机等,还可以是连接到显像设备的数据处理设备,例如服务器等。
实施例一:
如图1所示,一种同屏广播处理花屏的方法,具体包括以下步骤:
在本实施例中,预先通过发送端对编码帧的首尾添加字段,以便于接收端识别编码帧是否出现粘包或者丢包等情况,优选的,所述 S1之前还有以下步骤:
S11:预先通过发送端在当前的编码帧的首部按照预设规则添加序号字段,并在当前的编码帧的尾部增加尾号字段;
具体的,所述编码帧采用的是H264编码,同时编码帧包括内部编码帧和前向预测帧,所以编码帧序列一般为IP1P2···PnI,例如某个编码帧序列为IPPPPPI,其中I为内部编码帧,P为前向预测帧,Pn为第N个前向预测帧,优选的,所述序号字段包括第一序号字段和第二序号字段,在本实施例中,所述S11具体由以下步骤实现:
S111:预先通过发送端在内部编码帧的首部添加第一序号字段;
具体的,在发送端向接收端发送当前的编码帧之前,先在在内部编码帧的首部添加第一序号字段,所述第一序号字段可以为一个恒定的数值,例如0,所以编码帧序列可以表示为0PPPPP0。
S112:预先通过发送端在同一编码帧内的前向预测帧的首部添加呈等差数列排列设置的第二序号字段。
具体,再在前向预测帧的首部添加第二序号字段,优选的,在同一编码帧内的第二序号字段呈等差数列排列设置,即同一编码帧内的前向预测帧的第二序号字段的值可以呈递增或者递减的形式,依次排列,当公差为1时,那么编码帧的序号字段可以为0123450,进一步的,为了更好地区分第一序号字段和第二序号字段,所述第一序号字段的值大于或者小于第二序号字段的值,即第一序号字段的值大于不等于第二序号字段的值,从而避免误判的情况出现。
S113:通过发送端在编码帧的尾部增加尾号字段。
具体的,通过发送端在每一个编码帧的尾部添加一个完整性的字段(尾号字段),例如0x00000001,在本实施例中,发送端向接收端发送视频信息时,心跳包有可能夹杂在任意两个编码帧之间,在视频信息输送过程中,心跳包有可能与编码帧粘连在一起(即粘包),当接收端读取到的心跳包与编码帧粘连在一起的数据包后,接收端就无法对该数据包进行正常的解码,导致花屏情况的出现,所以通过在每个编码帧的尾部增加一个尾部字段,用来区分心跳包、编码帧以及出现粘包情况的编码帧。
S1:获取发送端发送的视频信息,再从视频信息中读取当前的编码帧;
具体的,进行视频播放时,接收端先获取发送端发送过来的视频信息,优选的,所述视频信息包括用于接收端解码成视频画面的编码帧和用于维持发送端和接收端之间的连接的心跳包,在本实施例中,接收端获取视频信息后,从视频信息识别并读取当前的编码帧,然后进行解码。
S2:判断当前的编码帧是否能够正常显示画面,若是,则对当前的编码帧进行解码,若否,则执行S3;
具体的,接收端读取到当前的编码帧后,先对当前的编码帧进行判断,若无丢包或者粘包等问题时,则对当前的编码帧进行正常解码;在本实施例中,所述S2具体由以下步骤实现:
S21:读取当前的编码帧的尾号字段,判断尾号字段是否与预存在接收端的储存器中的尾号字段一致,若是,则执行S22,若否,并执行S3;
具体的,当接收端获得当前的编码帧后,检验编码帧尾部字段是否与预存在接收端的储存器中的尾号字段一致,当且仅当接收端在当前的编码帧的尾部读取到完整的尾部字段,例如0x00000001,才认定当前的编码帧没有粘包情况,执行S22,若接收端在当前的编码帧的尾部读取到不是完整的尾部字段,例如0x000等,执行S3;
S22:读取当前的编码帧的序号字段,判断序号字段是否完整,若是,则对当前的编码帧进行解码,若否,则执行S3;
具体的,当接收端认定当前的编码帧无粘包情况之后,接收端读取编码帧的序号字段得到该编码帧的内部编码帧和前向预测帧所对应的序号字段,通过判序号字段是否完整来判断编码帧在传输过程中,是否出现丢包的问题,在本实施例中,当接收端读取到的序号字段为0124、0123、01234等情况都视为出现丢包情况了,即序号字段不完整,由该编码帧解码出来的视频画面会出现花屏,故执行S3,当且仅当接收端读取到的序号字段为0123450时,即序号字段完整,可以对当前的编码帧进行正常解码,得到正常的视频画面。
S3:向发送端发送生成关键帧的请求,以获取发送端采用前一编码帧生成的关键帧,并使用关键帧替换当前的编码帧,对关键帧进行解码。
具体的,当自发送端发送至接收端的视频信息在传输过程中出现粘包或者丢包等情况时,均会导致当前的编码帧的解码失败,导致出现花屏现象,在本实施例中,通过S3来解决当前的编码帧的解码失败的请,具体的,所述S3具体由以下步骤实现:
S31:清除全部前向预测帧;
具体的,由于所述前向预测帧是只可以参考前面的帧,编码过程中用于进行帧间预测,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面;在本实施例中,当当前的编码帧无法正常解码时(即出现丢包或者粘包等情况),则将当前的编码帧丢弃,避免出现花屏的情况,同时为了尽快恢复正常画面的显示,所以同步清除全部前向预测帧,防止花屏蔓延到下一编码帧。
S32:向发送端发送生成关键帧的请求,以驱使发送端通过ffmpeg 或intel qsv采用前一编码帧编码生成的关键帧;
具体的,当接收端获取的视频信息出现丢包或者粘包等情况时,接收端立即向发送端发送生成关键帧的请求,当发送端获得生成关键帧的请求后,随即通过ffmpeg或intelqsv采用前一编码帧编码生成的关键帧,并发送到接收端。
S33:获取发送端发送关键帧,使用关键帧替换当前的编码帧,并对关键帧进行解码。
具体的,当接收端获得关键帧后,使用关键帧替换当前的编码帧进行解密形成新的视频画面,以取代当前编码所要显示的视频画面,由于正常人的可视帧数一般为每秒24帧,且关键帧是由前一编码帧生成,原则上与前一编码帧所显示的视频画面相同,所以当视频画面的视频帧率大于每秒24帧,则正常人无法发现当前的编码帧被关键帧取代,并且视频画面无花屏现象。
实施例二:
一种同屏广播处理花屏的服务器,包括储存器和处理器;
存储器,用于存储程序指令;
处理器,用于运行所述程序指令,以执行如实施例一所述的同屏广播处理花屏的方法。
对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。
Claims (5)
1.一种同屏广播处理花屏的方法,其特征在于,具体包括以下步骤:
S1:获取发送端发送的视频信息,再从视频信息中读取当前的编码帧,其中所述视频信息包括用于解码成视频画面的编码帧和心跳包;
S2:判断当前的编码帧是否能够正常显示画面,若是,则对当前的编码帧进行解码,若否,则执行S3;
S3:向发送端发送生成关键帧的请求,以获取发送端采用前一编码帧生成的关键帧,并使用关键帧替换当前的编码帧,对关键帧进行解码;
其中所述S1之前还有以下步骤:
S11:通过发送端在当前的编码帧的首部按照预设规则添加序号字段,并在编码帧的尾部增加尾号字段,
所述编码帧包括内部编码帧和前向预测帧,
所述序号字段包括第一序号字段和第二序号字段,所述第一序号字段的值大于或者小于第二序号字段的值,同一编码帧内的第二序号字段的值呈等差数列排列设置;
所述S11具体由以下步骤实现:
S111:通过发送端在内部编码帧的首部添加第一序号字段;
S112:通过发送端在同一编码帧内的前向预测帧的首部添加呈等差数列排列设置的第二序号字段;
S113:通过发送端在编码帧的尾部增加尾号字段。
2.如权利要求1所述的同屏广播处理花屏的方法,其特征在于:所述视频帧率大于每秒24帧。
3.如权利要求1所述的同屏广播处理花屏的方法,其特征在于:所述S2具体由以下步骤实现:
S21:读取当前的编码帧的尾号字段,判断尾号字段是否与预存在接收端的储存器中的尾号字段一致,若是,则执行S22,若否,并执行S3;
S22:读取当前的编码帧的序号字段,判断序号字段是否完整,若是,则对当前的编码帧进行解码,若否,则执行S3。
4.如权利要求1所述的同屏广播处理花屏的方法,其特征在于:所述S3具体由以下步骤实现:
S31:清除全部前向预测帧;
S32:向发送端发送生成关键帧的请求,以驱使发送端通过ffmpeg或intel qsv采用前一编码帧编码生成的关键帧;
S33:获取发送端发送关键帧,使用关键帧替换当前的编码帧,并对关键帧进行解码。
5.一种同屏广播处理花屏的服务器,其特征在于:包括储存器和处理器;
存储器,用于存储程序指令;
处理器,用于运行所述程序指令,以执行如权利要求1-4任意一项所述的同屏广播处理花屏的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010863716.XA CN112153413B (zh) | 2020-08-25 | 2020-08-25 | 一种同屏广播处理花屏的方法和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010863716.XA CN112153413B (zh) | 2020-08-25 | 2020-08-25 | 一种同屏广播处理花屏的方法和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112153413A CN112153413A (zh) | 2020-12-29 |
CN112153413B true CN112153413B (zh) | 2022-08-12 |
Family
ID=73889096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010863716.XA Active CN112153413B (zh) | 2020-08-25 | 2020-08-25 | 一种同屏广播处理花屏的方法和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112153413B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086780A (zh) * | 2022-07-07 | 2022-09-20 | 北斗星通智联科技有限责任公司 | 一种视频流传输方法、系统、装置和终端设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1827023A1 (en) * | 2006-02-27 | 2007-08-29 | THOMSON Licensing | Method and apparatus for packet loss detection and virtual packet generation at SVC decoders |
CN102752670B (zh) * | 2012-06-13 | 2015-11-25 | 广东威创视讯科技股份有限公司 | 减少网络视频传输中马赛克现象的方法、装置及系统 |
CN110392269B (zh) * | 2018-04-17 | 2021-11-30 | 腾讯科技(深圳)有限公司 | 媒体数据处理方法和装置、媒体数据播放方法和装置 |
CN110225362A (zh) * | 2019-06-04 | 2019-09-10 | 浙江大华技术股份有限公司 | 一种直播方法、直播服务器及存储装置 |
CN110971387A (zh) * | 2019-12-10 | 2020-04-07 | 上海邦邦机器人有限公司 | 一种数据传输处理方法、发送设备和接收设备 |
-
2020
- 2020-08-25 CN CN202010863716.XA patent/CN112153413B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112153413A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8064527B2 (en) | Error concealment in a video decoder | |
CN108737825B (zh) | 视频数据编码方法、装置、计算机设备和存储介质 | |
WO2016131223A1 (zh) | 一种视频帧丢帧方法及视频发送装置 | |
US20110249127A1 (en) | Estimating Video Quality Corruption in Lossy Networks | |
CN110392284B (zh) | 视频编码、视频数据处理方法、装置、计算机设备和存储介质 | |
US9264737B2 (en) | Error resilient transmission of random access frames and global coding parameters | |
US7920726B2 (en) | Image processing apparatus, image processing method, and program | |
RU2283543C2 (ru) | Способ обработки кода ошибки сжатого изображения при передаче | |
CN101742289B (zh) | 视频码流压缩方法、系统及装置 | |
CN107172376B (zh) | 一种基于屏幕共享的视频编码方法和装置 | |
CN101998101A (zh) | 可视电话的视频数据接收和发送系统、视频数据处理方法 | |
CN111641804A (zh) | 视频数据处理方法和装置、终端、摄像头及视频会议系统 | |
US20150256822A1 (en) | Method and Apparatus for Assessing Video Freeze Distortion Degree | |
CN111263192A (zh) | 视频处理方法及相关设备 | |
CN110996035B (zh) | 信息发送方法及装置 | |
CN108966006A (zh) | 视频的播放方法、浏览器设备及可读存储介质 | |
CN113794903A (zh) | 视频图像处理方法、装置及服务器 | |
US20120106632A1 (en) | Method and apparatus for error resilient long term referencing block refresh | |
CN112153413B (zh) | 一种同屏广播处理花屏的方法和服务器 | |
CN111314648A (zh) | 信息处理方法、处理装置、第一电子设备和服务器 | |
WO2020237466A1 (zh) | 视频传输方法、装置、飞行器、播放设备及存储介质 | |
CN103929682A (zh) | 一种在视频直播系统中设置关键帧的方法及装置 | |
US20170289552A1 (en) | Video analyzer | |
US7796499B2 (en) | Method of and system for video fast update | |
CN106998328B (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 | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: No. 56 Nanli East Road, Shiqi Town, Panyu District, Guangzhou City, Guangdong Province, 510000 Patentee after: Guangdong Baolun Electronics Co.,Ltd. Address before: 510000 Building 1, industrial zone B, Zhongcun street, Panyu District, Guangzhou City, Guangdong Province Patentee before: GUANGZHOU ITC ELECTRONIC TECHNOLOGY Co.,Ltd. |