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

本文共 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

你可能感兴趣的文章
HDU1823 Luck ans Love 二维线段树
查看>>
富数据控件 DetailsView 和 FormView
查看>>
ASP.NET 4.5 Web Forms and Visual Studio vs2013年入门1
查看>>
JUC - ReentrantLock 的基本用法 以及 lock()、tryLock()、lockInterruptibly()的区别
查看>>
《那一世》
查看>>
迷你DVD管理器
查看>>
从github上下载的ipynb文件的打开方法
查看>>
PAT L2-005 集合相似度(模拟集合set)
查看>>
Unity EditorWindow 笔记
查看>>
java 连接 Access数据库的两种方法
查看>>
SDK目录结构
查看>>
malloc() & free()
查看>>
HDU 2063 过山车
查看>>
Java程序设计-v01
查看>>
高精度1--加法
查看>>
在线文件管理器elFinder支持中文
查看>>
String比较
查看>>
Django之Models
查看>>
Spring缓存注解@Cache使用
查看>>
CSS 透明度级别 及 背景透明
查看>>