当前位置: 首页 > news >正文

【音视频原理】图像相关概念 ② ( 帧率 | 常见帧率标准 | 码率 | 码率单位 )

文章目录

  • 一、帧率
    • 1、帧率简介
    • 2、常见帧率标准
    • 3、帧率 = 刷新率
  • 二、码率
    • 1、码率简介
    • 2、码率单位






一、帧率



1、帧率简介


帧率 Frame Rate , 帧 指的是 是 画面帧 , 帧率 是 画面帧 的 速率 ;

帧率 的 单位是 FPS , Frames Per Second , 是 每秒钟 的 画面帧 个数 ;


帧率 是 动画 / 电影 / 游戏 的 每秒钟 的 画面数 , 用于 测量 视频 的 信息数量 ;

帧率 越高 , 视频 信息数量越多 ;

帧率 与 流畅度 相关 , 帧率越高 , 流畅度越高 , 需要的设备 性能越高 ;

注意 区分 帧率 与 清晰度 , 清晰度指的是 画面的 像素个数 , 像素越高 清晰度越高 ;


2、常见帧率标准


连续画面标准 : 当我们看 图像 画面时 , 画面帧 会 在 视网膜 中暂时停留 , 如果 帧率 达到了 24 帧 / 秒 , 我们的 大脑就会认为 这个 图像是连续的 ;

常见帧率 :

  • 电影 : 24 FPS
  • 电视剧 / 监控 : 25 FPS
  • 视频通话 : 15 FPS
  • 游戏 : 60 FPS

帧率 对于视频 / 电影 / 游戏 等 动态图像 的 流畅度 和 观感 有着重要影响 , 帧率越高 体验越好 , 流畅度越高 , 越消耗性能 , 视频文件越大 ;

帧率参考 :

在这里插入图片描述


3、帧率 = 刷新率


在 3D 游戏中 , 帧率 可以理解为 " 刷新率 " , 单位是 赫兹 Hz , 表示 1 秒钟 屏幕画面刷新次数 ;

电脑中 为了 保证 动作流畅 , 电脑的 画面 至少 30 帧以上 ;

一般情况下 游戏的 帧率为 60 Hz , 表示 1 秒钟要刷新 60 幅画面 ;





二、码率



1、码率简介


码率 指的是 视频文件 在 单位时间内 的 数据流量 , 单位一般是 Mbps , 这是数据传输速率的一种单位 ;

Mbps 表示单位时间内传送比特的数目 , 通常用于衡量数字信号的传输速率 , 如 : 视频 / 音频 等多媒体数据的传输速率 , 网络带宽速率 等 ;


一般情况下 , 码率越高 , 视频的 分辨率 越高 , 视频越清晰 ; 但不是绝对的 , 有些时候 模糊的文件 码率也很高 ;


对 相同的 原始 视频图像 进行编码时 , 编码算法相同 , 码率越高 :

  • 图像 / 声音质量越高
  • 视频图像失真越小
  • 传输的数据量越大
  • 传输需要的带宽越大
  • 视频画面越清晰
  • 视频越流畅

2、码率单位


码率的单位 是 " Mbps " , 英文全称 " Megabits Per Second " , " 兆比特每秒 " , 是 传输速率单位 , 指每秒传输 比特 数量 ;

1 Mbps 代表每秒传输 1,000,000 位 ( 比特 , bit ) , 8 bit = 1 Byte , Byte 是字节 , 每字节 有 8 位 , 即 每秒传输的数据量为 1,000,000 / 8 =125,000 Byte / s ;


Mbps 主要用来描述数据传输速度 , 如 : 网络带宽 / 硬盘读写速度 等 , 数值越大代表速度越快 ;

以网络带宽为例 , 1M 的宽带 , 那么平均下载速率约为 100kb/s ;


Mbps 和 MBps 是两个不同的单位

  • Mbps 表示每秒传输的比特数
  • MBps 表示每秒传输的字节数

由于 1 Byte 由 8 bits 组成 , 1 Mbps 等于 0.125 MBps ;


#include "iostream"
using namespace std;
#include <vector>
#include <algorithm>
#include "functional"int main() {// 控制台暂停 , 按任意键继续向后执行system("pause");return 0;
};

