【精选】02 您所在的位置:网站首页 分辨率1920x1080和1280x720录像储存差多少 【精选】02

【精选】02

2023-10-27 01:05| 来源: 网络整理| 查看: 265

相关文章: 01-----带宽分析-----下载nmon分析软件。

一 码流、分辨率、帧率的概念 1 码流

码流(Data Rate)是指视频文件在单位时间内使用的数据流量,也叫码率或码流率,是视频编码中画面质量控制中最重要的部分,一般我们用的单位是Kb/s或者Mb/s,也可换成大写KB/s,MB/s。注意带宽的单位是Kbps,Mbps。   一般来说同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越高。码流越大,说明单位时间内取样率越大,数据流,精度就越高,处理出来的文件就越接近原始文件,图像质量越好,画质越清晰,要求播放设备的解码能力也越高。

2 帧率

帧率就是在1秒钟时间里传输的图片的帧数,或者说1s中能显示多少张图片,通常用fps(Frames Per Second)表示。每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。高的帧率可以得到更流畅、更逼真的动画。每秒钟帧数 (fps) 愈多,所显示的动作就会愈流畅。一般视频帧率多数在25fps左右。

3 分辨率

视频分辨率是指视频成像产品所成图像的大小或尺寸。常见的视像分辨率有352×288,176×144,640×480,1024×768。在成像的两组数字中,前者为图片长度,后者为图片的宽度,两者相乘得出的是图片的像素,长宽比一般为4:3.  目前监控行业中主要使用Qcif(176×144)、CIF(352×288)、HALF D1(704×288)、D1(704×576)等几种分辨率。

D1是数字电视系统显示格式的标准,共分为以下5种规格:

1)D1:480i格式(525i): 720×480(水平480线,隔行扫描),和NTSC模拟电视清晰度相同,行频为15.25kHz,相当于我们所说的4CIF(720×576)

2)D2:480P格式(525p): 720×480(水平480线,逐行扫描),较D1隔行扫描要清晰不少,和逐行扫描DVD规格相同,行频为31.5kHz

3)D3:1080i格式(1125i): 1920×1080(水平1080线,隔行扫描),高清方式采用最多的一种分辨率,分辨率为1920×1080i/60Hz,行频为33.75kHz

4)D4:720p格式(750p): 1280×720(水平720线,逐行扫描),虽然分辨率较D3要低,但是因为逐行扫描,市面上更多人感觉相对于1080I(实际逐次540线)视觉效果更加清晰。不过个人感觉来说,在最大分辨率达到1920×1080的情况下,D3要比D4感觉更加清晰,尤其是文字表现力上,分辨率为1280×720p/60Hz,行频为45kHz

5)D5:1080p格式(1125p): 1920×1080(水平1080线,逐行扫描),目前民用高清视频的最高标准,分辨率为1920×1080P/60Hz,行频为67.5KHZ。

其中D1 和D2标准是我们一般模拟电视的最高标准,并不能称的上高清晰,D3的1080i标准是高清晰电视的基本标准,它可以兼容720p格式,而D5的1080P只是专业上的标准。

二 如何计算视频带宽

1 对于文件

文件大小 = 时间 × (码率 / 8)。 除以8的原因是,码流(码率)是以波特率(bit)为单位的,必须除以8转换成字节。 同时在线人数 = 带宽 / (码流) 。带宽为系统中该网卡的带宽(或者服务商提供的带宽),如何查看看下面。

例如,一个视频文件的大小为5.86M,播放时长为3分7秒:

1) 该文件对应的码流就是:

5.86 * 1024 * 1024 * 8 / (3 * 60 + 7) = 262872.956577bps 其中:5.86 * 1024 * 1024 * 8代表文件总码流,因为需要以秒s为单位,所以需要除以时长(3 * 60 + 7)。

2)10Mbps独享带宽能支撑的同时在线人数:

10* 1024 * 1024 / 262872.95657754 = 39.889078 注意:10M的带宽已经是带宽单位了,10* 1024 * 1024已经是带宽,无需再乘以8。 并且可能每个人小数不一定完全相等,因为电脑浮点数不一定完全正确,大概相同即可。

3)百兆带宽能支撑的同时在线人数:

100 * 1024 * 1024 / 262872.95657754 = 398.890784

4)支撑1000人同时在线的系统最少需要的带宽数为:

262872 * 1000 / (1024 * 1024) = 250.6942749Mbps 262872 * 1000的意思是:1000个人同时占用262872的带宽,也就是同时播放时长为3分7秒的视频文件。 除以(1024 * 1024)是将bps转成Mbps。并且注意,有些人喜欢写带宽的单位只写M,不过他应该会说这个M代表带宽,需要与字节的单位M区分。

2 对于实时视频 对于实时的视频,由于无法知道视频的大小,所以想想上面文件的计算方法可能不太适合,但是计算方法和文件也不会差太多。

1)该实时视频对应的码流为: 得到实时流的码率实际上很简单,是由我们自行设计的。例如ffmpeg推文件到流媒体服务器,使该文件变成实时流时,设置码率为1Mbps。但是要求该文件或者实时流本身有1Mbps的码率,否则我记得好像是不起作用的。 代码中可以通过设置ffmpeg的编解码器上下文AVCodecContext里面的码率成员。 在这里插入图片描述 或者本身就是实时流的,以海康为例,我们可以去到对应的页面查看: 在这里插入图片描述

例如,我们通过上面推流1Mbps的文件或者实时流,然后通过vlc或者ffmpeg播放,可以大概看到码率的大小。 注意,虽然是设置了1Mbps的带宽,但是并非是固定在1Mbps,会在这个范围上下波动。 在这里插入图片描述

在这里插入图片描述

2)千兆带宽能支撑的同时在线人数:

//100 * 1024 * 1024 * 1024 = 107374182400bps //1000 * 1024 * 1024 / 1 * 1024 * 1024=1000 // 或者以Mbps为单位算,得出的在线人数就是: 1000Mbps / 1Mbps = 1000人

上面至少250Mbps左右就能支持1000人,而这里1000Mbps才能支持1000人是因为: 上面文件的带宽实际只有262kbps左右,而这里是1Mbps,所以算出来的结果自然不一样。实际情况千兆带宽并不会被完全使用,一般带宽只能有效的使用60-80%左右,所以千兆带宽可能在6000-800人时,可能就会出现带宽不够而卡顿。

Linux下可以这样查看该网卡的带宽(Windows可以在网络的更改适配器,然后双击网卡即可,这里只讲Linux)。

ifconfig

找到收发包不为0的网卡。 在这里插入图片描述

ethtool eno2

在这里插入图片描述

我们可以对比看一下nginx中的stat页面,查看带宽,可以看到,虽然是同一个分辨率,但是占用带宽每一秒都可能是不同的,并且可能与帧率有关,因为帧率不一定固定在25,可能在15-25fps波动。 在这里插入图片描述

参考文章: 视频带宽计算公式(码流_分辨率_帧率)。 性能测试中如何分析查看网络带宽占用情况。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有