音视频学习一

0.音视频编解码流程

一.图像基础概念

基础概念:分别率,像素,位深,码率(带宽),跨距Stride

一. 1920*1080 的分别率的 像素就是 1920 * 1080 = 200w多

二.每个色彩RGB 每个占8个bit 0-255 也可以为10bit比较贵

三.帧率越高 码率(带宽)越低

注:码率:视频文件在单位时间内使用的数据流量。比如1Mbps(bit/s)。

四. 三者不能同时兼顾

五.原始数据决定分辨率,ai是修复数据的,原始720p不能变为1080p

六.Stride跨距

■Stride:指在内存中每行像素所占的空间。为了实现内存对齐每行像素在内存中所占

的空间并不一定是图像的宽度。

■Stride就是这些扩展内容的名称,Stride也被称作Pitch,如果图像的每一行像素末尾拥

有扩展内容,Stride的值一定大于图像的宽度值,就像下图所示:

■比如分辨率638x480的RGB24图像,我们在内存处理的时候如果要以16字节对齐,如果不够就补齐,但是他补全的padding的内容不会保存到本地

七.YUV

  • Y(亮度):负责形状和细节。

  • U 和 V(色度):负责颜色本身。

■打包(packed)格式:将每个像素点的Y、U、V分量交叉排列 并以像素点为单元连续的存放

在同一数组中,通常几个相邻的像素组成一个宏像素(macro-pixel)

■平面(planar)格式:使用三个数组分开连续的存放Y、U、V三个分量 ,即Y、U、V分别存

放在各自的数组中。

YUV420 是用的最多 (4+1 +1) / 4 = 1.5 字节

有YUV422 444 等可以了解

YUV解码失败分量为000 转为RGB,可能会变成绿色

因为R 为 负数,G为整数 ,B也为负数

二 音频基础概念:

■人耳能听见的声音 为 20Hz~20KHZ
但是计算机需要使用采样定理,两倍频率去采集,采集后可以再去还原出来的声音。

麦克风采集模拟世界20kh-》AD-》计算机采样2倍的20khz,48khz、44.1khz-》DA转换-》喇叭播放

音频每帧多少秒怎么算

2. 如果没有按照原本的 LR 或 LLLRRR 方式保存,会发生什么?

情况 1:声道错乱

  • 如果本来应该是 L R L R 交替的立体声,却变成了 L L R R 或其他顺序:

    • 声音会变"怪",左右声道的音频信息错位

    • 某些乐器的声音可能跑到错误的一边

    • 如果是人声,可能出现相位问题,听起来空洞或失真

情况 2:单声道变立体声

  • 如果本来是单声道(LLLLL),但强行按立体声(LR)保存:

    • 两个声道听到的是相同内容,但文件体积变大

    • 没有真正的立体声效果

下面这种就会和视频相差两秒就会出现,会出现画面和音频不一致的问题

相关推荐
别动我齐刘海10 分钟前
Linux 系统调试学习1
linux·运维·服务器·c++·学习·机器学习·机器人
国产化创客1 小时前
ESP32音频/语音技术(4)AudioTools 库及转发播放程序分析
物联网·音视频·esp32
martindelophy1 小时前
浏览器视频导出太慢怎么优化?一次 WebCodecs 实践:8 分钟视频耗时降低 31%
性能优化·音视频·优化
xier_ran2 小时前
【infra之路】AI 编译器学习笔记(二):重拾 C++——移动语义与 LLVM 风格的类型转换
人工智能·笔记·学习
Dovis(誓平步青云)2 小时前
常用命令藏得太深?怎么做一个快捷命令坞
运维·前端·自动化·音视频·prometheus
li星野4 小时前
5 TYPES OF ADVERBS — One-Page Notes
学习
星恒随风4 小时前
Linux库的底层原理:ELF文件格式、静态链接、程序加载、虚拟地址空间与GOT/PLT详解
linux·运维·笔记·学习·状态模式
罗西的思考4 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 — (7)— 混合机制
笔记·学习
starsky762385 小时前
Agent学习——上下文工程(三)
学习
xier_ran6 小时前
【infra之路】AI 编译器学习笔记(四):PatternRewriter 与贪心 driver
人工智能·笔记·学习