--- burn/vdrburn-dvd.sh 2006-10-24 19:46:27.000000000 +0200 +++ burn-ProjectX-cvs/vdrburn-dvd.sh 2008-05-04 15:43:26.000000000 +0200 @@ -84,6 +84,24 @@ -demux -out "$MPEG_DATA_PATH" -name vdrsync \ $(ls "$MPEG_TMP_PATH/convert/"[0-9][0-9][0-9].vdr) + # CVS version of ProjectX + if [ -e $MPEG_DATA_PATH/vdrsync.*.mpa ] + then + mv $MPEG_DATA_PATH/vdrsync.*.mpa "$MPEG_DATA_PATH/vdrsync.mpa" + fi + + FILES_VDRSYNC="$MPEG_DATA_PATH/vdrsync-*.*.mpa" + for FILE in $FILES_VDRSYNC + do + if [ -e "$FILE" ] + then + a=`echo $FILE | expr $FILE : ".*\(.....\.mpa\)" | cut -b1` + a=`expr $a - 1` + mv $FILE `echo $FILE | sed 's/vdrsync-0\(.\)\....\.mpa$/vdrsync'$a'.mpa/'` + fi + done + + # Version 0.90.4.00 of ProjectX for NUM in `seq 1 9`; do if [ -e "$MPEG_DATA_PATH/vdrsync[$NUM].mpa" ]; then rm -f "$MPEG_DATA_PATH/vdrsync$NUM.mpa" @@ -107,11 +125,33 @@ (mplex -h 2>&1 | grep -q -- --ignore-seqend-markers) && \ MPLEX_OPTS="$MPLEX_OPTS -M" + # Number subtitles availables + subtitles_availables() + { + NB_PAGE=`grep "Teletext .*:" "$MPEG_DATA_PATH/vdrsync_log.txt" | grep "$1" | wc -l` + if [ $NB_PAGE -gt 1 ] + then + PAGE_FOUND=0 + for PAGE in $NB_PAGE + do + PAGE_FOUND2=`grep "Teletext .*:" "$MPEG_DATA_PATH/vdrsync_log.txt" | grep "$1" | sed -n "$PAGE"p | awk -F" " '{print $3}'` + if [ $PAGE_FOUND2 -ge $PAGE_FOUND ] + then + PAGE_FOUND=$PAGE_FOUND2 + NUM_PAGE=`grep "Teletext .*:" "$MPEG_DATA_PATH/vdrsync_log.txt" | grep "$1" | sed -n "$PAGE"p | awk -F" " '{print $7}'` + fi + done + rm -f `ls "$MPEG_DATA_PATH"/*."$1" | grep -v $NUM_PAGE` + fi + } + ### Subtitles SON=$(find "$MPEG_DATA_PATH" -name \*.son) SRT=$(find "$MPEG_DATA_PATH" -name \*.srt) SUP=$(find "$MPEG_DATA_PATH" -name \*.sup) if [ "!" "x$SON" = "x" ]; then + subtitles_availables son + SON=$(find "$MPEG_DATA_PATH" -name \*.son) # spumux.xml generation is based on son2spumux.sh: http://brigitte.dna.fi/~apm/ echo "" > "$MPEG_DATA_PATH/spumux.xml" echo " " >> "$MPEG_DATA_PATH/spumux.xml" @@ -133,11 +173,15 @@ echo "" >> "$MPEG_DATA_PATH/spumux.xml" # spumux.xml done SPU=$MPEG_DATA_PATH - elif [ "!" "x$SRT" = "x" ]; then + fi + if [ "!" "x$SRT" = "x" ]; then + subtitles_availables srt + SRT=$(find "$MPEG_DATA_PATH" -name \*.srt) + CHARSET=`echo $LANG | awk -F"." '{print $2}'` echo "" > "$MPEG_DATA_PATH/spumux.xml" echo " " >> "$MPEG_DATA_PATH/spumux.xml" - echo " > "$MPEG_DATA_PATH/spumux.xml" - echo " fontsize=\"28.0\" font=\"arial.ttf\" horizontal-alignment=\"center\"" >> "$MPEG_DATA_PATH/spumux.xml" + echo " > "$MPEG_DATA_PATH/spumux.xml" + echo " fontsize=\"20.0\" font=\"Vera.ttf\" horizontal-alignment=\"center\"" >> "$MPEG_DATA_PATH/spumux.xml" echo " vertical-alignment=\"bottom\" left-margin=\"60\" right-margin=\"60\"" >> "$MPEG_DATA_PATH/spumux.xml" echo " top-margin=\"20\" bottom-margin=\"30\" subtitle-fps=\"25\"" >> "$MPEG_DATA_PATH/spumux.xml" echo " movie-fps=\"25\" movie-width=\"720\" movie-height=\"574\"" >> "$MPEG_DATA_PATH/spumux.xml" @@ -145,8 +189,16 @@ echo " " >> "$MPEG_DATA_PATH/spumux.xml" echo "" >> "$MPEG_DATA_PATH/spumux.xml" # spumux.xml done - SPU=$MPEG_DATA_PATH - elif [ "!" "x$SUP" = "x" ]; then + if [ "!" "x$SUP" = "x" ] + then + SPU_2=$MPEG_DATA_PATH + else + SPU=$MPEG_DATA_PATH + fi + fi + if [ "!" "x$SUP" = "x" ]; then + subtitles_availables sup + SUP=$(find "$MPEG_DATA_PATH" -name \*.sup) # from http://www.guru-group.fi/~too/sw/m2vmp2cut/ pxsup2dast "$SUP"* SPU=$(find "$MPEG_DATA_PATH" -name \*.d) @@ -154,8 +206,25 @@ if [ ! "x$SPU" = "x" -a -f "$SPU/spumux.xml" ]; then mkfifo "$MPEG_TMP_PATH/subtmp.mpg" + set +e mplex -f 8 $MPLEX_OPTS -o "$MPEG_TMP_PATH/subtmp.mpg" "$VIDEO_FILE" $AUDIO_FILES & - spumux -v 2 "$SPU/spumux.xml" < "$MPEG_TMP_PATH/subtmp.mpg" > "$MOVIE_FILE" + spumux -v 2 "$SPU/spumux.xml" < "$MPEG_TMP_PATH/subtmp.mpg" > "$MPEG_TMP_PATH/movie_tmp.mpg" + RETURN_SPUMUX=$? + set -e + if [ "$RETURN_SPUMUX" != "0" ] + then + if [ ! "x$SPU_2" = "x" -a -f "$SPU_2/spumux.xml" ] + then + rm -f "$MPEG_TMP_PATH/movie_tmp.mpg" + mplex -f 8 $MPLEX_OPTS -o "$MPEG_TMP_PATH/subtmp.mpg" "$VIDEO_FILE" $AUDIO_FILES & + spumux -v 2 "$SPU_2/spumux.xml" < "$MPEG_TMP_PATH/subtmp.mpg" > "$MOVIE_FILE" + else + exit $RETURN_SPUMUX + fi + else + cat "$MPEG_TMP_PATH/movie_tmp.mpg" > "$MOVIE_FILE" + rm -f "$MPEG_TMP_PATH/movie_tmp.mpg" + fi else mplex -f 8 $MPLEX_OPTS -o "$MOVIE_FILE" "$VIDEO_FILE" $AUDIO_FILES fi