Ich bin ein Neuling in Sachen Videokodierung. Mein Problem ist: Ich habe eine Reihe von Bildern, von denen einige mit einer um 90 Grad gedrehten Kamera aufgenommen wurden. Ich habe versucht, mit Mencoder einen Film daraus zu machen, aber das Ergebnis zeigt mir, dass die mit gedrehter Kamera aufgenommenen Bilder ungedreht erscheinen. Wie erstelle ich einen Film, der die Ausrichtung der Originalbilder beibehält? Ich habe eine Mischung aus gedrehten und ungedrehten Bildern. Kann mir jemand helfen?
Antwort1
Ich habe vor einigen Jahren ein Skript für diesen Zweck geschrieben. Ich nenne esautorot, aber Sie können jeden beliebigen Namen dafür verwenden. Sie sollten die Variablen ändern
dimkonica=2112x2816
dimcanon=3264x2448
auf Werte, die den Größen Ihrer Bilder entsprechen. Hier ist das Skript:
#!/bin/bash
if [ "$1" == "" ]
then
echo "Usage: $0 <jpeg-file> [lossy]"
echo "Auto-rotate *lossless* with jhead,"
echo "or optionally, if bad image dimensions,"
echo "auto-orient *lossy* with convert"
exit
fi
name="$1"
name=${name%.*}
#echo $1
#echo $name
if [ "$1" == "$name".jpg ] || [ "$1" == "$name".JPG ] || [ "$1" == "$name".jpeg ] || [ "$1" == "$name".JPEG ]
then
echo hej>/dev/null
else
echo "Bad! $1 not a jpeg-file"
exit
fi
dimkonica=2112x2816
dimcanon=3264x2448
dim=$(identify -ping "$1"|sed -e s/.*JPEG\ // -e s/\ .*//)
gw0=$(echo "$dim"|sed s/x.*//)
gw1=$((gw0/16*16))
gh0=$(echo "$dim"|sed s/.*x//)
gh1=$((gh0/16*16))
if [ "$dim" == "$dimkonica" ] || [ "$dim" == "$dimcanon" ]
then
echo "jhead: Original dimension for jhead: $1: $dim"
jhead -autorot "$1"
else
if [ "$gw0" == "$gw1" ] && [ "$gh0" == "$gh1" ]
then
echo "jhead: Good dimension for jhead: $1: $gw0"x"$gh0"
jhead -autorot "$1"
else
if [ "$2" == "lossy" ]
then
echo "convert: Bad dimension for jhead: $1: $dim"
while [ "$ans" != "yes" ] && [ "$ans" != "n" ] && [ "$ans" != "no" ]
do
echo -n "make a lossy rotation the image? (yes/no) "
read ans
if [ "$ans" == "yes" ]
then
echo Converted: original saved, rotated copy named "$name"_r.jpg
convert -auto-orient "$1" "$name"_r.jpg
fi
done
else
echo "Bad dimension for jhead: $1: $dim"
fi
fi
fi