Vdx-FFmpeg的直观命令行包装
FFmpeg是跨平台的开源音频和视频转换器。
它支持大多数行业标准编解码器,并且可以将媒体文件从一种格式转换和转码为另一种格式。
Vdx是FFmpeg的直观命令行包装。
这是一个用NodeJS编写的开源项目,并根据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'标志将给定的视频裁剪为我们选择的特定高度和宽度。
对于示例,以下命令会将video.mkv文件裁剪为640 x 360像素:
$vdx video.mkv --crop=640,360
上面的命令会将视频裁剪为宽度640像素,高度360像素。
成功完成后,我们将看到以下输出:
✔ video.mkv › build/video.mkv
处理后的视频将保存在“ $HOME”目录中名为“ build”的目录中。
我们可以使用'-o,--output'标志来更改此输出位置,如下所示。
$vdx video.mkv --crop=640,360 --output=/home/theitroad/Videos
我们甚至可以从特定位置裁剪视频,例如:坐标。
例如,如果我们要从位置(20,15)开始播放宽度为640像素,高度为360像素的视频,请使用以下命令:
$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'。
例如,要将“宽度”设置为360并保持宽高比,请使用以下命令:
$vdx video.mkv --resize=360,-1
同样,要将“ height”设置为640,并保持宽高比,命令将为:
$vdx video.mkv --resize=-1,640
6.倒转影片
可以使用'-rv,--reverse'标志反转视频。
$vdx video.mkv --reverse
如果我们生成了视频,它将从头到 tail播放,例如:向后播放。
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