Vdx – FFmpeg 的直观命令行包装器

FFmpeg 是一个跨平台、开源的音视频转换器。 它支持大多数行业标准编解码器,可以将媒体文件从一种格式转换和转码为另一种格式。 Vdx 是一个直观的命令行包装器 FFmpeg. 这是一个开源项目,用 节点JS 并在 MIT 许可下发布。

使用Vdx,我们可以做如下最常见的音视频编码和转码操作:

  • 将视频裁剪到指定尺寸,
  • 将音频/视频文件转换为不同的文件格式,
  • 改变帧率,
  • 从视频文件中删除音频,
  • 将视频大小调整到特定尺寸,
  • 反转视频,
  • 将视频旋转到不同的角度,
  • 更改音频/视频播放速度,
  • 将音频/视频修剪到指定的持续时间,
  • 增加或减少音频/视频的音量,
  • 同时对多个文件运行多个操作,
  • 打印用于特定操作的底层 FFmpeg 命令,
  • 还有更多。

在 Linux 上安装 vdx

如前所述,vdx 在后台使用 FFmpeg 进行视频编码,并且是用 Nodejs 编写的。 所以确保你已经在你的 Linux 机器上安装了 FFmpeg 和 Nodejs。 以下指南可帮助您在 Linux 上安装它们。

  • 如何在 Linux 中安装 FFmpeg
  • 如何在 Linux 上安装 NodeJS

安装 FFmpeg 和 Nodejs 后,运行以下命令在 Linux 系统上安装 vdx:

$ npm install --global vdx

如何使用 vdx(FFmpeg 的命令行包装器)处理视频和音频

Vdx 的使用和 ffmpeg 的使用一样简单。 vdx 的一般语法是:

$ vdx <pattern> [options]

Vdx 支持各种音频和视频处理操作。 以下是一些开始使用 vdx 的示例。

1. 裁剪视频

Vdx 可以将给定的视频裁剪为您选择的特定高度和宽度 -c, --crop 旗帜。 为了 example,以下命令将裁剪 视频.mkv 文件为 640 x 360 像素:

$ vdx video.mkv --crop=640,360

上面的命令会将视频裁剪为 宽度 640 像素, 身高360 像素。

成功完成后,您将看到以下输出:

✔ video.mkv › build/video.mkv

处理后的视频将保存在一个名为 “建造” 在你的 $HOME 目录。 您可以使用更改此输出位置 -o, --output 像下面这样的标志。

$ vdx video.mkv --crop=640,360 --output=/home/ostechnix/Videos

您甚至可以从特定位置(即坐标)裁剪视频。

为了 example如果你想用一个视频 宽度为 640 像素 和一个 高度 360 像素,从 位置 (20,15)使用这个命令:

$ vdx video.mkv --crop=20,15,640,360

您还可以使用通配符处理多个相同类型的视频。 以下命令将处理所有 .mkv 格式视频:

$ vdx '*.mkv' --crop=640,360

2.将文件转换为不同的格式

如果要将音频或视频转换为其他格式,请使用 -f, --format 旗帜。

$ vdx video.mkv --format mp4

此命令转换视频格式 .mkv.mp4.

3.改变帧率

帧速率是您的相机每秒捕获的单个视频帧的数量。 要更改视频的帧速率,请使用 -fp, --fps 旗帜:

$ vdx video.mkv --fps=30

帧率越高,视频越流畅。

4.从视频中删除音频

要从视频中去除音频,请使用 -na, --no-audio 旗帜。

$ vdx video.mkv --no-audio

我不知道为什么开发人员不给我们添加音频到视频的选项。 用我们最喜欢的歌曲或音乐制作视频可能很有用。

5.调整视频大小

要将视频调整为特定尺寸,请使用 -r, --resize 旗帜。

$ vdx video.mkv --resize=360,640

此命令会将给定视频的大小调整为宽度 360,高度 640。

如果您想要视频的纵横比,请设置任一 <width> 或者 <height>-1.

为了 example, 设置 width360 并保持纵横比,使用以下命令:

$ vdx video.mkv --resize=360,-1

同样,要设置 height 到 640,保持纵横比,命令将是:

$ vdx video.mkv --resize=-1,640

6.反向视频

可以使用反转视频 -rv, --reverse 旗帜。

$ vdx video.mkv --reverse

如果您生成的视频,它将从头开始播放,即向后播放。

7. 旋转视频

Vdx 可以使用以下方法将给定的视频旋转到特定角度 -ro, --rotate 旗帜。 支持的角度为顺时针 90 度。 逆时针90度和180度。

要将给定的视频顺时针旋转 90 度,请使用以下命令:

$ vdx video.mkv --rotate=90

将视频逆时针旋转 90 度:

$ vdx video.mkv --rotate=-90

将视频旋转 180 度:

$ vdx video.mkv --rotate=180

8.改变播放速度

可以使用调整给定音频/视频文件的播放速度 -s, --speed 旗帜。

要将播放速度减半,请使用:

$ vdx video.mkv --speed=0.5

将播放速度加倍:

$ vdx video.mkv --speed=2

9.修剪媒体文件

有时,您可能希望使用开始时间和结束时间从音频或视频文件中剪切一部分。 如果是这样,您可以使用修剪音频或视频文件 -t, --trim 旗帜。

如果要修剪从时间 1:30 到视频文件结尾的给定视频,请使用以下命令:

$ vdx video.mkv --trim=1:30

您还可以指定开始和结束时间,如下所示:

$ vdx video.mkv --trim=1:30,2:30

10.增加或减少音量

就像播放速度一样,我们可以使用增加或减少视频文件的音量 -vo, --volume 旗帜。

要将视频文件的音量减半,请运行:

$ vdx video.mkv --volume=0.5

将视频文件的音量加倍:

$ vdx video.mkv --volume=2

11.同时对多个文件运行多个操作

Vdx 可以同时处理具有多个不同选项的多个媒体文件。

$ vdx '*.mkv' --format=mp4 --fps=30 --resize=360,640 --volume=2 --trim=1:30,2:30 --rotate=90

上面的命令会将所有.mkv格式文件转换为.mp4格式,将帧速率更改为30 fps,将它们调整为宽度360和高度640,将音量加倍,从1:30到2:30修剪它们并旋转它们顺时针旋转 90 度。

12.打印vdx使用的底层FFmpeg命令

如前所述,vdx 只是 FFmpeg 程序的包装器。 在底层,Vdx 使用 FFmpeg 进行视频处理。 如果您想知道 vdx 在执行特定操作时使用的 FFmpeg 命令,请使用 -d, --debug 旗帜。

$ vdx video.mkv --no-audio --debug

样本输出:

/usr/bin/ffmpeg -i 'video.mkv' -an -codec:v copy -y 'build/video.mkv'
✔ video.mkv › build/video.mkv

正如您在上面的输出中看到的,vdx 用于从视频中剥离音频的实际 FFmepg 命令是:

ffmpeg -i 'video.mkv' -an -codec:v copy -y 'build/video.mkv'

获得帮助

要了解 vdx 实用程序的一般用法和所有可用选项,请通过运行以下命令参考帮助部分:

$ vdx --help

Vdx 仅支持十几个基本选项。 FFmpeg 有很多选项可以执行各种高级视频处理操作。 我已经编译了最常用和最常用的 20 多个 FFmpeg 命令。 如果您有兴趣了解 FFmpeg 命令,请参阅以下指南:

  • 20+ FFmpeg 初学者命令

如果你只需要一个基本的视频编码任务,vdx 绰绰有余!

资源: