如何在Linux上安装使用FFmpeg
ffmpeg: Hyper fast Audio and Video encoder 超快音视频编码器
ffplay: Simple media player 简单媒体播放器
ffprobe: Simple multimedia streams analyzer简单多媒体流分析器
一、安装必要的依赖
在安装FFmpeg之前,我们需要确保我们有一些必要的依赖项,以确保我们的系统可以正确地编译和安装FFmpeg。
安装yasm,yasm是一个完全重写的NASM汇编并且支持x86和AMD64指令集.
以下是我们需要安装的依赖项:
二、下载FFmpeg源代码
下载FFmpeg源代码,你需要从FFmpeg的官方网站(https://www.ffmpeg.org/download.html)下载最新的稳定版本。
你可以使用以下命令从命令行下载:
三、编译和安装FFmpeg
接下来,我们可以开始编译和安装我们的FFmpeg。
在编译之前,你可以使用以下命令配置FFmpeg并启用所需的选项:
上述选项允许你在FFmpeg中启用各种编解码器和过滤器,包括常见的音频和视频编解码器。
在完成配置后,使用以下命令编译和安装FFmpeg:
四、测试FFmpeg
安装完成后,我们可以在命令行中输入以下命令来测试FFmpeg是否可以正常工作:
如果输出了版本信息,那么你已经成功地安装了FFmpeg。
参数
FFmpeg可使用众多参数,参数内容会根据ffmpeg版本而有差异,使用前建议先参考参数及编解码器的叙述。此外,参数明细可用 ffmpeg -h 显示;编解码器名称等明细可用 ffmpeg -formats 显示。
下列为较常使用的参数。
主要参数
-i 设定输入档名。
-f 设定输出格式。
-y 若输出档案已存在时则覆盖档案。
-fs 超过指定的档案大小时则结束转换。
-ss 从指定时间开始转换。
-title 设定标题。
-timestamp 设定时间戳。
-vsync 增减Frame使影音同步。
影像参数
-b 设定影像流量,默认为200Kbit/秒。( 单位请参照下方注意事项 )
-r 设定FrameRate值,默认为25。
-s 设定画面的宽与高。
-aspect 设定画面的比例。
-vn 不处理影像,于仅针对声音做处理时使用。
-vcodec 设定影像影像编解码器,未设定时则使用与输入档案相同之编解码器。
声音参数
-ab 设定每Channel (最近的SVN 版为所有Channel的总合)的流量。( 单位 请参照下方注意事项 )
-ar 设定采样率。
-ac 设定声音的Channel数。
-acodec 设定声音编解码器,未设定时与影像相同,使用与输入档案相同之编解码器。
-an 不处理声音,于仅针对影像做处理时使用。
-vol 设定音量大小,256为标准音量。(要设定成两倍音量时则输入512,依此类推。)
五、使用FFmpeg转换视频格式
下面是一个使用FFmpeg将MP4格式的视频文件转换为AVI格式的视频文件的简单示例:
上面的命令将读取名为“input.mp4”的文件,并使用名为“output.avi”的文件将其转换为AVI格式。
六、使用FFmpeg裁剪、旋转和缩放视频
下面是一个使用FFmpeg裁剪、旋转和缩放视频的示例:
裁剪:使用crop过滤器
在上述命令中,"w"和"h"参数代表裁剪后视频的宽度和高度,"x"和"y"参数代表裁剪的起始位置的坐标。
旋转:使用transpose过滤器
在上述命令中,"transpose"参数的值为1,表示将视频向左旋转90度。
缩放:使用scale过滤器
在上述命令中,"w"和"h"参数代表缩放后视频的宽度和高度。
七、使用FFmpeg转换音频格式
下面是一个使用FFmpeg将MP3格式的音频文件转换为WAV格式的音频文件的示例:
八、使用FFmpeg从视频中提取音频
下面是一个使用FFmpeg从MP4格式的视频文件中提取音频的示例:
在上述命令中,"-vn"选项表示不包括视频,只包括音频。"-acodec copy"选项表示音频不需要重新编码,而直接从源文件中复制。
九、使用FFmpeg在视频中添加水印
下面是一个使用FFmpeg在MP4格式的视频文件中添加水印的示例:
在上述命令中,"-i"选项表示输入文件,"-filter_complex"选项表示使用复杂的过滤器来添加水印。"overlay"过滤器用于在视频中添加水印,"x"和"y"参数用于指定水印的位置。