视频相关学习笔记

YUV

和rgb一样是一种表示色彩的格式,Y表示亮度,UV表示色度(U是蓝色投影,V是红色投影),只有Y就是黑白的,所以这个格式的视频图片可以兼容黑白电视,所以彩色电视使用的都是YUV

存储方式

planar
先存储Y之后是U最后存V
packed
YUV依次存放

采样方式

4:4:4
8+8+8 = 24bits = 3bytes
4:2:2 (两个Y用一个UV)
8+4+4 = 16bits = 2bytes
4:2:0 (UV交替采样)
8+2+2 = 12bits = 1.5bytes

采样介绍

网上找到一张图,这个就很清楚的解释了什么是采样,如何采样。
这里也能看出YUV相对于RGB的优势,RGB属于4:4:4一个像素3字节,而YUV可以压缩到1.5字节
在这里插入图片描述

参考:
对YUV4:2:0认识理解
YUV图像基础知识

H264

一种视频编码格式

帧类别

介绍不同帧之前首先要知道不是所有的帧都是完整的,毕竟如果每一帧都是关键帧,一个1920 * 1080的YUV4:2:0的图片就要1920 * 1080 * 15bytes的大小,有3MB左右,这个量级看一个300帧一个G就快没有了,如果按1s30帧来看,只需10s你就会花费一个G的流量,想也知道不太现实,所以不是每一帧都是关键的,因此分出了IPB三种帧。
GOP
既然知道有三种帧,那么肯定需要按一定规律放置,按一组一组分开,那么这个组就是GOP。这个GOP是按I帧分开的,所以每个GOP中只有一个I帧
I帧
关键帧,最大,最完整的一帧
P帧
需要根据前一个I帧或P帧计算所得,数据并不完整,数据量比I帧少,视频中大多数都是P帧。
B帧
需要根据前一个和后一个I帧或P帧计算所得,数据最不完整,是最小的帧。

图像运动越快GOP越短,运动越慢GOP越大

应用

直播环境
直播环境下,为了避免首次打开直播花屏的情况,一般采用缓存I帧的办法(但是缓存设置过大会导致延迟高的情况)
直播流禁止B帧,因为B帧需要前后的帧才能推算出来

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/104529.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue 2 生命周期与 Vue 3 生命周期:介绍与差别对比

目录 引言: 一、Vue 2 生命周期介绍: 二、Vue 3 生命周期介绍: 注册周期钩子​ 生命周期图示 生命周期 三、Vue 2 生命周期与 Vue 3 生命周期的差别对比: 引言: Vue.js 是一款流行的 JavaScript 框架&#xff0…

蓝桥杯每日一题2023.10.22

