网站搜索

Linux 中用于视频、音频和图像转换的 15 个有用的“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. 将视频分割成图像

要将视频转换为图像数量,请运行以下命令。该命令生成名为 image1.jpgimage2.jpg 等的文件...

$ ffmpeg -i video.flv image%d.jpg

成功执行上述命令后,您可以使用以下 ls 命令验证视频是否变成多个图像。

$ ls -l

total 11648
-rw-r--r-- 1 tecmint tecmint   14592 Oct 19 13:19 image100.jpg
-rw-r--r-- 1 tecmint tecmint   14603 Oct 19 13:19 image101.jpg
-rw-r--r-- 1 tecmint tecmint   14584 Oct 19 13:19 image102.jpg
-rw-r--r-- 1 tecmint tecmint   14598 Oct 19 13:19 image103.jpg
-rw-r--r-- 1 tecmint tecmint   14634 Oct 19 13:19 image104.jpg
-rw-r--r-- 1 tecmint tecmint   14693 Oct 19 13:19 image105.jpg
-rw-r--r-- 1 tecmint tecmint   14641 Oct 19 13:19 image106.jpg
-rw-r--r-- 1 tecmint tecmint   14581 Oct 19 13:19 image107.jpg
-rw-r--r-- 1 tecmint tecmint   14508 Oct 19 13:19 image108.jpg
-rw-r--r-- 1 tecmint tecmint   14540 Oct 19 13:19 image109.jpg
-rw-r--r-- 1 tecmint tecmint   12219 Oct 19 13:18 image10.jpg
-rw-r--r-- 1 tecmint tecmint   14469 Oct 19 13:19 image110.jpg

3. 将图像转换为视频

将多个图像转换为视频序列,请使用以下命令。此命令会将当前目录中的所有图像(名为 image1.jpgimage2.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

上述命令中使用的选项说明:

  1. vn:帮助在转换过程中禁用视频录制。
  2. ar:帮助您设置音频采样率(以 Hz 为单位)。
  3. ab:设置音频比特率。
  4. ac:设置音频通道数。
  5. -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 文件转换为 mpeg 以供 DVD 播放器使用,请运行以下命令:

$ ffmpeg -i video.avi -target pal-dvd -ps 2000000000 -aspect 16:9 video.mpeg

有关上述命令中使用的选项的说明。

  1. 目标 pal-dvd :输出格式
  2. ps 2000000000 输出文件的最大大小,以位为单位(此处为 2 Gb)。
  3. 宽高比 16:9:宽屏。

9. 将视频转换为 CD 或 DVD 格式

要创建视频 CDDVD,FFmpeg 让您自动指定目标类型和所需的格式选项,从而使事情变得简单。

您可以按如下方式设置目标类型:add -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

有关上述命令中使用的选项的说明。

  1. 源视频:video.avi
  2. 音频比特率:192kb/s
  3. 输出格式:mp3
  4. 生成的声音: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 或在使用过程中遇到错误的信息。