00-音视频-概述

有很多场合会使用的音视频,比如安防、视频闸机、影音播放器、视频通话,短视频等等。

从摄像头采集到用户观看,这中间涉及到了很多技术。

用户一般观看的高清视频1080P30帧。若按24位RGB对视频进行存储,一个60分钟视频所占空间

size=60*60*1920*1080*30*3=625G

也就是说,一个60分钟的视频需要625G的硬盘容量,这么大的数据量,是现在的计算机系统所无法允许的。

因而对于摄像头采集的RGB或者YUV数据而言,我们需要将其占有的空间变小,这一步压缩视频的操作要作编码,市面上将原始视频编码成H264或H265,而将H264或H265还原成RGB或YUV的操作,要作解码。

音频的原始数据是PCM格式,将其编码可得G711和AAC格式的音频数据,同样也存在解码的操作。

我们看见一个电影,一般是MP4等格式,并且MP4视频是有音频,视频,字幕的。原因就是将音频,视频等数据进行了Mp4封装。

视频封装,其实就是把所有相关信息(视频、音频、字幕、媒体信息等)打包为一个文件。比如,将H.264编码的视频和MP3编码的音频按照MP4的封装标准封装起来,这样我们看到的就是MP4格式的视频文件了。

因而,摄像头设备端所完成事情就是将源音视频数据编码,封装成一个MP4或RMVB文件,而客户端需要完成的是将Mp4视频解封装, 解码成视频RGB,PCM显示与播放。

另外现在的抖音,网站,或者电影,我们会发现大多数情况下,采集端与播放端并不是一个设备,播放端获取获取采集端视频的方法,最普遍的就是网络传输。

现在我们清楚了音视频领域所要完成的工作,后面我们对每一种工作所用的最常用的技术进行举例:

1.编码:

视频编码方式:YUV->H264

音频编码:PCM->G711A

2.写封装

H264,G711A->MP4

3.网络传输

按协议封包

解协议

4.解封装

MP4->H264,G711A

5.解码

H264->YUV

G711A->PCM

相关推荐
愚公搬代码2 小时前
【愚公系列】《AI短视频创作一本通》019-AI语音及音乐的创作(AI短视频语音创作实例)
人工智能·音视频
iWZXQxBO14 小时前
运动控制卡 倒R角程序 G代码 halcon联合运动控制卡联合相机 运动控制卡内容
音视频
woshikejiaih19 小时前
**播客听书与有声书区别解析2026指南,适配不同场景的音频
大数据·人工智能·python·音视频
Mr数据杨20 小时前
【ComfyUI】AV-FunASR 音频转文本
音视频
凉辰1 天前
使用uni.createInnerAudioContext()播放指定音频(踩坑分享功能)
开发语言·javascript·音视频
AI资源库1 天前
Remotion 一个用 React 程序化制作视频的框架
人工智能·语言模型·音视频
永远都不秃头的程序员(互关)1 天前
基于CANN的ops-signal仓库实现AIGC音频生成中的动态窗函数融合优化——从STFT预处理到端到端低延迟合成
aigc·音视频
薛定谔的猫喵喵1 天前
基于PyQt5的视频答题竞赛系统设计与实现
开发语言·qt·音视频
byte轻骑兵1 天前
从HCI报文透视LE Audio重连流程(3):音频流建立、同步与终止
音视频·蓝牙·le audio·cig/cis·广播音频
三十_A1 天前
零基础通过 Vue 3 实现前端视频录制 —— 从原理到实战
前端·vue.js·音视频