ffmpeg를 사용하여 * .avi 파일을 일괄 변환 “$file” -s 640×480

ffmpeg를 사용하여 20 + .avi 파일을 일괄 적으로 변환하려고합니다.

나는 다음을 가지고있다.

@echo off.

for file in *.avi
do
   ffmpeg -i "$file" -s 640x480 -vcodec msmpeg4v2 "'basename "$file" .avi'.mpg';
done

내 .bat 파일에 있지만 작동하지 않습니다. Windows OS에서 어떻게 작동하게 할 수 있습니까? 예, 모든 파일이 같은 폴더에 있습니다.

내가 얻는 오류 메시지 :

현재 파일이 예기치 않았습니다



답변

배치 파일이 Windows bat 스크립트에 올바른 형식이 아닙니다. 대신 스크립트가 Linux 용으로 작성된 것 같습니다. Windows Shell에서 지원 하는 for 루프 를 사용하려면 스크립트를 변경해야합니다 .

다음은 Windows for 루프를 사용하여이 작업을 수행하는 방법의 예입니다. 아래 줄을 배치 파일에 넣고 스크립트를 avi 파일과 동일한 디렉토리로 이동 한 다음 실행하십시오.

for %%A IN (*.avi) DO ffmpeg -i "%%A" "%%A.mpg"


답변