0
나는 ffmpeg 및 cygwin 확장자를 사용하여 불량 프레임을 AVI 파일에서 검사하는 here에서 Bash 스크립트를 가져 왔습니다. Mingw에서 코드를 실행할 수 있습니다. 나는 ffmpeg.exe (ren ffmpeg), cygwin1.dll & cygz.dll을 Mingw의 bin 디렉토리 (/ c/mingw/bin /)에 넣었다. 자,이 bash 코드를 PowerShell로 이식하려고합니다. 누구든지이 PowerShell 표시등을 흘릴 수 있습니까?: 스크립트간단한 Bash 스크립트를 PowerShell로 변환 하시겠습니까?
(경로 :/C/mygw/빈/AviConvert)
#!/bin/bash
FFMPEG="ffmpeg"
LIST=`find | grep \.avi$`
for i in $LIST; do
OUTP="$i.txt"
OUTP_OK="$i.txt.ok"
TMP_OUTP="$i.tmp"
if [ -f "$OUTP" -o -f "$OUTP_OK" ] ; then
echo Skipping "$i"
else
echo Checking "$i"...
RESULT="bad"
ffmpeg -v 5 -i "$i" -f null - 2> "$TMP_OUTP" && \
mv "$TMP_OUTP" "$OUTP" && \
RESULT=`grep -v "\(frame\)\|\(Press\)" "$OUTP" | grep "\["`
if [ -z "$RESULT" ] ; then
mv "$OUTP" "$OUTP_OK"
fi
fi
done
을했다 얼마나 직접 해보니? 너 정확히 뭘 붙인거야? – zdan
잘 작동합니다. 대상 폴더의 각 AVI 파일에 대해 * .ok (파일에 결함이없는 프레임이있는 경우), * .txt (프레임 오류가있는 경우) 또는 * .tmp (해당 프로세스가 진행되는 동안)). 그러나 처리 속도가 매우 느립니다. PowerShell에서 스크립트를 실행하면 mingw가 bash 환경을 에뮬레이트하므로 성능이 향상 될 수 있다고 생각했습니다 (많은 오버 헤드가 발생 했습니까?). CMIIW! –
필자는 가장 오래 걸리는 것이'ffmpeg -v 5 -i "$ i"-f null - 2> "$ TMP_OUTP"'명령이라고 생각합니다. Windows avaialble [here] (http://ffmpeg.zeranoe.com/builds/) 빌드를 사용해 보셨습니까? Cygwin과 Powershell을 비교하려면 AVI 파일 중 하나를 처리하고 완료 시간을 비교하십시오. –