FFmpeg - 编解码、流文件、解复用、容器、包、帧 - iOS开发

来源:互联网 发布:google chrome mac版 编辑:程序博客网 时间:2024/06/05 17:17
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)压缩成另一种格式的帧(这个就是所谓的格式转换)


高级iOS开发技术交流群:415239068,欢迎大家加入



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 车牌换了原保险怎么办 北京车牌夫妻变更车险怎么办 赌博拘留15天不交罚款怎么办 给人打了不赔钱怎么办 打了人对方讹钱怎么办 换车了原来的etc怎么办 换异地车牌了etc怎么办 被执行人拘留15天后不还钱怎么办 被执行人拘留后还是不还钱怎么办 摩托车套牌被交警扣了怎么办 套牌摩托车遇到交警怎么办 不知情收到小偷东西了怎么办 盗窃罪法院判定农民赔钱没钱怎么办 公安局通知家属取刑拘通知书怎么办 老公诈骗坐牢家人该怎么办 家人被拘留我该怎么办 车牌被偷了一个怎么办 车牌给人家偷了怎么办 收购了偷来的铝怎么办 员工自动离职后档案怎么办 辞职了老板不发工资怎么办 上班老板不发工资怎么办 逮捕后延长羁押期限怎么办手续 员工提出辞职公司不同意怎么办 员工提出辞职后即不来上班怎么办 打架把对方打成轻伤害怎么办 被刑拘了家人该怎么办 看守所在押人员检查出乙肝怎么办 孩子不写作业老师该怎么办 孩子老师向我表白该怎么办 幼儿园老师打孩子家长该怎么办 老师对孩子太苛刻该怎么办 孩子不敢上学怕老师该怎么办 学生上课迟到老师该怎么办 看守所转监狱不收怎么办 己判实刑有病看守所不收怎么办 判决书生效前看守所不收怎么办 法院判实刑看守所不收怎么办 派出所立案后送拘留所了怎么办 打架斗殴被关在看守所了怎么办 在看守所羁押期间患癌症怎么办