하지 않습니다 : 그것은 한 번 실행 만 수행하고 4 개의 다른 형식으로 입력 파일 이름을 변환bash는 스크립트는 좀 MP4 파일의 일괄 변환이 bash는 스크립트가 루프
#!/bin/bash
ls dr*.mp4 | grep -v -E "\.[^\.]+\." | sed "s/.mp4//g" | while read f
do
TARGET="$f.ffmpeg.mp4"
if ! [ -f $TARGET ]
then
echo $TARGET
ffmpeg -nostdin -i $f.mp4 -s 320x180 -vc h264 -acodec copy -f mp4 -y $TARGET
fi
TARGET="$f.ffmpeg.flv"
if ! [ -f $TARGET ]
then
echo $TARGET
ffmpeg -nostdin -i $f.mp4 -s 320x180 -acodec copy -y $TARGET
fi
TARGET="$f.jpg"
if ! [ -f $TARGET ]
then
echo $TARGET
ffmpeg -nostdin -i $f.ffmpeg.mp4 -ss 0 -vframes 1 -f image2 $TARGET
fi
TARGET="$f.ffmpeg.ogv"
if ! [ -f $TARGET ]
then
echo $TARGET
ffmpeg -nostdin -i $f.mp4 -s 320x176 -ar 11025 -acodec libvorbis -y $TARGET
fi
done
, 그러나 않습니다 다음 입력 파일 이름으로 반복하지 마십시오. 여러 차례의 변환 순서를 섞어 보려고했지만 스크립트는 한 파일 이름에 대해 한 번만 실행됩니다. 는 내가 -nostdin 플래그는 FFmpeg를 실행하려고하지만
"Unrecognized option 'nostdin'"
는 FFmpeg 버전이는 FFmpeg 버전 0.10.6-6 말한다 : 0.10.6-0ubuntu0jon1가 ~ lucid2 - 난 그냥 http://ppa.launchpad.net/jon-severinsson/ffmpeg/ubuntu로부터는 FFmpeg 패키지를 업데이트 최신 버전을 찾을 수 없습니다. 기본 시스템은 대신 glob
빙을 사용할 수
Distributor ID: Ubuntu
Description: Ubuntu 10.04.1 LTS
Release: 10.04
Codename: lucid
'ls dr * .mp4 |의 출력은 무엇입니까? grep -v -E "\. [^ \.] + \." | sed "s/.mp4 // g"'? – slhck