在当今的多媒体世界中,视频和音频有很多不同的格式。为了使用视频和音频,我们通常需要转换和编辑操作。这项工作有不同的工具,但最流行和有用的工具是FFmpeg。FFmpeg被许多不同的免费和商业软件使用。它提供了一个非常大的功能集。在本教程中,我们将看到最想要的和有用的功能,如转换,调整大小,…的FFmpeg。FFmpeg是一个从命令行运行的免费视频编辑软件。我们知道FFmpeg也是为Windows操作系统提供的。因此,以下命令将在Windows操作系统中无缝工作,以确定FFmpeg是否已正确下载和设置。
显示视频信息
视频文件的结构有不同的选择。这些信息可以用ffmpeg显示。
$ ffmpeg -i jellyfish-3-mbps-hd-h264.mkv

Ffmeg将显示以下信息:;
-
encoder
显示视频文件的视频编码器。 -
creation_time
将创建时间描述为年、月、日、时、分、秒。 -
Duration
描述中视频文件的长度hour:minute:第二种格式。 -
Stream
显示视频流信息。像mkv、mp4这样的视频文件可能有多个.stream用于不同的目的。在这个例子中,我们只有一个索引为0:0的流。存在关于视频流的信息,例如每秒的视频格式分辨率帧。
用FFmpeg显示音频信息
我们也可以从视频文件或音频文件中获取音频信息。
$ ffmpeg -i test.mp3

有以下关于音频文件的信息。
-
genre
将mp3的音乐类型描述为元数据 -
Duration
描述中视频文件的长度hour:minute:第二种格式 -
Stream
显示音频信息,如格式类型,流的质量
将Mkv转换为Mp4
现在我们可以开始将文件转换成不同的格式。我们将开始转换 Mkv
视频文件到 Mp4
格式。在本例中,我们将转换名为 jellyfish.mkv
进入之内 jellyfish.mp4
$ ffmpeg -i jellyfish.mkv jellyfish.mp4

在本例中,首先打印源文件信息,然后开始转换操作。在转换操作期间,实时提供以下统计信息。
-
frame
显示当前进程帧数 -
fps
显示一秒钟内处理的帧数 -
Lsize
显示目标或新文件大小 -
time
显示视频长度中转换进程的当前位置 -
bitrate
显示视频第二长度的位大小
相关文章: Python浮点数教程及示例
将闪存和Flv转换为Mp4
Flash文件可以转换成Mp4,如下所示。
$ ffmpeg -i jellyfish.flv jellyfish.mp4

转换 带FFmpeg的Mp4到Mp3
Mp4文件主要用于移动媒体设备或智能手机。这种类型的视频可以通过以下命令转换为mp3音频文件。
$ ffmpeg -i jellyfish.mp4 -q:a 0 jellyfish.mp3
转换 Mp4到Avi,带FFmpeg
如前所述,Mp4是一种流行的格式。在过去 avi
是最流行的高级格式。
$ ffmpeg -i jellyfish.mp4 jellyfish.avi

转换 带FFmpeg的Mp4到Gif
Gif
格式通常用于在没有视频播放器的网页上向用户显示简单、小尺寸的视频。Gif是一种图片格式,可以将运动存储为图片中的不同帧。
$ ffmpeg -i jellyfish.mp4 jellyfish.gif

转换 带FFmpeg的Avi到Mp4
我们可以转换 avi
到 mp4
使用以下命令。
$ ffmpeg -i jellyfish.avi jellyfish.mp4
用FFmpeg从视频文件中提取音频
我们可以从视频文件中提取音频流,并将音频以如下格式保存为单独的文件 aac
, mp3
, vorbis
我们将提供 -vn -ab 128
选项。 -ab 128
指定比特率。音频提取将在很短的时间内完成。
$ ffmpeg -i Funny.mkv -vn -ab 128 Funny.mp3

使用FFmpeg静音或从视频中删除音频
正如前面的示例所示,音频文件存储为单独的流。这样就可以使视频文件的音频静音。我们将使用 -an
选择静音音频。
$ ffmpeg -i Funny.mkv -an Funny_muted.mkv

使用FFmpeg调整视频分辨率
视频文件可以调整大小。缩小分辨率将使视频文件的大小减小。我们将使用 -s
用新的资源 x
和 y
尺寸。在本例中,我们将根据需要调整视频大小 640x480
.
$ ffmpeg -i Funny.mkv -s 640x480 -c:a copy Funny_resize.mkv

使用FFmpeg将海报图像添加到音频文件
由于音频文件只提供声音的歌手专辑需要一些海报显示,同时播放歌曲。此海报图像可以作为元数据嵌入到音频文件中,如下所示。
$ ffmpeg -i Funny.mkv -i smiley.jpg Funny_poster.mkv

通过使用FFmpeg指定开始和结束时间来剪切视频
我们可以在指定的时间范围内从指定的时间剪切视频。原始文件将保持不变。我们将用指定开始时间 -ss
选项和持续时间 -t
选项。在本例中,我们将视频从20秒缩短到35秒。
$ ffmpeg -i Funny.mkv -ss 00:00:20 -codec copy -t 15 Funny_cut.mkv

将视频文件与FFmpeg合并
多个视频文件可以连接成一个视频文件。我们将以文本文件的形式提供视频文件列表 -f concat
和 -c copy
选项。视频文件如下所示 videos.txt
视频.txt
part1.mkvpart2.mkv
现在我们一起来。
$ ffmpeg -f concat -i videos.txt -c copy Funny_join.mkv
裁剪音频 文件
我们之前已经剪切了视频文件。还有一个选项可以剪切音频文件。我们将使用相同的选项与视频文件,但输出将是一个音频文件。在这个例子中,我们 audio_crop.mp3
.
$ ffmpeg -i Funny.mkv -ss 00:00:20 -t 15 Funny_cut.mp3

设置的比特率 带FFmpeg的音频
视频的比特率影响音频的质量 更高的比特率意味着更高的质量,但也有更多的音频 大小。我们可以改变音频 文件比特率 -ab
选项。在本例中,我们将比特率改为 128k
$ ffmpeg -i Funny.mp3 -ab 128k Funny_128k.mp3

用FFmpeg设置视频帧率
帧速率指定一秒钟内的图片计数。高帧速率意味着更多的流动电影,但成本更高的CPU和磁盘。我们可以改变帧速率 -r
选项。在本例中,我们将设置帧速率 15
$ ffmpeg -i Funny.mkv -r 15 Funny.mp4

设置的比特率 带FFmpeg的视频
视频比特率提供帧的颜色密度。更高的比特率意味着更详细的颜色,但更大的尺寸。我们可以使用ffmpeg设置视频比特率 -b
选项。在本例中,我们将比特率改为 100k
这意味着 100.000
位
$ ffmpeg -i Funny.mkv -b 100k Funny.mp4

用FFmpeg从视频中提取图像
如您所知,电影开膛手通常提供一些关于电影和视频文件的图片缩略图。可以使用FFmpeg创建此图片缩略图。我们将使用 -r
用于指定速率和 -f
格式的选项。在本例中,我们将使用rate创建一个缩略图 1
.
$ ffmpeg -i Funny.mkv -r 1 -f image image-%3d.jpeg
