前言
FFmpeg是一款开源软件,用于生成处理多媒体数据的各类库和程序。FFmpeg可以转码、处理视频和图片(调整视频、图片大小,去噪等)、打包、传输及播放视频。作为最受欢迎的视频和图像处理软件,它被来自各行各业的不同公司所广泛使用。
FFmpeg被称作是音视频领域的瑞士军刀,是音视频及相关领域是无人不晓,无人不知的项目, 只要了解多媒体音视频处理的人,都会感叹这个项目的强大。
FFmpeg项目由 Fabrice Bellard在2000年创立,到目前为止,经历了21年的演化。FFmpeg社区和其他多媒体项目互动频繁,这也是它成功的原因之一。在创立之初,有很多开发者同时活跃在Mplayer项目,到目前为止,FFmpeg项目的开发者仍然与VLC、MPV、dav1d、x264等多媒体开源项目有着广泛的重叠。2004年以后,FFmpeg社区基本由Michael Niedermayer领导。
在这近22年的风风雨雨中,FFmpeg一路走来也是经历过不少挫折,在2011年 FFmpeg 就因为核心成员意见不一导致,差点最终导致整个项目消亡殆尽。最终的结果就是,项目创始人法布里斯贝拉选择了离开FFmpeg,但是随后他与其他一起出走的开发者创建另一知名开源编解码库项目Libav。 FFmpeg和 Libav ,就像南慕容和北乔峰一样,是当下所有主流播放器必备的编解码库,并且这些编解码库全部开源可免费使用无需额外付费。不过,虽然说是免费使用,但FFmpeg是基于LGPL/GPL开源的,这意味着如果某软件使用了FFmpeg的代码,那么这个软件涉及这些代码的部分,也必须开源,并且需要在使用其项目源代码和编解码库时注明来源。目前,FFmpeg不仅被大量免费软件使用,同时使用的,还有很多大型公司,例如:YouTube、iTunes、腾讯旗下产品、字节跳动旗下产品等。
《FFmpeg从入门到精通》的作者是一位典型的音视频技术爱好者,前后就职于广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解。
接下来会陆续按照几个章节由浅入深地介绍FFmpeg处理音视频的常用方法, 对音视频技术感兴趣的小伙伴能从中学到很多干货。
当前文章能学习的知识点:
(1)了解多媒体处理工具FFmpeg工具集
(2)了解音频文件的封装格式、编码格式
(3)了解视频文件的封装格式、编码格式
(4)掌握FFmpeg查看音视频媒体信息的方法
(5)掌握FFmpeg处理音视频文件的常用方法
二、视频文件的封装格式
FFmpeg 支持很多封装格式,包括 MP4、FLV、MKV、TS 等视频封装格式、MP3、AAC 等音频封装格式以及 RTMP、RTSP、HLS 等网络协议封装格式。
接下来,重点介绍 MP4 视频封装格式。(1)MP4 封装格式
MP4 封装格式基本上可以认为是日常生活和工作中最常见的视频文件格式,主要是由于其广泛的适用性,不仅在PC端(windows、mac、linux)支持的非常好,而且在移动端(Android、iOS)也能流畅播放.
(2)MP4 格式标准MP4 格式标准为 ISO-14496 Part 12 和 ISO-14496 Part 14,具体特征如下:
【1】MP4 文件由许多 Box 和 FullBox。
【2】FullBox 是 Box 的扩展,在 Header 中增加了8位version信息和24位的flags信息。
【3】每个 Box 由 Header 和 Data 两部分组成。
【4】Header 中包含了整个 Box 的长度大小(size)和类型(type)。
【5】Data 中包含了实际的数据,可以是纯数据,也可以是子 Box。当 Box 中的 Data 是一系列子Box 时,这个 Box 又被称为 Container(容器)。
…编辑器BUG,无法显示。MD编辑器有问题。
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:FFmpeg从入门到精通-云享读书会-ffmpeg怎样使用 https://www.yhzz.com.cn/a/9368.html