Hallo,
ich poste das mal falls es jemand brauchen kann. Achtung: ganz rudimentärer Hack zum Eigenbedarf, in keiner Weise "schön" und mit etwas Bastelei verbunden!
Um also mit vdrrip (ein sehr nettes Plugin zum Umwandeln von Aufnahmen in xvid usw. - siehe Wiki) auch PSP-fähige Videos generiert zu bekommen, macht man folgendes:
- Grundvoraussetzung ist ein lauffähiges ffmpeg mit PSP-Unterstützung, was schon mal nicht ganz trivial ist - dazu habe ich in folgendem Thread was hinterlassen:
http://vdrportal.de/board/thread.php?threadid=32464&sid=&hilight=psp
Gelingt die Umwandlung auf der Kommandozeile, kann man sich an die Einbindung in vdrrip machen:
- Man lege ein Umwandlungs-Skript an: /usr/local/bin/psp_encodeCode
Display Morecd $1 if [ -e /tmp/pspnr ] then NR=`cat /tmp/pspnr` NR=$(($NR + 1)) else NR=10000 fi echo $NR > /tmp/pspnr MAP="" CHECKSTREAM=`ffmpeg -i "$2" 2>&1 | grep mp2 | awk '{print $2}'` if [ "$CHECKSTREAM" = "#0.1:" ] then MAP="-map 0:0 -map 0:1" fi if [ "$CHECKSTREAM" = "#0.2:" ] then MAP="-map 0:0 -map 0:2" fi if [ "$CHECKSTREAM" = "#0.3:" ] then MAP="-map 0:0 -map 0:3" fi if [ "$CHECKSTREAM" = "#0.4:" ] then MAP="-map 0:0 -map 0:4" fi ffmpeg -i "$2" -f psp $MAP -bitexact -vcodec xvid -s 320x240 -r 29.97 -qscale 4 -acodec aac -ac 2 -ar 24000 -ab 48 -title $3 M4V$NR.MP4 >/tmp/pspencode.log 2>&1 touch M4V${NR}_$3Man sieht: es wird ein laufender Zähler für die Filenamen in /tmp/pspnr gespeichert, und der Umwandlungsoutput landet in /tmp/pspencode.log.
Die hässlichen checkstream-Abfragen versuchen, die richtige Audio-Spur (mp2 und nicht etwa ac3, was mein ffmpeg nicht verkraftet) zu finden. Ganz robust ist das so vermutlich aber nicht. Die genauen ffmpeg-Parameter kann man nat. bzgl. framerate etc noch variieren je nach Gusto. - Dann wird das ganze im /usr/local/bin/queuehandler.sh von vdrrip eingebunden: in encode() direkt über "# encode in two passes":Code
if [ "$vcodec" = "psp" ] then local ifile="$tempdir/temp.vdr" log_info "encoding for psp: $shortname" /usr/local/bin/psp_encode $tempdir $ifile $name return; fiHier auf den richtigen Pfad zum encode-Skript achten! Es wird also im Falle des "virtuellen" Video-Codec "psp" einfach die Umwandlung angestossen und dann abgebrochen. Das heisst insbesondere auch, dass keinerlei Einstellugen aus dem vdrrip-Umwandlungs-Menu hier berücksichtigt werden. Einfach auf codec "psp" stellen, der Rest ist egal (ich sagte ja schon: unschöner Hack..)
- Um schliesslich den codec "psp" angeboten zu bekommen, muss man noch eine winzige Änderung im eigentlichen vdrrip-Plugin machen: in codecs.c in Zeile 79 folgende Zeile einfügen:
Sicherlich in jeder Hinsicht ausbaufähig, aber bei mir läufts, und vielleicht will es ja mal jemand auch ausprobieren. Ich finde, man kann etwa Serienfolgen auf der PSP unterwegs ganz gut ansehen, für abendfüllende Spielfilme ist das eher nicht so geeignet..
hivdr