背景

在刚提出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直播技术方案探讨相关推荐

  1. 此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决办法方案

    此实现不是 Windows 平台 FIPS 验证的加密算法的一部分的解决办法方案 用户在激活MFBox时大约有1%的用户会出现上面的问题,这和系统设置有关,只需按以下设置,就可以正常激活了. 进注册表 ...

  2. 兴业银行与第四范式开启AI平台加速模式 毫秒级信用卡反欺诈系统上线

    近日,基于第四范式为兴业银行打造的低门槛.自动化的人工智能平台,兴业银行信用卡中心推出了毫秒级智能交易反欺诈系统,实现了对信用卡欺诈风险自动化.智能化.精确化的甄别与管控,为信用卡用户提供最安全.可信 ...

  3. 基于OBS如何实现毫秒级超低延时直播

    原创教程 / 2021-11-16 / 文章字数2300 文章简述:本文介绍使用OBS无延迟直播插件在第三方云平台,如何实现超低延时直播的完整教程(延迟约为400毫秒,通常延迟是3-15秒). OBS ...

  4. windows无法配置此无线连接_用Windows 10上网时无法连接无线网怎么办?5种方案帮你解决...

    5种方案帮你解决电脑无线上网 在使用Windows 10上网时,也许你会遇到无法连接无线网的怪现象,网通列表中明明可以可看到网络名称,但连接时显示无法连接此网络.这个问题发生的原因可能多方面的,要针对 ...

  5. Android平台基于RTMP或RTSP的一对一音视频互动技术方案探讨

    背景 随着智能门禁等物联网产品的普及,越来越多的开发者对音视频互动体验提出了更高的要求.目前市面上大多一对一互动都是基于WebRTC,优点不再赘述,我们这里先说说可能需要面临的问题:WebRTC的服务 ...

  6. OBS如何实现毫秒级超低延时直播

    OBS简要介绍 OBS(Open Broadcaster Software)是一款免费开源的视频录制和视频直播推流软件,功能非常强大,在做视频直播时经常会用到,支持Windows, Mac以及Linu ...

  7. 实现超低延迟(毫秒级)的VR直播

    由于VR全景视频本身的码率有几十Mbps,分辨率也有大多为4-8k,导致传统的Hls直播有几十秒或几分钟的延迟,相对低一点的Flv直播流也会有个几秒的延迟,而flash在前几天已经被停止支持,导致RT ...

  8. 即时通讯开发时移动端实时音视频直播技术之处理

    视频或者音频完成采集之后得到原始数据,为了增强一些现场效果或者加上一些额外的效果,我们一般会在将其编码压缩前进行处理,比如打上时间戳或者公司 Logo 的水印,祛斑美颜和声音混淆等处理.在主播和观众连 ...

  9. C中计算程序运行时间差(毫秒级)

    最近在跑一些程序,需要计算程序运行的时间,然后搜索了一下相关的材料,发现下面的一个比较好的方法,可以实现毫秒级的计时: #include <sys/timeb.h> #if defined ...

最新文章

  1. Windows Forms高级界面组件-使用状态栏控件
  2. 无法绑定到“ ngModel”,因为它不是“ input”的已知属性
  3. Python添加pdf水印
  4. splat net_Ruby中的Splat参数
  5. openssl数字证书常见格式与协议介绍
  6. 5E7月3号服务器在维护,5E对战平台西南服务器上线!全新S2赛季即将开启
  7. C++连接MySQL数据库教程|如何连接数据库
  8. android购物车计数器,Axure教程:计数器的实战应用场景 —— 商品购件数
  9. C#学习之IntPtr类型
  10. 从数字艺术品到 NFT
  11. 光纤中多模和单模的区别
  12. katacontainers启动分析
  13. QQ空间g_tk、bkn加密参数算法
  14. 西南大学计算机考研资料汇总
  15. 这部计算机27厘米宽英语怎么说,24/27/32英寸电脑显示器的尺寸是多少?长和宽几厘米?显示长度,宽度和面积的算法...
  16. 中国传媒大学计算机课程表,中国传媒大学新学院课程表.doc
  17. 解决 openwrt/Lede pppoe拨号频繁掉线的问题
  18. 盛迈坤电商:退款率高会影响店铺吗
  19. 如何用几何画板画绕点旋转动画
  20. error C1083:无法打开文件stddef.h或crtd bg.h

热门文章

  1. scala apply方法 笔记
  2. 21.和和instance of
  3. 计算机控制系统a卷-答案,计算机控制系统2010-2011年试题A答案
  4. python 示例_Python TextCalendar类别| pryear()方法与示例
  5. puppeteer api_使用Node.js和puppeteer API从URL创建PDF文件
  6. 计算机硬盘正在工作应特别注意避免,初级计算机考试题库
  7. 你真的知道 == 和 equals 的区别吗?
  8. WebStorm文件类型关联设置
  9. WPF 使用NotifyIcon控件
  10. Linux debian ubuntu安装GIMP软件