[cvs-annodex] commit (/annodex): scripts/trunk/m2anx
conrad
nobody at lists.annodex.net
Fri Sep 10 18:07:19 EST 2004
Update of /annodex (new revision 558)
Modified files:
scripts/trunk/m2anx
Log Message:
add -f option to change framerate (pre-encodes via yet another fifo ...)
Modified: scripts/trunk/m2anx
===================================================================
--- scripts/trunk/m2anx 2004-09-09 04:28:42 UTC (rev 557)
+++ scripts/trunk/m2anx 2004-09-10 08:07:18 UTC (rev 558)
@@ -47,6 +47,7 @@
afopts=""
VOPTS=""
vfopts=""
+fps=""
version () {
echo >&2 "$THIS version "1
@@ -72,6 +73,7 @@
echo >&2 " -V, --video-codec codec Specify video codec (null, theora)"
echo >&2 " (default: $video_codec)"
echo >&2 " -d, --decimate Drop frames that don't differ greatly from the"
+ echo >&2 " -f, --fps framerate Re-encode to new framerate"
echo >&2 " previous frame"
echo >&2 " -x, --xy Scale video width"
echo >&2
@@ -152,6 +154,12 @@
fi
}
+if_fps () {
+ if test "x$fps" != "x" ; then
+ eval $*
+ fi
+}
+
append_afopt () {
if test "x$afopts" = "x" ; then
afopts=$1
@@ -190,11 +198,11 @@
############################################################
GETOPTEST=`getopt --version`
-SHORTOPTS="no:hvA:r:c:V:dx:C:S"
+SHORTOPTS="no:hvA:r:c:V:df:x:C:S"
case $GETOPTEST in
getopt*) # GNU getopt
- TEMP=`getopt -l dry-run -l output:: -l verbose -l version -l help -l audio-codec:: -l resample:: -l channels:: -l video-codec:: -l decimate -l xy:: -l cmml:: -l skip-annodexing -- +$SHORTOPTS $@`
+ TEMP=`getopt -l dry-run -l output:: -l verbose -l version -l help -l audio-codec:: -l resample:: -l channels:: -l video-codec:: -l decimate -l fps:: -l xy:: -l cmml:: -l skip-annodexing -- +$SHORTOPTS $@`
;;
*) # POSIX getopt ?
TEMP=`getopt $SHORTOPTS $@`
@@ -240,6 +248,10 @@
-d|--decimate)
append_vfopt decimate
;;
+ -f|--fps)
+ shift
+ fps=$1
+ ;;
-x|--xy)
shift
#VOPTS="$VOPTS -zoom -vf scale -xy $1"
@@ -282,6 +294,7 @@
fi
WORKDIR="${TMPDIR-/tmp}/$BASE.$$"
+REENC="$WORKDIR/$BASE-$fps.avi"
AUDIO="$WORKDIR/audiodump.wav"
VIDEO="$WORKDIR/stream.yuv"
@@ -329,6 +342,7 @@
try_run "Creating temporary working directory" mkdir $WORKDIR
if_audio "try_run \"Making audio fifo\" mkfifo $AUDIO"
+if_fps "try_run \"Making FPS re-encoding fifo\" mkfifo $REENC"
if_video "try_run \"Making video fifo\" mkfifo $VIDEO"
############################################################
@@ -337,8 +351,16 @@
# Video
if test "x$video_codec" != "xnull" ; then
+ VIDEO_INPUT=$INPUT
+
+ if test "x$fps" != "x" ; then
+ VIDEO_INPUT=$REENC
+ try_run "Re-encoding to $fps fps" \
+ "mencoder -oac copy -ovc lavc -ofps $fps -o $REENC $INPUT" &
+ fi
+
try_run "Decoding video" \
- "(cd $WORKDIR && mplayer -ao null $VOPTS -vo yuv4mpeg $INPUT)" &
+ "(cd $WORKDIR && mplayer -ao null $VOPTS -vo yuv4mpeg $VIDEO_INPUT)" &
fi
# Audio
--
conrad
More information about the cvs-annodex
mailing list