题目描述 灵能传输 - 蓝桥云课 (lanqiao.cn) 题目分析 发现每一次的灵能传输都是对前缀和s[i - 1]和s[i]的一次交换 我们发现只剩下s1没有相减,在这里我们可以添加一个为0的s0,使整个式子表示完整 故为求max(s[i], s[i - 1])的最小值(发现…

Linux笔记之diff工具软件P4merge的使用

Linux笔记之diff工具软件P4merge的使用 code review! 文章目录 Linux笔记之diff工具软件P4merge的使用1.安装和配置2.使用:p4merge a.cc b.cc3.配置git 参考博文: Ubuntu Git可视化比较工具 P4Merge 的安装/配置及使用 1.安装和配置 $ wget https://cdist2.per…

避雷!又有2本期刊被标记“On Hold”!含中科院2区(TOP),共8本有风险!

期刊动态:新增2本期刊“On Hold” 最新,又有2本期刊被科睿唯安标记为「On Hold」!这2本期刊分别为MIGRATION LETTERS和REVISTA DE GESTAO E SECRETARIADO-GESEC。 目前科睿唯安官网:共有8本期刊被标记为「On Hold」,…

http代理IP它有哪些应用场景?如何提升访问速度?

随着互联网的快速发展,越来越多的人开始关注网络速度和安全性。其中,代理IP技术作为一种有效的网络加速和安全解决方案,越来越受到人们的关注。那么,http代理IP有哪些应用场景?又如何提升访问速度呢? 一、h…

游戏研发的解决方案有哪些?

游戏研发的解决方案可以根据不同的需求和情境而有所不同,以下是一些常见的游戏研发解决方案: 游戏引擎: 游戏引擎是游戏研发的基础,它提供了开发游戏所需的核心功能,如图形渲染、物理引擎、音效管理、动画等。一些流行…

c++构造函数

目录 构造函数1、概念2、为什么使用构造函数3、构造函数的特性4、番外 构造函数 1、概念 构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,以保证每个数据成员都有 一个合适的初始值,并且在对象整个生命周期…

蓝桥杯(修建灌木 C++)

思路&#xff1a;到两边的距离&#xff0c;取大的一端&#xff1b;因为会来回循环&#xff0c;所以需要乘2。 #include <iostream> using namespace std; int main() {int n;cin>>n;for(int i1;i<n;i){cout<<max(i - 1,n - i) * 2<<endl;}return 0;…

Luckyexcel 加载 springboot 后台返回的 excel 文件并显示

&#x1f451; 博主简介&#xff1a;知名开发工程师 &#x1f463; 出没地点&#xff1a;北京 &#x1f48a; 2023年目标&#xff1a;成为一个大佬 ——————————————————————————————————————————— 版权声明&#xff1a;本文为原创文…

福建三明大型工程机械3D扫描测量工程零件开模加工逆向抄数-CASAIM中科广电

高精度3D扫描测量技术已经在大型工件制造领域发挥着重要作用&#xff0c;可以高精度高效率实现全尺寸三维测量&#xff0c;本期&#xff0c;CASAIM要分享的应用是大型工程机械3D扫描测量案例。 铣轮是深基础施工领域内工法先进、技术复杂程度高、高附加值的地连墙设备&#xff…

[数据分析与可视化] 基于Python绘制简单动图

动画是一种高效的可视化工具&#xff0c;能够提升用户的吸引力和视觉体验&#xff0c;有助于以富有意义的方式呈现数据可视化。本文的主要介绍在Python中两种简单制作动图的方法。其中一种方法是使用matplotlib的Animations模块绘制动图&#xff0c;另一种方法是基于Pillow生成…

智慧实验室系统云LIS全套源码,满足医院实验室、医院集团、独立实验室、临检中心及其它检验机构的专业化检验需求。

​电子化检验信息平台 智慧实验室系统云LIS全套源码 LIS系统是医院信息管理的重要组成部分之一&#xff0c;集申请、采样、核收、计费、检验、审核、发布、质控、查询、耗材控制等检验科工作为一体的网络管理系统。LIS系统不仅是自动接收检验数据&#xff0c;打印检验报告&…

【AICFD案例操作】溃坝过程模拟

AICFD是由天洑软件自主研发的通用智能热流体仿真软件&#xff0c;用于高效解决能源动力、船舶海洋、电子设备和车辆运载等领域复杂的流动和传热问题。软件涵盖了从建模、仿真到结果处理完整仿真分析流程&#xff0c;帮助工业企业建立设计、仿真和优化相结合的一体化流程&#x…

使用Redis部署 PHP 留言板应用

使用Redis部署 PHP 留言板应用 启动 Redis 领导者&#xff08;Leader&#xff09;启动两个 Redis 跟随者&#xff08;Follower&#xff09;公开并查看前端服务清理 启动 Redis 数据库 创建 Redis Deployment apiVersion: apps/v1 kind: Deployment metadata:name: redis-le…

【谢希尔 计算机网络】第4章 网络层

目录 网络层 网络层的几个重要概念 网络层提供的两种服务 网络层的两个层面 网际协议 IP 虚拟互连网络 IP 地址 IP 地址与 MAC 地址 地址解析协议 ARP IP 数据报的格式 IP 层转发分组的过程 基于终点的转发 最长前缀匹配 使用二叉线索查找转发 网际控制报文协议…

一个JNI的Demo,linux上下载就可以用

最近用到了Java&#xff0c;需要用Java调用c做的.so&#xff0c;搜了一下&#xff0c;有一个demo&#xff0c;但是这个demo有严重的问题。 加载.so的时候不好好地用 System.loadLibrary("hello"); 他用System.load("hello");这个函数需要使用全路径。总是…

红路灯识别

1.截图图像中的目标对象 1.1 查找边界矩形 1.1.1直边界矩形 一个直矩形&#xff08;就是没有旋转的矩形&#xff09;。它不会考虑对象是否旋转。所以边界矩形的面积不是最小的。 cv2.boundingRect(array) 输入&#xff1a;点集 输出&#xff1a;&#xff08;x&#xff0c;y…

怎么防止文件夹被删除、复制?

当文件夹中存放重要数据时&#xff0c;我们需要严格保护文件夹的安全&#xff0c;避免文件夹被复制、删除。那么&#xff0c;该怎么防止文件夹被删除、复制呢&#xff1f;下面我们就一起来了解一下。 ​文件夹隐藏 当文件夹被隐藏时&#xff0c;其他人无法发现文件夹&#xff…

Java 中是如何获取 IP 属地的

随着互联网的普及&#xff0c;人们在使用计算机或移动设备上网时&#xff0c;都会被分配一个IP地址&#xff0c;以便进行网络通信。而当我们访问某个网站或使用某些网络服务时&#xff0c;我们通常会发现不同地区的用户会显示不同的IP属地。那么&#xff0c;在Java中是如何获取…

Lua-http库写一个爬虫程序怎么样 ?

目录 一、了解Lua-http库 二、爬虫程序的需求分析 三、爬虫程序的实现步骤 四、代码示例 总结 随着互联网的快速发展&#xff0c;网络爬虫已经成为了获取信息的重要手段之一。Lua-http库作为一个强大的HTTP库&#xff0c;可以轻松地帮助我们实现爬虫程序。本文将介绍如何使…