Ffmpeg

使用 ffmpeg 在 vi fm 中轉換選定的音頻文件

  • July 25, 2020

我正在嘗試創建一個命令,用於使用 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 的替換宏替換文件名中的flacwith opus。)我也不知道如何包含其他副檔名。

經過數小時的反複試驗,我設法弄明白了。

在單獨的文件中編寫 bash 腳本,例如ffmpeg-opus.sh

#!/bin/bash

for file; do
   ffmpeg -i "$file" -ab 128k "${file%.*}".opus
done

並為它創建一個命令vifmrc

command opus ffmpeg-opus.sh %f

引用自:https://unix.stackexchange.com/questions/598152