相关文章:

【音视频原理】图像相关概念 ② ( 帧率 | 常见帧率标准 | 码率 | 码率单位 )

文章目录 一、帧率1、帧率简介2、常见帧率标准3、帧率 刷新率 二、码率1、码率简介2、码率单位 一、帧率 1、帧率简介 帧率 Frame Rate , 帧 指的是 是 画面帧 , 帧率 是 画面帧 的 速率 ; 帧率 的 单位是 FPS , Frames Per Second , 是 每秒钟 的 画面帧 个数 ; 帧率 是 动画…...

CSS Position总结:定位属性的实战技巧

CSS Position总结&#xff1a;定位属性的实战技巧 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;在今天的文章中&#xff0c;我们将深入研究CSS中一个至关重要的属…...

python基础系列二-函数

系统函数 函数说明abs返回一个数的绝对值&#xff0c;例如&#xff1a;abs(-1.3)会返回1.3。bin把一个整数转换成以0b开头的二进制字符串&#xff0c;例如&#xff1a;bin(123)会返回0b1111011。chr将Unicode编码转换成对应的字符&#xff0c;例如&#xff1a;chr(8364)会返回…...

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用短曝光功能(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用短曝光功能&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机NEOAPI SDK和短曝光功能的技术背景Baumer工业相机通过NEOAPI SDK使用短曝光功能1.引用合适的类文件2.通过NEOAPI SDK使用短曝光功能3.通过NEOAPI SDK关闭短…...

提升开发效率,Fiddler Everywhere for Mac助您解决网络调试难题

在现代软件开发中&#xff0c;网络调试是一个不可或缺的环节。无论是前端开发还是后端开发&#xff0c;我们经常需要对网络请求进行监控和调试&#xff0c;以便及时发现并解决问题。而Fiddler Everywhere for Mac作为一款强大的网络调试工具&#xff0c;能够帮助开发者提升工作…...

JVM工作原理与实战(十九):运行时数据区-方法区

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、运行时数据区 二、方法区 1.方法区介绍 2.方法区在Java虚拟机的实现 3.类的元信息 4.运行时常量池 5.字符串常量池 6.静态变量的存储 总结 前言 JVM作为Java程序的运行环境…...

webassembly003 whisper.cpp的项目结构CMakeLists.txt

注&#xff1a;带星号的为非重要部分 基础配置 cmake_minimum_required (VERSION 3.5)project(whisper.cpp VERSION 1.5.0)# Add path to modules list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") # 在\cmake文件夹下还有BuildTypes.cmake&a…...

克魔助手工具详解、数据包抓取分析、使用教程

目录 摘要 引言 克魔助手界面 克魔助手查看数据捕获列表 数据包解析窗口 数据包数据窗口 克魔助手过滤器表达式的规则 抓包过滤器实例 总结 参考资料 摘要 本文介绍了克魔助手工具的界面和功能&#xff0c;包括数据包的捕获和分析&#xff0c;以及抓包过滤器的使用方…...

【Docker】contos7安装 Nacos容器部署单个部署集群

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是平顶山大师&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《Docker】contos7安装 Nacos容器部署单个&…...

UML-通信图和交互概览图(通信图和顺序图的区别与联系)

UML-通信图和交互概览图&#xff08;通信图和顺序图的区别与联系&#xff09; 一、通信图简介1.消息2.链接 二、通信图和[顺序图](https://blog.csdn.net/weixin_65032328/article/details/135587782)的联系与区别三、交互概览图四、顺序图转化为通信图练习 一、通信图简介 通…...

Linux 使用PS命令掌握进程管理

在Linux系统中&#xff0c;进程管理是系统管理员和开发人员必备的技能之一。而PS命令作为进程管理的重要工具&#xff0c;可以帮助我们查看和监控系统中运行的进程。本文将详细解析PS命令的使用方法和输出结果&#xff0c;帮助读者全面掌握进程管理的利器。 PS命令概述&#xf…...

Debian 10.13.0 安装图解

引导和开始安装 这里直接回车确认即可&#xff0c;选择图形化安装方式。 选择语言 这里要区分一下&#xff0c;当前选中的语言作为安装过程中安装器所使用的语言&#xff0c;这里我们选择中文简体。不过细心的同学可能发现&#xff0c;当你选择安装器语言之后&#xff0c;后续安…...

SQLite 3.45.0 发布!

SQLite 开发团队于 2024 年 01 月 18 日发布了 SQLite 3.45.0 版本&#xff0c;带来了一些 JSON 和优化器增强&#xff0c;让我们一睹为快&#xff01; JSON 函数 SQLite 3.45.0 版本开始&#xff0c;所有的 JSON 函数将会使用全新的内部格式存储 JSON 数据&#xff0c;也就是…...

MongoDB聚合:$set

聚合$set阶段可以为文档添加新的字段。$set输出的文档包含输入文档中的所有现有字段和新添加的字段。$set是$addFields的别名&#xff0c;从MongoDB4.2开始支持。$set和$addFields等价于$project阶段&#xff0c;这两个阶段都等同于 $project 阶段&#xff0c;后者明确指定输入…...

《Python数据分析技术栈》第01章 02 Jupyter入门(Getting started with Jupyter notebooks)

02 Jupyter入门&#xff08;Getting started with Jupyter notebooks&#xff09; 《Python数据分析技术栈》第01章 02 Jupyter入门&#xff08;Getting started with Jupyter notebooks&#xff09; Before we discuss the essentials of Jupyter notebooks, let us discuss…...

【征服redis5】redis的Redisson客户端

目录 1 Redisson介绍 2. 与其他Java Redis客户端的比较 3.基本的配置与连接池 3.1 依赖和SDK 3.2 配置内容解析 4 实战案例&#xff1a;优雅的让Hash的某个Field过期 5 Redisson的强大功能 1 Redisson介绍 Redisson 最初由 GitHub 用户 “mrniko” 创建&#xff0c;并在…...

React16源码: React中的beginWork的源码实现

beginWork 1 &#xff09;概述 在 renderRoot 之后&#xff0c;要对我们的 Fiber 树每一个节点进行对应的更新更新节点的一个入口方法&#xff0c;就是 beginWork这个入口方法会有帮助我们去优化整棵树的更新过程 react 它的节点其实是非常多的&#xff0c;如果每一次子节点的…...

5-微信小程序语法参考

1. 数据绑定 官网传送门 WXML 中的动态数据均来自对应 Page 的 data。 数据绑定使用 Mustache 语法&#xff08;双大括号&#xff09;将变量包起来 ts Page({data: {info: hello wechart!,msgList: [{ msg: hello }, { msg: wechart }]}, })WXML <view class"vie…...

数组练习 Leetcode 566.重塑矩阵

在 MATLAB 中&#xff0c;有一个非常有用的函数 reshape &#xff0c;它可以将一个 m x n 矩阵重塑为另一个大小不同&#xff08;r x c&#xff09;的新矩阵&#xff0c;但保留其原始数据。 给你一个由二维数组 mat 表示的 m x n 矩阵&#xff0c;以及两个正整数 r 和 c &#…...

Linux centos中find命令的多种用途:按照具体应用来详细说明find的用法举例

目录 一、find命令 二、find命令的语法 &#xff08;一&#xff09;语法格式 &#xff08;二&#xff09;选项 1、选项(option)介绍 2、控制符号链接的option 3、调试选项debugopts 4、优化选项 &#xff08;三&#xff09;表达式expression 1、选项options 2、测试…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

《Docker》架构

文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器&#xff0c;docker&#xff0c;镜像&#xff0c;k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...

文件上传漏洞防御全攻略

要全面防范文件上传漏洞&#xff0c;需构建多层防御体系&#xff0c;结合技术验证、存储隔离与权限控制&#xff1a; &#x1f512; 一、基础防护层 前端校验&#xff08;仅辅助&#xff09; 通过JavaScript限制文件后缀名&#xff08;白名单&#xff09;和大小&#xff0c;提…...

路由基础-路由表

本篇将会向读者介绍路由的基本概念。 前言 在一个典型的数据通信网络中&#xff0c;往往存在多个不同的IP网段&#xff0c;数据在不同的IP网段之间交互是需要借助三层设备的&#xff0c;这些设备具备路由能力&#xff0c;能够实现数据的跨网段转发。 路由是数据通信网络中最基…...