我正在尝试创建一个命令,用于使用ffmpeg转换vifm中选择的所有音频文件。到目前为止,我尝试过的是:
command opus ffmpeg -i %f -q 7 %f:s|flac|opus|然而,这有两个问题。
首先,只有在只选择一个文件时,它才能工作。例如,如果选择了两个,ffmpeg就会停止使用问题File 'foo.flac' already exists. Overwrite ? [y/N],其中foo.flac是第二个文件。
第二,只有当原始文件的扩展名为flac时,它才能工作。(我使用vifm的替代宏来替换示例中的文件名中的flac和opus。)我也不知道如何包括其他扩展。
发布于 2020-07-25 12:19:23
经过几个小时的反复试验,我终于想出了办法。
在单独的文件中编写bash脚本,如ffmpeg-opus.sh:
#!/bin/bash
for file; do
ffmpeg -i "$file" -ab 128k "${file%.*}".opus
done并在vifmrc中为它创建一个命令:
command opus ffmpeg-opus.sh %fhttps://unix.stackexchange.com/questions/598152
复制相似问题