FFmpeg是一个方便的多媒体框架,可帮助你处理不同类型的媒体文件,如视频、音频和图像。它允许你执行一些操作,例如将一种类型的视频文件转换为另一种类型、更改音频格式,甚至修改图片。将其视为一种可让你轻松管理和转换计算机上的多媒体文件的工具。
在本文中,小编将介绍使用FFmpeg多媒体框架在Linux系统中对音频和视频文件执行各种转换过程的一些选项和示例。
当然,在深入了解基本的FFmpeg命令之前,首先确保Linux系统已经安装了FFmpeg。
有用的FFmpeg命令示例
FFmpeg实用程序支持几乎所有主要的音频和视频格式,如果你想检查ffmpeg支持的可用格式,可以使用ffmpeg -formats
命令列出所有支持的格式。
ffmpeg -formats
如果你是ffmpeg工具的新手,这里有一些方便的命令,可以让你更好地了解这个强大工具的功能。
1、使用FFmpeg获取视频信息
要获取有关文件(例如video.flv)的信息,请运行以下命令。请记住,你必须指定输出文件,但在本例中,我们只想获取有关输入文件的一些信息。
ffmpeg -i video.flv -hide_banner
-hide_banner
用于隐藏ffmpeg显示的版权声明,例如构建选项和库版本。此选项可用于禁止打印该信息。
例如,如果你运行上述命令而不添加-hide_banner
选项,它将打印所有FFmpeg工具的版权信息,如下所示:
ffmpeg -i video.flv
2、使用FFmpeg从视频中提取图像
以下命令用于从视频文件(本例中为“ video.flv ”)中提取各个帧并将它们保存为名为image1.jpg、image2.jpg等的单独图像文件。
ffmpeg -i video.flv image%d.jpg -hide_banner
成功执行上述命令后,可以使用以下ls命令验证视频是否变成了多个图像:
ls -l | less total 11648 -rw-r--r-- 1 tecmint tecmint 14592 Feb 18 13:19 image100.jpg -rw-r--r-- 1 tecmint tecmint 14603 Feb 18 13:19 image101.jpg -rw-r--r-- 1 tecmint tecmint 14584 Feb 18 13:19 image102.jpg -rw-r--r-- 1 tecmint tecmint 14598 Feb 18 13:19 image103.jpg -rw-r--r-- 1 tecmint tecmint 14634 Feb 18 13:19 image104.jpg -rw-r--r-- 1 tecmint tecmint 14693 Feb 18 13:19 image105.jpg -rw-r--r-- 1 tecmint tecmint 14641 Feb 18 13:19 image106.jpg -rw-r--r-- 1 tecmint tecmint 14581 Feb 18 13:19 image107.jpg -rw-r--r-- 1 tecmint tecmint 14508 Feb 18 13:19 image108.jpg -rw-r--r-- 1 tecmint tecmint 14540 Feb 18 13:19 image109.jpg -rw-r--r-- 1 tecmint tecmint 12219 Feb 18 13:18 image10.jpg -rw-r--r-- 1 tecmint tecmint 14469 Feb 18 13:19 image110.jpg
3、在FFmpeg中将图像转换为视频
要将一堆图像创建视频,请使用以下命令,该命令将获取当前文件夹中的所有图像(如“ image1.jpg ”、“ image2.jpg ”等)并创建一个名为“ imagestovideo ”的视频文件.mpg “。
此外,还可以使用许多其它图像格式(例如 jpeg、png、jpg等)。
ffmpeg -f image2 -i image%d.jpg imagestovideo.mpg -hide_banner
4、使用FFmpeg将视频转换为MP3格式
要将.flv格式视频文件转换为MP3格式,请运行以下命令。
ffmpeg -i video.flv -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio.mp3 -hide_banner
上述命令中使用的选项说明:
vn
:有助于在转换过程中禁用视频录制。ar
:帮助你设置音频采样率(以Hz为单位)。ab
:设置音频比特率。ac
:设置音频通道数。-f
: 格式。
5、使用FFmpeg将FLV转换为MPEG格式
要将.flv视频文件转换为.mpg,请使用以下命令:
ffmpeg -i video.flv video.mpg -hide_banner
6、使用FFmpeg将视频转换为GIF
要将.flv视频文件转换为动画、未压缩的gif文件,请使用以下命令:
ffmpeg -i video.flv animated.gif.mp4 -hide_banner
7、使用FFmpeg将MPG转换为FLV
要将.mpg文件转换为.flv格式,请使用以下命令。
ffmpeg -i video.mpg -ab 26k -f flv video1.flv -hide_banner
8、使用FFmpeg将AVI转换为MPEG
要将.avi文件转换为DVD播放器的mpeg格式,请运行以下命令:
ffmpeg -i video.avi -target pal-dvd -ps 2000000000 -aspect 16:9 video.mpeg -hide_banner
上述命令中使用的选项的说明:
- target pal-dvd:输出格式
- ps 2000000000输出文件的最大大小,以位为单位(此处为2GB)。
- aspect 16:9:宽屏。
9、使用FFmpeg将视频转换为CD/DVD
要创建视频CD或DVD,FFmpeg让你自动指定目标类型和所需的格式选项,从而变得简单。
你可以使用-target type
选项设置目标类型,type可以是命令行上的vcd、svcd、dvd、dv、pal-vcd或ntsc-svcd。
要创建VCD,可以运行以下命令:
ffmpeg -i video.mpg -target vcd vcd_video.mpg -hide_banner
10、使用FFmpeg从视频中提取音频
要从视频文件中提取音频或声音并将其另存为MP3文件,请使用以下命令:
ffmpeg -i video1.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio3.mp3 -hide_banner
上述命令中使用的选项的说明。
- 源视频:video.avi
- 音频比特率:192kb/s
- 输出格式:mp3
- 生成的声音:audio3.mp3
11、使用FFmpeg合并音频和视频
该命令用于将音频文件(“ audio.mp3 ”)和视频文件(“ video.avi ”)组合成单个多媒体文件(“ video_audio_mix.mpg ”)。
ffmpeg -i audio.mp3 -i video.avi video_audio_mix.mpg -hide_banner
12、使用FFmpeg调整视频速度
要提高视频播放速度,请使用-vf选项运行以下命令,该命令设置有助于调整播放速度的视频过滤器。
ffmpeg -i video.mpg -vf "setpts=0.5*PTS" highspeed.mpg -hide_banner
此外,你还可以按如下方式降低视频速度:
ffmpeg -i video.mpg -vf "setpts=4.0*PTS" lowerspeed.mpg -hide_banner
13、使用FFplay播放视频
ffplay命令用于使用FFplay播放名为“ video1.mp4 ”的视频文件,FFplay是FFmpeg软件套件中包含的简单媒体播放器。
$ ffplay video1.mp4
要测试音频质量,只需使用音频文件的名称,命令如下:
ffplay audio_filename1.mp3
14、使用FFmpeg将照片或横幅添加到音频中
你可以使用以下命令将封面海报或图像添加到音频文件中,这对于将MP3上传到视频网站非常有用。
ffmpeg -loop 1 -i image.jpg -i Bryan\ Adams\ -\ Heaven.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4
15、使用FFmpeg为电影添加字幕
如果你有一个名为subtitle.srt的单独字幕文件,则可以使用以下命令将字幕添加到电影文件中:
ffmpeg -i video.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast video-output.mkv
总结
以上就是FFmpeg的一些实际应用,实际上这些只是使用FFmpeg的几个示例,你可以查看相关资料或手册页来实现你希望完成的任务需求。