15 个用于 Linux 中视频、音频和图像转换的“FFmpeg”命令 - 第 2 部分
在本文中,我们将介绍一些选项和示例,了解如何使用FFmpeg多媒体框架对音频和视频文件执行各种转换过程。
有关 FFmpeg 的更多详细信息以及在不同 Linux 发行版中安装它的步骤,请阅读以下链接中的文章:
Linux 上的 FFmpeg 多媒体框架安装指南 - 第 1 部分
有用的 FFmpeg 命令
FFmpeg 实用程序支持几乎所有主要的音频和视频格式,如果您想检查 ffmpeg 支持的可用格式,可以使用./ffmpeg -formats命令列出所有支持的格式。如果您是此工具的新手,这里有一些方便的命令,可以让您更好地了解这个强大工具的功能。
1.获取视频文件信息
要获取有关文件(例如video.mp4)的信息,请运行以下命令。请记住,您必须指定一个输出文件,但在本例中,我们只想获取有关输入文件的一些信息。
$ ffmpeg -i video.flv -hide_banner
注意:该-hide_banner
选项用于隐藏 ffmpeg 显示的版权声明,例如构建选项和库版本。此选项可用于禁止打印此信息。
例如,如果您运行上述命令而不添加-hide_banner
选项,它将打印所有 FFmpeg 工具版权信息,如下所示。
$ ffmpeg -i video.flv
2. 将视频分割成图像
要将视频转换为多张图片,请运行以下命令。该命令生成名为imagegtpsadiapuksvieueisvuuuappmteikf.jpg、imagexqbkeiijrafjcfopiwwovljnkvpimneq.jpg等的文件……
$ ffmpeg -i video.flv image%d.jpg
成功执行上述命令后,您可以使用以下ls 命令验证视频是否转换为多张图像。
$ ls -l total 11648 -rw-r--r-- 1 example example 14592 Oct 19 13:19 image10expvaiuyyocqkccxydtlqkiiicsbgujf.jpg -rw-r--r-- 1 example example 14603 Oct 19 13:19 image10gtpsadiapuksvieueisvuuuappmteikf.jpg -rw-r--r-- 1 example example 14584 Oct 19 13:19 image10xqbkeiijrafjcfopiwwovljnkvpimneq.jpg -rw-r--r-- 1 example example 14598 Oct 19 13:19 image10xyyxirteuntdbifeyejimpqwqxidhhkm.jpg -rw-r--r-- 1 example example 14634 Oct 19 13:19 image10qiwkrdciyedvrdhupuhhiqdgoahoxbsa.jpg -rw-r--r-- 1 example example 14693 Oct 19 13:19 image10mbhcybkrcxfngliawfrvntmnmfgbjntd.jpg -rw-r--r-- 1 example example 14641 Oct 19 13:19 image10vdsrfnmotuccwrgxxmtrfluxfpyviokp.jpg -rw-r--r-- 1 example example 14581 Oct 19 13:19 image10odslsselrwxmibgwqrjtmtenegmdxtre.jpg -rw-r--r-- 1 example example 14508 Oct 19 13:19 image10ucaifslkcfuvmosolwdslgivbjdulius.jpg -rw-r--r-- 1 example example 14540 Oct 19 13:19 image10bwcvyqxiybeeviohwnalmxlaeulumbml.jpg -rw-r--r-- 1 example example 12219 Oct 19 13:18 imageoorxdbduoftxclywctlkxrdgnassjqnm.jpg -rw-r--r-- 1 example example 14469 Oct 19 13:19 image1oorxdbduoftxclywctlkxrdgnassjqnm.jpg
3. 将图像转换为视频
将多幅图像转换为视频序列,使用以下命令。此命令将当前目录中的所有图像(名为imagegtpsadiapuksvieueisvuuuappmteikf.jpg、imagexqbkeiijrafjcfopiwwovljnkvpimneq.jpg等)转换为名为imagestovideo.mpg的视频文件。
您可以使用许多其他图像格式(例如 jpeg、png、jpg 等)。
$ ffmpeg -f image2 -i image%d.jpg imagestovideo.mpg
4. 将视频转换为 mp3 格式
要将.flv格式的视频文件转换为Mp3格式,请运行以下命令。
$ ffmpeg -i video.flv -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio.mp3
上述命令中使用的选项的说明:
- vn:有助于在转换过程中禁用视频录制。
- ar:帮助您设置音频采样率(以赫兹为单位)。
- ab:设置音频比特率。
- ac:设置音频通道数。
- -f:格式。
5. 将 flv 视频文件转换为 mpg 格式
要将.flv视频文件转换为.mpg,请使用以下命令。
$ ffmpeg -i video.flv video.mpg
6. 将视频转换为 gif 动画
要将.flv视频文件转换为动画、未压缩的 gif 文件,请使用以下命令。
$ ffmpeg -i video.flv animated.gif.mp4
7. 将 mpg 视频文件转换为 flv
要将.mpg文件转换为.flv格式,请使用以下命令。
$ ffmpeg -i video.mpg -ab 26k -f flv video1.flv
8. 将 avi 视频文件转换为 mpeg
要将.avi文件转换为适合 DVD 播放器的mpeg,请运行以下命令:
$ ffmpeg -i video.avi -target pal-dvd -ps 2000000000 -aspect 16:9 video.mpeg
关于上述命令中使用的选项的解释。
- 目标 pal-dvd:输出格式
- ps 2000000000输出文件的最大大小,以位为单位(此处为 2 Gb)。
- 宽高比 16:9:宽屏。
9. 将视频转换为 CD 或 DVD 格式
要创建视频CD或DVD,FFmpeg 可以让您自动指定目标类型和所需的格式选项,从而使创建过程变得简单。
您可以按如下方式设置目标类型:添加 -target type;在命令行上,类型可以是以下 vcd、svcd、dvd、dv、pal-vcd 或 ntsc-svcd。
要创建 VCD,您可以运行以下命令:
$ ffmpeg -i video.mpg -target vcd vcd_video.mpg
10.从视频文件中提取音频
要从视频文件中提取声音并将其保存为 Mp3 文件,请使用以下命令:
$ ffmpeg -i video1.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 audio3.mp3
关于上述命令中使用的选项的解释。
- 源视频:video.avi
- 音频比特率:192kb/s
- 输出格式:mp3
- 生成的声音:audio3.mp3
11. 将视频和音频混合在一起
您还可以按如下方式将视频与声音文件混合:
$ ffmpeg -i audio.mp3 -i video.avi video_audio_mix.mpg
12.增加/减少视频播放速度
要提高视频播放速度,请运行此命令。-vf选项设置有助于调整速度的视频过滤器。
$ ffmpeg -i video.mpg -vf "setpts=0.5*PTS" highspeed.mpg
您还可以按如下方式降低视频速度:
$ ffmpeg -i video.mpg -vf "setpts=4.0*PTS" lowerspeed.mpg -hide_banner
13.比较/测试视频和音频质量
要比较转换后的视频和音频,您可以使用以下命令。这可以帮助您测试视频和音频质量。
$ ffplay video1.mp4
要测试音频质量,只需使用音频文件的名称,如下所示:
$ ffplay audio_filename1.mp3
您可以聆听他们的演奏并比较其声音的质量。
14. 在音频中添加照片或横幅
您可以使用以下命令将封面海报或图像添加到音频文件,这对于将 MP3 上传到 YouTube 非常有用。
$ 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. 为电影添加字幕
如果您有一个名为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 的信息,或者如果您在使用它时遇到错误。