FFmpeg 是一个跨平台、开源的音频和视频转换器。 它支持大多数行业标准编解码器,可以将媒体文件从一种格式转换为另一种格式。 输出电压 是一个直观的命令行包装器 FFmpeg. 它是一个开源项目,写在 节点 并在 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
旗帜。 例如,以下命令将裁剪 视频.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
您甚至可以从特定位置(即坐标)裁剪视频。
例如,如果您想要一个带有 宽度 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
.
例如,要设置 width
到 360 并保持纵横比,使用以下命令:
$ 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 就足够了!
资源:
- Vdx GitHub 存储库
编码视频FFmpegLinuxNodejsOpensourcevdx