博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
音视频基础知识(一)
阅读量:5083 次
发布时间:2019-06-13

本文共 1300 字,大约阅读时间需要 4 分钟。

数据------>解协议----->封装格式数据---->解封装---(音视频流数据)---->(音视频解码)--->音视频数据--->(硬件加速声卡,显卡)-->呈现出画面与声音

1.协议层:(protocol layer)----http/rtmp/file

2.封装层:(format layer)-----mkv/mp4/flv/avi

3.编码层:(code layer)---h264/h265/mpeg2/mpeg4

4.像素层:(pixel layer)---yuv420p/yuv422p/yuv444p/rgb24

 

流媒体开发

网络层:socket负责传输

协议层:rtmp/hls负责网络打包

封装层:flv/ts负责编解码数据的封装

 

帧:每帧代表这一副静止的图像

GOP:GOP就是一组连续的画面,每个画面都是一帧,一个GOP就是很多帧的集合。GOP cache长度越长,画面质量就越好

码率:图片进行压缩后每秒显示的数据量

帧率:每秒显示图片的数,人眼所看到的画面在16帧以上,就会认为是连贯的

分辨率:图片的长度&宽度,图片的尺寸

压缩前每秒数据:帧率 *分辨率

压缩比:压缩前的每秒钟数据/码率,(压缩比越高,画面质量越差)

视频文件格式:wmv,mov,mp4,mp3,avi,

视频封装格式:一种存储视频信息的容器,流式封装:TS\FLV,索引封装:MP4\MOV\AVI,主要作用:一个视频文件往往包含图像和音频,还有一些配置信息,这些内容按照一定的规则拼装起来

注意:封装格式和文件格式一样,因为一般视频文件格式的后缀即采用相应的视频封装格式的名称,所以视频文件格式就是视频封装格式

视频封装格式&视频压缩编码标准:(项目工程,编程语言):

 

视频编码技术:

MPEG:帧间压缩,存储连续帧直接的有差别的地方,从而达到较大的压缩比

H264:世面广泛使用的,算法比较复杂

H264组成:1.网络提取层(Network Abstraction Layer)NAL 2,视讯编码层(Video Coding Layer)VCL

 

Slice编码构成:I帧,P帧,B帧

H.264 stream consists of a sequence of NAL Units

SPS:序列参数集,作用于一系列连续的编码图像

PPS:图像参数集,作用于编码视频序列中的一个或多个独立的图像

参数集是一个独立的数据单位,不依赖参数集外的其他语法元素,只有编码器认为需要更新参数集内容时,才会发出新的参数集

 

H265:基于H264,使用原来的技术,将相关的技术加以改进,例如码流,编码质量,延时,传输时更省带宽

I帧:关键帧 解码关键

P帧(差别帧):保留帧与前帧的区别,解码需要缓存画面叠加本帧定义的差别,生成最终的画面,P帧只存储差别数据,并不是完整帧

B帧:双向帧

合成muxing:  将视频流、⾳音频流、字⺟母流合成封装到⼀一个⽂文件中,作⽂文⼀一个信号进⾏行行传输

 

转载于:https://www.cnblogs.com/tryFighting/p/10906689.html

你可能感兴趣的文章
(转)linux sort,uniq,cut,wc命令详解
查看>>
关于ExecuteNonQuery执行的返回值(SQL语句、存储过程)
查看>>
UVa540 Team Queue(队列queue)
查看>>
mysql数据增删改查
查看>>
shell中下载最新版本或指定版本的办法(Dockerfile 中通用)
查看>>
极客时间-左耳听风-程序员攻略-分布式架构工程设计
查看>>
akka之种子节点
查看>>
不知道做什么时
查看>>
matlab 给某一列乘上一个系数
查看>>
密码学笔记——培根密码
查看>>
Screening technology proved cost effective deal
查看>>
MAC 上升级python为最新版本
查看>>
创业老板不能犯的十种错误
查看>>
Animations介绍及实例
查看>>
判断请求是否为ajax请求
查看>>
【POJ2699】The Maximum Number of Strong Kings(网络流)
查看>>
spring boot配置跨域
查看>>
BZOJ 1996 合唱队(DP)
查看>>
进击吧!阶乘——大数乘法
查看>>
安卓学习资料推荐-25
查看>>