SE 네트워크 및 기타 장소에 대한 수많은 토론의 도움으로 마침내 Matroska 사전 설정을 제외하고 잘 작동하는 작업 스크립트를 만들 수 있었습니다. 대상 확장자를 MP4로 지정하기 때문에 문제는 스크립트 자체라는 것을 이해합니다.
나는 bash에 대한 경험이 전혀 없으며 스크립트를 개선하는 방법을 알 수 없었기 때문에 출력 확장을 미리 설정하는 대신에 지정된 대로 확장을 사용합니다.공식 사전 설정.
대부분의 사전 설정 컨테이너는 MP4이므로 MKV를 제외한 대부분의 사전 설정에서 작동합니다. 다음은 MP4에서 작동하는 스크립트의 예입니다.
#!/bin/bash
# Configure these as needed
SRC=~/hbCLI/src
DEST=~/hbCLI/dest
DEST_EXT=mp4
HANDBRAKE_CLI=HandBrakeCLI
PRESET="Fast 480p30"
IFS=$(echo -en "\n\b")
# The script itself
for FILE in `ls $SRC`
do
filename=$(basename $FILE)
extension=${filename##*.}
filename=${filename%.*}
$HANDBRAKE_CLI -i $SRC/$FILE -o $DEST/$filename.$DEST_EXT --preset="$PRESET" --optimize --two-pass
done
그러나 Matroska 사전 설정의 경우 라인을 PRESET="Fast 480p30"
로 변경하기만 하면 되지만 PRESET="H.264 MKV 480p30"
출력 확장자는 mp4
여전히 mkv
.
추가 요청:
질문의 일부는 아니지만 스크립트를 더욱 개선하여 출력이 사전 설정된 이름의 폴더에 저장되는 DEST=~/hbCLI/dest/$PRESET
대신 출력이 저장되도록 도와줄 수 있는 경우 폴더를 만듭니다. DEST=~/hbCLI/dest
.
감사합니다!