rendered paste body#!/bin/bash -eNO="8x8dct:bframes=3"X264="trellis=2:subq=6:4x4mv:qcomp=1:me=3:frameref=3:brdo:bime:mixed_refs:b_pyramid:weight_b"VB=100[ "$#" -ne 1 ] && exec echo "usage: $0 <path/to/file.psp>"clean_tmp(){ [ -z "$KEEPTEMP" ] && rm -f /tmp/dvd2psp.$$.avi /tmp/audio.$$.wav /tmp/audio.$$.mp4 /tmp/audio.$$_track1.aac /tmp/video.$$.264 /tmp/mkpsppass.$$.log exit 0}trap clean_tmp SIGINTtrap clean_tmp SIGQUITtrap clean_tmp SIGKILLecho -e "\e[32mRipping DVD...\e[39;49m"CROP=$(mplayer -dvd-device /dev/hda -alang it dvd:// -vo null -nosound -vf cropdetect -ss 1800 -frames 25 2>/dev/null |grep '[CROP]' |tail -n 1 |cut -d '(' -f 2 | cut -d ')' -f 1)mencoder -dvd-device /dev/hda -alang it dvd:// $CROP,scale=368:-10 -ovc lavc -lavcopts vcodec=ffvhuff -oac copy -o /tmp/dvd2psp.$$.avi -msglevel all=0:avsync=5 || clean_tmpeject /dev/hdaecho -e "\e[32mEncoding Audio...\e[39;49m"#faac --mpeg-vers 4 -q 80 /tmp/audio.$$.wav || clean_tmpmplayer /tmp/dvd2psp.$$.avi -vc null -vo null -ao pcm:fast:file=/tmp/audio.$$.wav -af lavcresample=48000 -msglevel all=0:avsync=5 || clean_tmpnormalize-audio --peak /tmp/audio.$$.wav || clean_tmpneroaacenc -lc -if /tmp/audio.$$.wav -of /tmp/audio.$$.mp4 -q 0.2 || clean_tmprm -f /tmp/audio.$$.wavMP4Box -raw 1 /tmp/audio.$$.mp4 || clean_tmprm -f /tmp/audio.$$.mp4echo -e "\e[32mEncoding Video (1° pass)\e[39;49m"mencoder /tmp/dvd2psp.$$.avi -vf harddup -ofps 25000/1001 -o /dev/null -of rawvideo -ovc x264 -nosound $VF -x264encopts $X264:bitrate=$VB:turbo=1:pass=1 -passlogfile /tmp/mkpsppass.$$.log -msglevel all=0:avsync=5 || clean_tmpecho -e "\e[32mEncoding Video (2° pass)\e[39;49m"mencoder /tmp/dvd2psp.$$.avi -vf harddup -ofps 25000/1001 -o /tmp/video.$$.264 -of rawvideo -ovc x264 -nosound $VF -x264encopts $X264:bitrate=$VB:pass=2 -passlogfile /tmp/mkpsppass.$$.log -msglevel all=0:avsync=5 || clean_tmpecho -e "\e[32mPutting all together\e[39;49m"cp /usr/lib/gpac/empty.psp "$1"MP4Box -fps 24.975 -add /tmp/video.$$.264 -add /tmp/audio.$$_track1.aac "$1" || clean_tmpecho -e "Saved to \e[32m$1\e[39;49m"clean_tmp