Rest vom Schützenfest

Nachdem ich mich entschieden habe, die Inhalte der alten Seite nicht wieder online zu stellen, möchte ich hier doch gerne noch ein paar alte Codeschnipsel veröffentlichen.
Ist ja schaden wenn sowas einfach weg ist und vielleicht kann es der eine oder andere doch noch brauchen.

M - Mobile Movie Converter
Ein kleines Skript um Filme in ein passendes Format fürs Handy zu konvertieren.
Ich weiß, bei heutigen Smartphones braucht man das natürlich kaum noch. Vielleicht aber für ältere und konventionelle Handys noch interessant.
Vorraussetzung sind yad und ffmpeg.

#!/bin/sh

RESULTS=$(mktemp --tmpdir results.XXXXXXXXXX)
TITLE="M - Mobile Move Converter"
IMAGE="gtk-refresh"
CMD='yad --width=500 --height=200'
TEXT="Filme einfach und schnell fürs Handy konvertieren \n"
DESTINATION="M_MOVIES"

ffframes ()
{
       
        ff_length1=( $(ffmpeg -i $INFILE 2>&1 | sed -n "s/.* Duration: \([^,]*\), start: .*/\1/p") )
        ff_length=( $(echo "$ff_length1" | awk -F':'  '{ print $1*3600 + $2*60 + $3 }'));
        ff_fps=( $(ffmpeg -i $INFILE 2>&1 | sed -n "s/.*, \(.*\) tbr.*/\1/p") )
        total_frames=( $(echo $ff_length $ff_fps | awk '{ printf( "%3.0f\n" ,($1*$2)) } '));
        echo total-frames $total_frames 
}

ffvideo ()
{
ffframes

     ffmpeg -i $INFILE -f mp4 -vcodec mpeg4 -s $FORMAT -qscale 4 -acodec libfaac -ac 1 -ar 32000 -ab $ABIT ~/$DESTINATION/$OUTFILE.mp4 2>&1 | \
     awk -vRS="\r" '$1 ~ /frame/ {gsub(/frame=/," ");gsub(/fps=/," ");gsub(/kB/," ");gsub(/time=/," ");gsub(/ \(/," ");print "\n#Converting video : '"$4 : $1"'.\\n\\nTotal Frames : \\t\t'$total_frames'\\t\tCurrent Frame :\\t"$1"\\nFrame rate (s) :\\t"$2"\\nTarget File size  :\\t"int(($5/($1/'$total_frames'))/1024)"."int(((($5/($1/'$total_frames'))/1024)-int(($5/($1/'$total_frames'))/1024))*10)" \\nDuration of video :\\t'$ff_length1'\\tTime Remaining :\\t"int((('$total_frames'-$1)/$2)/3600)":"int((((('$total_frames'-$1)/$2)/3600)-(int((('$total_frames'-$1)/$2)/3600)))*60)":"int((((('$total_frames'-$1)/$2)/60)-(int((('$total_frames'-$1)/$2)/60)))*60)"\\nPercent complete :\\t"int(($1/'$total_frames')*100) " %";print int(($1/'$total_frames')*100);fflush();}' | \
     $CMD --title="$TITLE" --image="$IMAGE" --text="Konvertiere.... bitte warten" --progress --auto-kill --auto-close --button="gtk-cancel:1"
           
}

$CMD --title="$TITLE" --image="$IMAGE" --text="$TEXT" --form \
     --field="Datei:FL" '$HOME' --field="Auflösung:CB" '320x240 (4:3)!400x240 (~16:9)!480x320 (4:3)' \
     --field="Audio Bitrate:CB" '64k!128k!192k' \
     --field="Abschließend abspielen:CHK" --field="Speichern als::IN" > $RESULTS

mkdir -p ~/$DESTINATION

INFILE=`cat $RESULTS | awk -F'|' '{print $1}' | sed 's/\ /\\ /g'`
OUTFILE=`cat $RESULTS | awk -F'|' '{print $5}' | sed 's/\ /\\ /g'`
FORMAT=`cat $RESULTS | awk -F'|' '{print $2}' | sed 's/\ .*//'`
PLAY=`cat $RESULTS | awk -F'|' '{print $4}'`
ABIT=`cat $RESULTS | awk -F'|' '{print $3}'`

ffvideo

if [ "$PLAY" = "TRUE" ]; then
            ffplay ~/$DESTINATION/$OUTFILE.$TYPE
         fi

zum download hier klicken -> mmovie.sh

INTXXX - Hörspielhilfe
Vor ein paar Jahren hab ich mir einen neuen MP3 Player gekauft. Leider hatte das Gerät so seine Tücken. Die MP3 wurden von dem Gerät nicht nach Namen oder ID3 Tags sortiert sonder ohne Kompromisse immer nach dem Erstellungsdatum abgespielt.
Das sorgte oft für ein gewisses Durcheinander bei der Wiedergabe, denn kopiert man mehrere Tracks gleichzeitig, ist nicht unbedingt sicher gestellt, das Track 1 vor Track 8 auf den Player geschrieben wird. Und dann muss man halt immer Track 8 vor Track eins hören. Was bei Musik vielleicht nur nervt, macht das hören von Hörbuchern dann schon schnell zur unmöglichkeit (es sei denn man hat kein Problem damit zu erfahren wer der Mörder war bevor es überhaupt einen Mord gab 😉 ).
Die INTXXX - Hörspielhilfe sorgt dafür, das die Tracks zwingend in der Reihenfolge so angelegt werden, das der Player sie auch richtig abspielt. Nichts spannendes aber es erhöht eindeutig das Hörvergnügen.

Kleine Anmerkung noch. INTXXX ist nicht der einzige Hersteller deren Player dieses Problem haben. Mir sind später noch ein paar Leute mit anderen Geräten begegnet die mit anderen Gerät das gleiche Problem hatten (jetzt natürlich nicht mehr). Schuld sind wohl einfach billige Chips und lieblos drauf geworfene Firmware.

Für andere Gerät den Eintrag MEDIA bitte dann einfach entsprechend ändern.
Vorraussetzung ist installiertes yad

#!/bin/sh

RESULTS=$(mktemp --tmpdir results.XXXXXXXXXX)
TITLE="INTXX - Hörspielhilfe"
IMAGE="gtk-network"
CMD='yad --width=500 --height=150'
TEXT="...macht dem blöden Ding Beine! \n"
MEDIA="/media/INTXXX"


$CMD --title="$TITLE" --image="$IMAGE" --text="$TEXT" --form \
     --field="Zu kopierendes Verzeichnis:DIR" \
     --field="Volume Boost (gain 3db):CHK" > $RESULTS
cat $RESULTS | awk -F'|' '{print $2}'

SOURCEDIR=`cat $RESULTS | awk -F'|' '{print $1}' | sed -e 's/\ /\\ /g'`
DESTDIR=`cat $RESULTS | awk -F'|' '{print $1}' | awk -F'/' '{print $NF}' | sed -e 's/\ /\\ /g'`
BOOST=`cat $RESULTS | awk -F'|' '{print $2}'`

mkdir -p "$MEDIA/$DESTDIR"

IFS="
"

for i in $(ls "$SOURCEDIR")
  do cp "$SOURCEDIR/$i" "$MEDIA/$DESTDIR" 
     if [ "$BOOST" = "TRUE" ]
	then mp3gain -r -k -d 3.0 "$MEDIA/$DESTDIR/*.mp3"
     fi
     sleep 1
done

zum download hier klicken -> ihh.sh

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.