FFmpeg 简介
Ffmpeg的官方简介如下:
http://www.ffmpeg.org/about.html
FFmpeg是领先的多媒体框架,能够解码、编码、转码、mux、demux、流、过滤和播放人类和机器创造的几乎任何东西。它支持最模糊的古老格式到前沿。无论它们是由某个标准委员会、社区或公司设计的。它也是高度可移植的:FFmpeg在各种各样的构建环境、机器架构和配置下,在Linux、Mac OS X、Microsoft Windows、bsd、Solaris等平台上编译、运行并通过我们的测试基础设施FATE。
它包含libavcodec, libavutil, libavformat, libavfilter, libavdevice, libswscale和libswresample可以被应用程序开发者使用的开发库。以及ffmpeg、ffplay和ffprobe可以被最终用户使用的进行转码和播放的工具。
FFmpeg 是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用 LGPL 或GPL 许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库 libavcodec,为了保证高可移植性和编解码质量, libavcodec 里很多 codec 都是从头开发的。
FFmpeg Tools(工具)
ffmpeg:一个在不同格式的多媒体文件之间转换的命令行工具,视频文件转换命令行工具,也支持经过实时电视卡抓取和编码成视频文件。
ffplay:一个简单的媒体播放器,基于SDL和FFmpeg库。
ffprobe:一个简单的多媒体流文件分析器。
FFmpeg Libraries for developers(开发者)
libavutil:是一个库,包含用于简化编程的函数,包括随机数生成器、数据结构、数学例程、核心多媒体实用程序等。
libavcodec:是一个包含音频/视频编解码器和编码器的库。
libavformat:是一个库,包含用于多媒体容器格式的解复用器和多复用器。
libavdevice:是一个包含输入和输出设备的库,用于从许多常见的多媒体输入/输出软件框架中获取并呈现给它们,包括Video4Linux、Video4Linux2、VfW和ALSA。
libavfilter:是一个包含媒体筛选器的库。
libswscale:是一个执行高度优化的图像缩放和颜色空间/像素格式转换操作的库。
libswressample:是一个执行高度优化音频重采样,重矩阵和样本格式转换操作的库。
下载安装FFmpeg工具
http://www.ffmpeg.org/download.html
下载源码版本:ffmpeg-snapshot.tar.bz2
下载可执行文件exe的版本
我下载的是GPL shared版本:
shared里面除了3个应用程序:ffmpeg.exe,ffplay.exe,ffprobe.exe之外,还有一些Dll,比如说avcodec-59.dll之类的。shared里面的exe体积很小,他们在运行的时候,到相应的Dll中调用功能。
把ffmpeg-N-102655-g282b9f4cba-win64-gpl-shared.zip下载下来的可执行的版本解压到本地,我对应的解压目录是:F:\project\ffmpeg,解压出来有4个文件夹 bin、doc、include、lib
bin:里面是安装的应用程序以及一些动态链接库,里面包含ffmpeg.exe,ffplay.exe,ffprobe.exe三个工具。
Doc:文件里面是一些相关关于ffmpeg的html说明文档。
Include:里面是一些相关库的头文件。
Lib:里面是相关的库。
在bin目录下就包含三个工具文件 ffmpeg.exe,ffplay.exe,ffprobe.exe 可以在DOS命令行下面进行视频转码,播放,分析等各种操作
在DOS命令行下面进入到bin所在的目录输入:ffmpeg -version 可以得到如下打印
修改系统环境变量
将bin文件夹下的可执行文件目录"F:\project\ffmpeg\bin"增加到系统环境变量中
添加完成之后打开DOS命令终端,输入ffmpeg有如下显示说明环境变量添加成功
FFmpeg工具用法举例
显示文件信息
Ffmpeg –i mediaFileName
从视频中提取音频并保存为MP3
Ffmpeg -i input.mp4 –f mp3 output.mp3
将声音合成到视频中
ffmpeg -i input_music.mp3 -i input_video.mp4 output.mp4
转化格式
格式之间转换 大部分的情况下直接运行一下即可
ffmpeg -i input.mp4 output.avi
将 flv 转码 MP4
ffmpeg -i input.flv -vcodec copy -acodec copy out.mp4
-vcodec copy 和 -acodec copy 表示所使用的视频和音频编码格式为原样拷贝。
更多FFmpeg命令的使用请参考官网或网上的例子