Windows平台真实时毫秒级4K H264/H265直播技术方案探讨
背景
在刚提出4K视频的时候,大多数人都觉得没有必要,4K的出现,意味着更高的硬件规格和传输要求,1080P看的很爽、很清晰,完全满足了日常的需求。随着电视的尺寸越来越大,原本1080P成像已经无法满足人们对于细节的极致追求,4K视频不仅成像更细腻,在细节处理上优势也非常明显,颜色也更亮丽、饱满,逼真,给人身临其境的感觉。4K视频具有高分辨率、宽色域、高动态范围等优势,随着5G技术和H.265(HEVC)编码标准的出炉,4K视频直播迎来了曙光。
一张图解释4K VS 1080P
1080p
Often, 1080p is referred to as “Full HD.” In a 1080p television, there are 1,920 columns multiplied by 1,080 rows for a total of 2,073,600 pixels — more than twice as many pixels as you’ll find in a 720p screen. For a while now, 1080p has been the industry standard for high-definition displays, and most content (that is, television broadcasts, shows, and movies) is produced and distributed in 1080p.
4K Ultra HD
The next level of HD is 4K — often called “Ultra HD” or UHD. Technically, the name is a bit of a misnomer, because there are 3,840 columns and 2,160 rows of pixels, which is why you’ll occasionally see this resolution referred to as 2160p. That’s a total of 8,294,400 pixels, which is four times as many pixels as a Full HD 1080p display and nine times as many pixels as a 720p display.
Windows平台真实时4K直播解决方案
先来解释下什么是实时视频,实时视频就是视频图像从产生到消费完成整个过程人感觉不到延迟,只要符合这个要求的视频业务都可以称为实时视频。关于视频的实时性归纳为三个等级:
- 伪实时:视频消费延迟超过 3 秒,单向观看实时;
- 准实时: 视频消费延迟 1~3 秒,能进行双方互动但互动有障碍;
- 真实时:视频消费延迟 < 1秒,平均 500 毫秒。
基于英伟达显卡硬编码(NVIDIA NVENC)的RTMP、RTSP低延迟技术方案:
4K相当于4个1080P,Windows平台软编码有些困难,特别是h265,姑且不说4K软编,4K软解在一些配置一般的机器都比较吃力,基于此,大牛直播SDK(Github)实现了Windows平台特定机型硬编、硬解码低延迟解决方案。
- 针对编码这块,我们实现了基于英伟达显卡硬编码(NVIDIA NVENC)的RTMP、RTSP低延迟技术解决方案,无论是H265还是H264 4K 30fps都能编的动(以下测试截图,基于GeForce RTX 2060显卡);
- 针对解码播放,特别是Windows平台多路播放诉求下,我们实现了Windows平台特定机型硬解码。
通过特定机型硬编码、解码整体技术方案下,我们把4K下的RTMP的整体延时控制在180-300毫秒,实现了真实时技术解决方案,无图无真相:
RTMP扩展H265直播
摄像头采用“海康威视监控摄像头 800万4K超清USB直播摄像头 网络课程远程视频会议 台式机电脑摄像机 2CS54U0B-SD”。
RTMP推送端H265 4K硬编码配置(对应 SmartPublisherDemo.exe):
RTMP播放端 H265 4K硬解码效果(对应 SmartPlayer.exe):
RTMP H265 4K编码和解码GPU, CPU占用情况:
RTMP H265 4K延时效果:
从图上可以看出延时也就100多毫秒。
RTMP H264 直播
RTMP推送端H264 4K硬编码配置(对应 SmartPublisherDemo.exe):
RTMP播放端H264 4K硬解码效果(对应 SmartPlayer.exe):
RTMP H264 4K 硬编解码GPU, CPU占用情况:
RTMP H264 4K直播低延时效果:
总结:
从整体测试来看,英伟达硬编码(NVENC)能达到期望的效果,可以满足毫秒级低延时大分辨率需求,同时NVENC也提供了灵活的码率控制策略来满足不同的编码需求。
Windows平台真实时毫秒级4K H264/H265直播技术方案探讨相关推荐
- 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决办法方案
此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决办法方案 用户在激活MFBox时大约有1%的用户会出现上面的问题,这和系统设置有关,只需按以下设置,就可以正常激活了. 进注册表 ...
- 兴业银行与第四范式开启AI平台加速模式 毫秒级信用卡反欺诈系统上线
近日,基于第四范式为兴业银行打造的低门槛.自动化的人工智能平台,兴业银行信用卡中心推出了毫秒级智能交易反欺诈系统,实现了对信用卡欺诈风险自动化.智能化.精确化的甄别与管控,为信用卡用户提供最安全.可信 ...
- 基于OBS如何实现毫秒级超低延时直播
原创教程 / 2021-11-16 / 文章字数2300 文章简述:本文介绍使用OBS无延迟直播插件在第三方云平台,如何实现超低延时直播的完整教程(延迟约为400毫秒,通常延迟是3-15秒). OBS ...
- windows无法配置此无线连接_用Windows 10上网时无法连接无线网怎么办?5种方案帮你解决...
5种方案帮你解决电脑无线上网 在使用Windows 10上网时,也许你会遇到无法连接无线网的怪现象,网通列表中明明可以可看到网络名称,但连接时显示无法连接此网络.这个问题发生的原因可能多方面的,要针对 ...
- Android平台基于RTMP或RTSP的一对一音视频互动技术方案探讨
背景 随着智能门禁等物联网产品的普及,越来越多的开发者对音视频互动体验提出了更高的要求.目前市面上大多一对一互动都是基于WebRTC,优点不再赘述,我们这里先说说可能需要面临的问题:WebRTC的服务 ...
- OBS如何实现毫秒级超低延时直播
OBS简要介绍 OBS(Open Broadcaster Software)是一款免费开源的视频录制和视频直播推流软件,功能非常强大,在做视频直播时经常会用到,支持Windows, Mac以及Linu ...
- 实现超低延迟(毫秒级)的VR直播
由于VR全景视频本身的码率有几十Mbps,分辨率也有大多为4-8k,导致传统的Hls直播有几十秒或几分钟的延迟,相对低一点的Flv直播流也会有个几秒的延迟,而flash在前几天已经被停止支持,导致RT ...
- 即时通讯开发时移动端实时音视频直播技术之处理
视频或者音频完成采集之后得到原始数据,为了增强一些现场效果或者加上一些额外的效果,我们一般会在将其编码压缩前进行处理,比如打上时间戳或者公司 Logo 的水印,祛斑美颜和声音混淆等处理.在主播和观众连 ...
- C中计算程序运行时间差(毫秒级)
最近在跑一些程序,需要计算程序运行的时间,然后搜索了一下相关的材料,发现下面的一个比较好的方法,可以实现毫秒级的计时: #include <sys/timeb.h> #if defined ...
最新文章
- Windows Forms高级界面组件-使用状态栏控件
- 无法绑定到“ ngModel”,因为它不是“ input”的已知属性
- Python添加pdf水印
- splat net_Ruby中的Splat参数
- openssl数字证书常见格式与协议介绍
- 5E7月3号服务器在维护,5E对战平台西南服务器上线!全新S2赛季即将开启
- C++连接MySQL数据库教程|如何连接数据库
- android购物车计数器,Axure教程:计数器的实战应用场景 —— 商品购件数
- C#学习之IntPtr类型
- 从数字艺术品到 NFT
- 光纤中多模和单模的区别
- katacontainers启动分析
- QQ空间g_tk、bkn加密参数算法
- 西南大学计算机考研资料汇总
- 这部计算机27厘米宽英语怎么说,24/27/32英寸电脑显示器的尺寸是多少?长和宽几厘米?显示长度,宽度和面积的算法...
- 中国传媒大学计算机课程表,中国传媒大学新学院课程表.doc
- 解决 openwrt/Lede pppoe拨号频繁掉线的问题
- 盛迈坤电商:退款率高会影响店铺吗
- 如何用几何画板画绕点旋转动画
- error C1083:无法打开文件stddef.h或crtd bg.h
热门文章
- scala apply方法 笔记
- 21.和和instance of
- 计算机控制系统a卷-答案,计算机控制系统2010-2011年试题A答案
- python 示例_Python TextCalendar类别| pryear()方法与示例
- puppeteer api_使用Node.js和puppeteer API从URL创建PDF文件
- 计算机硬盘正在工作应特别注意避免,初级计算机考试题库
- 你真的知道 == 和 equals 的区别吗?
- WebStorm文件类型关联设置
- WPF 使用NotifyIcon控件
- Linux debian ubuntu安装GIMP软件