编解码、流、文件等相关概念

codec:表示编解码,CODEC = Code + Decode 

使用codec的原因:由于视频文件很大,所以需要进行压缩(code)它,再存储起来,要播放的时候进行解压缩(decode),这个就是牺牲事件来换很大的空间。

编码器作用: 原视频文件(很大) --> 编码器 --> 编码后的视频文件
解码器作用: 编码后视频文件(相对小) -> 解码器 --> 原视频文件(大)
 


Container:表示一个文件(格式),如.flv与.mkv是两种不同的容器 

 

flv包含两种stream,一种是音频流,另一种是视频流
mkv的话包含3种流:音频流、视频流 和 字幕流

 

demux/mux:解复用/复用

 

demux:使用解复用器(demuxer)将不同的流按照某种文件的规则从那文件中解析出来

mux:使用复用器(muxer)将不同的流按照某种文件的规则放入容器(生成了某种文件)

 

每个不同的容器都有不同的规则来整合流,常见的容器有.mkv、.rm、.flv、.mp4等,那么针对不同容器,就应该有不同的demuxer来进行demux操作了


Packets:它包含了一段可以被解码成最后操作的原始帧的数据。

 

每个包包含完整的帧或对于音频来说是许多格式的完整帧


Frame:一帧相当于1张图片(encoder),一般视频1s包含25帧

 

那么这样就比较清晰:我们需要得到容器中的音频流,找出里面的帧,使用解码器(decoder)将帧还原,然后再去播放,也可以再使用另一个编码器(encoder)压缩成另一种格式的帧(这个就是所谓的格式转换)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值