ffmpeg를 사용하여 선택한 오디오 파일을 vifm으로 변환

ffmpeg를 사용하여 선택한 오디오 파일을 vifm으로 변환

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.) 또한 다른 확장자를 포함하는 방법도 모르겠습니다.

답변1

몇 시간의 시행착오 끝에 마침내 알아냈습니다.

bash 스크립트를 별도의 파일에 작성합니다. 예 ffmpeg-opus.sh:

#!/bin/bash

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

이에 대한 명령을 작성하십시오 vifmrc.

command opus ffmpeg-opus.sh %f

관련 정보