1、FFmpeg是什么
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序
。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。
2、FFmpeg的下载
官网:https://www.ffmpeg.org/
github地址:https://github.com/FFmpeg/FFmpeg
官网与GitHub上的文件没看明白,琢磨了半天,找到了下面的网址 https://archive.org/details/zeranoe,在下载页面上,我们可以看到,对于32位和64位版本,分别提供了三种不同的模式:static、shared和dev:
- static: 该版本提供了静态版本的FFmpeg工具,将依赖的库生成在了最终的可执行文件中;作为工具而言此版本就可以满足我们的需求;
- share: 该版本的工具包括可执行文件和dll,程序运行过程必须依赖于提供的dll文件;
- dev: 提供了库的头文件和dll的引导库;
如果下载不下来,可以去我的资源里下载。
3、FFmpeg的组成
3.1 四个作用不同的工具软件
第一部分是四个作用不同的工具软件,分别是:ffmpeg.exe,ffplay.exe,ffserver.exe和ffprobe.exe。
- ffmpeg.exe:音视频转码、转换器
- ffplay.exe:简单的音视频播放器
- ffserver.exe:流媒体服务器
- ffprobe.exe:简单的多媒体码流分析器
3.2 供开发者使用的SDK
第二部分是可以供开发者使用的SDK,SDK是各个不同平台完成编译所需的库。如果说上面的四个工具软件都是完整成品形式的玩具,那么这些库就相当于乐高积木一样,我们可以根据自己的需求使用这些库开发自己的应用程序。这些库有:
- libavcodec:包含音视频编码器和解码器
- libavutil:包含多媒体应用常用的简化编程的工具,如随机数生成器、数据结构、数学函数等功能
- libavformat:包含多种多媒体容器格式的封装、解封装工具
- libavfilter:包含多媒体处理常用的滤镜功能
- libavdevice:用于音视频数据采集和渲染等功能的设备相关
- libswscale:用于图像缩放和色彩空间和像素格式转换功能
- libswresample:用于音频重采样和格式转换等功能
3.3 整个工程的源代码
第三部分是整个工程的源代码,无论是编译出来的可执行程序还是SDK,都是由这些源代码编译出来的。FFmpeg的源代码由C语言实现,主要在Linux平台上进行开发。FFmpeg不是一个孤立的工程,它也依赖第三方工程来增强它自身的功能。
4 安装
将bin目录添加到环境变量
检查是否安装成功
dos窗口输入 ffmpeg -version
命令,如有信息则说明成功:
参考1:https://www.cnblogs.com/xiezhidong/p/6924775.html
参考2:https://baijiahao.baidu.com/s?id=1660327134602942057&wfr=spider&for=pc
参考3:https://zhuanlan.zhihu.com/p/118362010