音视频基础知识点

视频相关概念

流媒体协议

流媒体协议是指将一连串的媒体数据压缩后,以流的方式在网络中分段传送,实现在网络上实时传输影音以供观赏的一种技术。例如HTTP, RTMP, HLS等。

容器

一般吧MP4, flv, mov等称之为容器,也就是在这些常用格式中,可以存放多路音视频文件。例如在MP4中,就可以存放一路视频流,多路音频流和多路字幕流。

js 复制代码
// 使用ffmpeg查看其支持的容器格式
ffmpeg -formats
// 使用ffmpeg查看是否支持某个格式(例如FLV)
ffmpeg -codecs | grep FLV

编码格式

音视频文件需要经过编码压缩,才能保存为文件。不同的编码格式有不同的压缩率,导致不同的清晰度和文件大小。常见的视频编码格式h264, h265, MPEG-4等。常见的音频编码格式mp3, aac等。

js 复制代码
// 查看ffmpeg支持的音视频编码格式
ffmpeg -codecs

视频解码流程

解协议 的作用,就是将流媒体协议的数据,解析为标准的相应的封装格式数据。流媒体协议主要包括RTMP,HLS以及HTTP等。比如一个HTTP的视频链接,http://111.229.14.189/file/1.mp4, 经过解协议之后,会得到1.mp4封装格式的视频

解封装:解封装就是将音频码流和视频码流从1.mp4文件中分离出来。1.MP4文件经过解封装后,会得到编码格式为h264的视频压缩数据和编码格式为aac的音频压缩数据。

音视频解码 :将压缩的音视频数据转化原始的数据,视频的原始数据就是一帧帧的图像,音频的原始数据就是YUM数据

视音频同步的作用,就是根据解封装模块处理过程中获取到的参数信息,同步解码出来的视频和音频数据,并将视频音频数据送至系统的显卡和声卡播放出来。

音频相关

音频数据量化指标

音频原始数据格式PCM(纯音频数据),WAV(存在音频格式头,基本也是原始数据)

  1. 采样大小: 一个采样用多少bit存放,通常是16bit
  2. 采样率: 每秒采样的频率, 一般有8k, 16k, 32, 44.1k, 48k(接近原声)
  3. 声道数: 单声道,双声道,立体声(多声道)

原始音频数据的大小 = 采样大小 * 采样率 * 声道数 * 时间

原始音频数据非常大,需要进行压缩

音频压缩

  1. 有损压缩(去除冗余信息,例如人听不到的频率或者被遮蔽的声音)
  2. 无损压缩(无损加解码,例如哈夫曼编码)

ffmpeg录制音频

js 复制代码
// 查找设备麦克风名字
ffmpeg -list_devices true -f dshow -i dummy
// 录制音频 ctrlc结束
ffmpeg -f dshow -i audio="audio_name" -acodec aac desktop.aac
  • -f: 使用的插件库,windows下使用dshow
  • -i: 表示输入设备,"audio_name"使用本机的麦克风名称
  • -acodec: 音频格式

视频相关

像素

每个像素是包括三个发光二极管,由三个二极管不同的亮度展示各种颜色

常用像素的色值有rgb(24位),rgba(32位)

PPI: 屏幕每英寸(等于2.54厘米)的像素点数,PPI > 300时达到视网膜级别

视频数据量化指标

帧率(fps): 每秒采集或播放图像的个数 (浏览器fps正常为60)

屏幕分辨率: 屏幕分辨率表示显示器或整个屏幕中有多少像素(例如1920 * 1080标识横向1920个像素点,纵向1080个像素点。常见的横纵像素比例是16 / 9 或者4 / 3)

未编码的视频数据(码流) = fps * 色值位长(rgb为3B, rgba为4B) * 屏幕分辨率

原始音频数据非常大,例如正常屏幕和帧率的rgb码流: 1920 * 1080 * 3 * 30 = 186624000B = 186.6M

相关推荐
weixin_382395236 小时前
为小工厂量身打造:本地部署的物料管理系统带缺料计算
前端·制造
__zRainy__6 小时前
解决pnpm v10+不自动构建
前端·pnpm·工程化
猫猫不是喵喵.7 小时前
Vue3 Props 属性
前端·javascript·vue.js
醉城夜风~8 小时前
CSS元素显示模式(display)
前端·css
AI大模型-小华9 小时前
Codex 三方充值快速入门指南
java·前端·数据库·chatgpt·ai编程·codex·chatgpt pro
做前端的娜娜子11 小时前
同一链接实现 PC Web 与移动 H5 自适应
前端·掘金·金石计划
小帅不太帅11 小时前
架构没变、规模没变,DeepSeek V4 Flash 正式版凭什么暴涨 47 分?
前端·aigc·deepseek
jarvisuni12 小时前
DeepSeekFlash前端依旧拉垮,而且变慢了很多!
前端·javascript·算法
卷福同学13 小时前
AI编程出海第二步:验证关键词能否做站
前端·人工智能·后端