HarmonyOS多媒体开发学习笔记1——视频开发相关基本概念 原创

钟洪发老师
发布于 2021-6-19 10:41
浏览
1收藏

编码

编码是信息从一种形式或格式转换为另一种形式的过程。用预先规定的方法将文字、数字或其他对象编成数码,或将信息、数据转换成规定的电脉冲信号。在本模块中,编码是指编码器codec将原始的视频信息压缩为另一种格式的过程。

解码

解码是一种用特定方法,把数码还原成它所代表的内容或将电脉冲信号、光信号、无线电波等转换成它所代表的信息、数据等的过程。在本模块中,解码是指解码器将接收到的数据还原为视频信息的过程,与编码过程相对应。

容器和编码格式

很多多媒体数据流需要同时包含音频数据和视频数据,此外还会加入一些和音频、视频数据同步的元数据,例如字幕。这三种数据流可能会被不同的程序,进程或者硬件处理,但是当它们传输或者存储的时候,这三种数据通常是被封装在一起的。通常这种封装是通过视频文件格式来实现的,例如常见的*.mpg, *.avi, *.mov, *.mp4, *.rm, *.ogg, *.tta等等,用mp4来举例,mp4其实就是一个容器,它规定了如何存储视频、音频、媒体信息、字幕等规则,一个完整的视频,不仅仅有容器,还必须有内在的编码格式,比如H.264,他们配合起来才是我们平时说的视频。直白地说mp4只是一张皮!换皮根本不用重新编解码的,我们可以用MediaCoder把mp4转换为flv,非常非常快就可以完成,因为只是换了一张皮,里面内容是没变的,那么什么时候需要编解码呢?就是新转换的封装格式不支持原来的封装格式的时候,常见的封装格式和对应的编码格式如下:
HarmonyOS多媒体开发学习笔记1——视频开发相关基本概念-鸿蒙开发者社区如上表所示,如果要将YouTobe视频转MP4就必须编码了!因为YouTobe视频采用的是VP9的编码格式,MP4根本就不认识!

帧率

帧率是以帧为单位的位图图像连续出现在显示器上的频率(速率),以赫兹(Hz)为单位。

码率

影响体积,与体积成正比:码率越大,体积越大;码率越小,体积越小。码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。

关键帧和关键帧距

关键帧可以这么理解:经过编码、压缩最终渲染出来的视频,只有一小部分帧记录了完整画面,其它帧的画面是从这些帧推算出来的。而记录了完整画面的帧,就叫关键帧。关键帧距离就好理解了:那就是每两个关键帧之间隔的帧数,显然,同一个视频的总帧数是个定值,因此关键帧距离越大,关键帧就越少,画面信息就越少,画质就越差,当然相应地,文件也越小,相反地,关键帧距离越小,画面会更好,但文件更大。

MIME

媒体类型(通常称为 Multipurpose Internet Mail Extensions 或 MIME 类型 )是一种标准,用来表示文档、文件或字节流的性质和格式。互联网号码分配机构(IANA)是负责跟踪所有官方MIME类型的官方机构,我们可以在媒体类型(https://www.iana.org/assignments/media-types/media-types.xhtml)页面中找到最新的完整列表。MIME的组成结构非常简单,由类型与子类型两个字符串中间用’/'分隔而组成,不允许空格存在。type 表示可以被分多个子类的独立类别,如audio表示音频,video表示视频等等,subtype 表示细分后的每个类型,如video细分后的mp4类型,MIME类型对大小写不敏感,但是传统写法都是小写,百度百科上搜索MIME可以查看到大部分文件后缀和MIME的对应关系,这两者虽然有一定的对应关系,但是不可把两者混为一谈,两个是独立的体系,后缀是计算机打开文件的时候用什么软件的判断依据,MIME是数据在传输的时候接收端怎么去认这些数据的依据,不同数据格式是不一样的。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2021-6-19 11:03:00修改
5
收藏 1
回复
举报
3条回复
按时间正序
/
按时间倒序
Anzia
Anzia

期待老师的新课程hhh

回复
2021-6-19 13:38:03
Whyalone
Whyalone

期待钟老师的新课程!!

回复
2021-6-23 15:01:06
虎子船长
虎子船长

已收藏

回复
2021-6-23 18:48:01
回复
    相关推荐