摄像头每路视频每天到底产生多少数据?

摄像头每路视频每天到底产生多少数据?

计算公式

一般来说:视频文件体积 = (视频码率+音频码率[如果有]) x 时长 / 8

单路视频24小时存储1天的计算公式∑(GB)=码流大小(Mbps)÷8×3600秒×24小时×1天÷1024。

  • 全高清1080P(1920x1080)格式:按8Mbps码流计算,存放1天的数据总容量8Mbps÷8×3600秒×24小时 ×(1天)÷1024=84GB。

  • 高清720P(1280×720)格式:按4Mbps码流计算,存放1天的数据总容量4Mbps÷8×3600秒×24小时 ×(1天)÷1024=42GB。

  • 标清4CIF(704*576)存储格式:按2Mbps码流计算,存放1天的数据总容量2Mbps÷8×3600秒×24小时 ×(1天)÷1024=21GB。

  • CIF(352288)存储格式:按512Kbps码流计算,存放1天的数据总容量512Kbps÷8×3600秒×24小时 ×(1天)÷1024=5.4GB。

我们也可以反推:如果一个视频文件大小有10GB,时长为90分钟(5400秒), 那么它的码率(视频+音频)为:

10 x 1024 x 8 / 5400 = 15 Mbps。

几个先验知识概念

像素及显示问题,大概主要牵扯到3个概念:像素、分辨率、密度。

一、码流

码流大小,包含视频码率和音频码率;视频码率为3Mbps, 音频码率为512Kbps

所以针对视频文件,文件大小主要与时长、音频的码率、视频的码率以及音频流、视频流的个数。

对720P, 1080P,它们的码率会有多种,从几Mbps到几十Mbps,都有可能,就看视频内部采用什么编码及用什么设备录制这个视频了。

比如大疆的禅思H20系列最大码率:

红外:2Mbps

广角:15Mbps

变焦:70Mbps

当前:32Mbps

二、像素

我们常说的像素,一般就是指图像含有多少个像素点,我们就以720P、1080P为例:

1080P的实际像素是 1920*1280, 相乘结果是 2073600,即有2073600个像素点, 也就是常说的1080P为200万像素。

720P实际像素是1280×720, 相乘结果921600,即有921600个像素点,也就是常说的720P为100万像素

图像占用空间大小计算公式:图像像素*图像位深/8 = 占用字节

如果一张图片像素为1024*1024, 位深32位,则图片占用空间大小为:

1024102432/8 = 4194304 byte = 4096 KB

三、分辨率

分辨率常指的是设备输出分辨率或叫屏幕分辨率,即屏幕上横竖有多少个容器点,每个容器点用于容纳一个像素,例如iPhone 5s, 它的分辨率为1136*640,用它看1080P,其实只能看到1136*640多个像素点,不能发挥1080P优势,很多细节会被忽略。

四、帧率

帧率:FPS(Frames Per Second)每秒钟要多少帧画面。影响画面流畅度,与画面流畅度成正比:帧率越大,画面越流畅;帧率越小,画面越有跳动感。

帧率一般不超过24, 如果限定一个码率,比如800kbps,那么帧率越高,编码器就必须加大对单帧画面的压缩比,也就是通过降低画质来承载足够多的帧数。如果视频源来自摄像头,24FPS已经是肉眼极限,所以一般20帧的FPS就已经可以达到很好的用户体验了。

来源: https://www.jianshu.com/p/3252f8931dc3

五、密度

指的是每英寸包括多少个像素点,单位PPI(Pixels Per Inch)。

屏幕PPI计算方式:

比如iPhone 5s屏幕分辨率为: 1136640, 尺寸为4英寸,则PPI为 (11361136+640*640)/4, 开根号,大概就是325。

PPI超过300就可以算是视网模屏了,肉眼已经分辨不出像素点来。

假设我有A、B两部手机,两者屏幕的宽度分辨率都是320*640,但A的尺寸为3.5英寸,B的宽度为7英寸,那么显然是A手机的密度大,

所有A的图像看起来更清晰,而B的看起来要模糊些,图像也要大些。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android中摄像头数据流可以用视频来替换。通常情况下,Android设备上的摄像头会捕获实时图像,并将其作为数据流传输到应用程序中。这个数据流是由连续的图像帧组成的,并且可以通过各种方式进行处理和显示。 如果我们想要将摄像头数据流用视频来替代,我们可以将这些连续的图像帧保存为视频文件。Android平台提供了强大的多媒体库,可以对摄像头数据流进行编码和解码,以便将其保存为视频文件或从视频文件中提取数据流。 要实现这一过程,我们可以使用Android的MediaRecorder类或MediaCodec类来进行视频编码。首先,我们需要创建一个MediaRecorder对象或MediaCodec对象,然后设置相关的配置参数,如视频编码格式、帧率、分辨率等。接下来,我们可以通过设置输入源为摄像头数据流,并调用开始录制或编码的方法来开始录制视频。 在录制过程中,我们可以选择将每个捕获的图像帧保存为视频文件的一部分,或者在录制完成后将其作为整个视频的一部分。录制完成后,我们可以使用播放器或其他多媒体工具来播放、编辑或分享所创建的视频文件。 需要注意的是,由于视频编码和数据流处理需要大量的计算资源和存储空间,因此在进行这个过程时,我们要确保设备具备足够的处理能力和可用存储空间。另外,还要注意管理和处理视频文件的权限和生命周期,以避免资源浪费或数据丢失的问题。 总而言之,Android摄像头数据流可以使用视频来替换,通过使用Android的多媒体库和相关的类,我们可以将摄像头数据流编码为视频文件,并对其进行处理、保存和分享。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值