#!/bin/bash # +--------------------------------------------+ # | SupeSite/X-Space video convert script | # | FlyDragon( ipv6china AT comsenz dot com ) | # +--------------------------------------------+ export PATH=$PATH:/usr/local/bin # Please Set Your SupeSite Path Following: SITEROOT="/data/www/wwwroot/blog.ddzw.net" LOG_FILE="$SITEROOT/video/conver.log" ps -elf|grep mencoder|grep -v grep && exit ps -elf|grep convert|grep -v grep && exit # # check store dir # check_dir(){ local STOR_DIR=$1 [ ! -d $SITEROOT/video/$STOR_DIR ] && mkdir -p $SITEROOT/video/$STOR_DIR && chmod -R 777 $SITEROOT/video/$STOR_DIR } # # log convert result # write_log(){ local FULL_NAME=$1 case $? in 0) echo "[`date`] :$FULL_NAME convert successful !">>$LOG_FILE ;; *) echo "[`date`] :$FULL_NAME convert failed !">>$LOG_FILE ;; esac } # # ================ main ========================= # for FULL_NAME in $SITEROOT/video/temp/* do FILE_EXT_NAME=`basename $FULL_NAME` FILE_EXT=`echo $FILE_EXT_NAME|cut -d. -f2` FILE_NAME=`echo $FILE_EXT_NAME|cut -d. -f1` STOR_DIR=`echo $FILE_NAME|cut -d_ -f2|cut -c-6` echo [filename.ext is :] $FILE_EXT_NAME echo [ext is:] $FILE_EXT echo [file name is:] $FILE_NAME echo sleep 1 case $FILE_EXT in mpg|3gp|mov|mpeg|vod|mp4|m4v|avi|mpe) echo ===================== use ffmpeg convert [$FULL_NAME] ============================= check_dir $STOR_DIR ffmpeg -i $FULL_NAME -y -ab 56 -ar 11025 -ac 2 -qscale 9 -t 900 -r 15 -s 320*240 \ $SITEROOT/video/$STOR_DIR/${FILE_NAME}.flv write_log "$FULL_NAME" [ -f $SITEROOT/video/$STOR_DIR/${FILE_NAME}.flv ] && chmod 666 $SITEROOT/video/$STOR_DIR/${FILE_NAME}.flv ffmpeg -i $SITEROOT/video/$STOR_DIR/${FILE_NAME}.flv -y -f image2 -ss 8 -sameq -t 0.001 -s 320*240 \ $SITEROOT/video/$STOR_DIR/${FILE_NAME}.jpg [ $? eq 0 ] && [ -f $SITEROOT/video/$STOR_DIR/${FILE_NAME}.jpg ] && chmod 666 $SITEROOT/video/$STOR_DIR/${FILE_NAME}.jpg rm -f $FULL_NAME ;; wmv|asf|rm|rmvb) echo ===================== use mencoder convert [$FULL_NAME] ============================= check_dir $STOR_DIR #mencoder $FULL_NAME -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -vf scale=512:-3 -ofps 12 -srate 22050 -o $SITEROOT/video/$STOR_DIR/${FILE_NAME}.flv mencoder $FULL_NAME -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -vf scale=512:-3 -ofps 12 -srate 22050 -o $SITEROOT/video/$STOR_DIR/${FILE_NAME}.flv write_log "$FULL_NAME" [ -f $SITEROOT/video/$STOR_DIR/${FILE_NAME}.flv ] && chmod 666 $SITEROOT/video/$STOR_DIR/${FILE_NAME}.flv ffmpeg -i $SITEROOT/video/$STOR_DIR/${FILE_NAME}.flv -y -f image2 -ss 8 -sameq -t 0.001 -s 320*240 \ $SITEROOT/video/$STOR_DIR/${FILE_NAME}.jpg [ -f $SITEROOT/video/$STOR_DIR/${FILE_NAME}.jpg ] && chmod 666 $SITEROOT/video/$STOR_DIR/${FILE_NAME}.jpg rm -f $FULL_NAME ;; *) echo "$FULL_NAME unsupport video format or not a video file!!!!" ;; esac done