diff options
-rw-r--r-- | tools/TODO | 2 | ||||
-rwxr-xr-x | tools/audio_channels_diff | 6 | ||||
-rw-r--r-- | tools/audio_extract | 6 | ||||
-rwxr-xr-x | tools/convert2flac | 34 | ||||
-rwxr-xr-x | tools/convert2ipod | 36 | ||||
-rwxr-xr-x | tools/convert2mp3 | 2 | ||||
-rwxr-xr-x | tools/convert2mpeg | 29 | ||||
-rwxr-xr-x | tools/convert2speex | 34 | ||||
-rwxr-xr-x | tools/convert2theora | 11 | ||||
-rw-r--r-- | tools/convert2vorbis | 6 | ||||
-rwxr-xr-x | tools/convert2x264 | 30 | ||||
-rwxr-xr-x | tools/image_extract | 20 | ||||
-rw-r--r-- | tools/join_video | 5 | ||||
-rwxr-xr-x | tools/metadata | 64 | ||||
-rw-r--r-- | tools/process-video | 42 | ||||
-rwxr-xr-x | tools/upload2blip | 20 | ||||
-rwxr-xr-x | tools/upload2nerdhaven | 19 |
17 files changed, 315 insertions, 51 deletions
@@ -19,3 +19,5 @@ OK! må lage et script som sjekker antall channels, så putte det i spectrogram scriptet. +hdv: +- join video diff --git a/tools/audio_channels_diff b/tools/audio_channels_diff index 076bf74..ff3e8cd 100755 --- a/tools/audio_channels_diff +++ b/tools/audio_channels_diff @@ -20,11 +20,7 @@ fi echo " * Checking $1 for different audio channels:" -if [ ! -f "$NAME.$FORMAT" ]; then - echo " * File $NAME.$FORMAT does not exists:" - ./audio_extract $1 0 60 # øke til feks 2? -fi - +./audio_extract $1 0 60 # øke til feks 2? ./audio_split $NAME.$FORMAT ./audio_stats $NAME-left.wav &> $NAME-left.stat ./audio_stats $NAME-right.wav &> $NAME-right.stat diff --git a/tools/audio_extract b/tools/audio_extract index a37bcdf..9039ade 100644 --- a/tools/audio_extract +++ b/tools/audio_extract @@ -21,8 +21,8 @@ fi # FORMAT="wav" #fi -if [ ! -f $BASENAME.wav ]; then - echo " * File $BASENAME.wav does not exists:" +if [ ! -f $NAME.wav ]; then + echo " * File $NAME.wav does not exists:" echo -n " * Extracting audio ($FORMAT)..." if [ "$3" ]; then @@ -36,5 +36,5 @@ if [ ! -f $BASENAME.wav ]; then echo -e "OK!" else - echo " * File $BASENAME.wav already exists." + echo " * File $NAME.wav already exists." fi diff --git a/tools/convert2flac b/tools/convert2flac new file mode 100755 index 0000000..3600c2a --- /dev/null +++ b/tools/convert2flac @@ -0,0 +1,34 @@ +#!/bin/bash +# +# Date: 2010-01-15 +# Author: Ole Kristian Lien +# License: GNU General Public License +# +# Convert the sound from the video to mp3. + + +EXT=`echo "$1"|awk -F . '{print $NF}'` +BASENAME=`basename $1 .$EXT` + +BITRATE="64" + +if [ -z "$1" ]; then + echo "Usage: $0 <video-file> [<audio-quality>]" + exit 1 +fi + +./require speex || { exit 1; } +./audio_extract $1 + +echo -n " * Generating $BASENAME.spx ($BITRATE kbps)..." + +if [ "$2" ]; then + $BITRATE=$2 +fi + +speexenc $1 + -b $BITRATE -a "$BASENAME.wav" "$BASENAME.mp3" > \ +"$BASENAME.mp3-compresslog" 2>&1 + + +echo -e "OK!" diff --git a/tools/convert2ipod b/tools/convert2ipod new file mode 100755 index 0000000..f95463f --- /dev/null +++ b/tools/convert2ipod @@ -0,0 +1,36 @@ +#!/bin/bash +# +# Date: 2010-01-17 +# Author: Ole Kristian Lien +# License: GNU General Public License +# +# Convert the video to ipod video. + +EXT=`echo "$1"|awk -F . '{print $NF}'` +BASENAME=`basename $1 .$EXT` + +if [ -z "$1" ]; then + echo "Usage: $0 <video-file>" + exit 1 +fi + +./require ffmpeg || { exit 1; } + +# todo: pass på å behold 4:3/16:9 i x:y.. + +if [ ! -f "${BASENAME}_ipod.mov" ] ; then + echo -n " * Convertering video to iPod video..." +# ffmpeg -i "$1" -f mp4 -vcodec mpeg4 -maxrate 1000k -b 700k -qmin 3 -qmax 5 \ +# -bufsize 4096k -g 300 -acodec libfaac -ab 192k -s 320x240 -aspect 4:3 "${BASENAME}_ipod.mov" > "${BASENAME}_ipod.mov-compresslog" 2>&1 + +#ffmpeg -i $1 -f mp4 -b 1800 -maxrate 2500 \ +# -vcodec mpeg4 -qmin 3 -qmax 5 -s 320x240 \ +# -acodec aac -ab 128 \ + +ffmpeg -i $1 -f mp4 -vcodec mpeg4 -maxrate 1000k -b 700k -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec libfaac -ab 192k -s 320x240 -aspect 4:3 \ + "${BASENAME}_ipod.mov" > "${BASENAME}_ipod.mov-compresslog" 2>&1 + +else + echo "$BASENAME_ipod.mov allready exist!" + exit 1 +fi diff --git a/tools/convert2mp3 b/tools/convert2mp3 index 6ef59f1..d7996d8 100755 --- a/tools/convert2mp3 +++ b/tools/convert2mp3 @@ -20,7 +20,7 @@ fi ./require lame || { exit 1; } ./audio_extract $1 -echo -n " * Generating $BASENAME.mp3 ($BITRATE kbps)..." +echo -n " * Convertering audio to mp3 ($BITRATE kbps)..." if [ "$2" ]; then $BITRATE=$2 diff --git a/tools/convert2mpeg b/tools/convert2mpeg new file mode 100755 index 0000000..d6c5e56 --- /dev/null +++ b/tools/convert2mpeg @@ -0,0 +1,29 @@ +#!/bin/bash +# +# Date: 2010-01-17 +# Author: Ole Kristian Lien +# License: GNU General Public License +# +# Convert the video to MPEG. + +EXT=`echo "$1"|awk -F . '{print $NF}'` +BASENAME=`basename $1 .$EXT` + +if [ -z "$1" ]; then + echo "Usage: $0 <video-file>" + exit 1 +fi + +./require ffmpeg || { exit 1; } + +# todo: pass på å behold 4:3/16:9 i x:y.. + +if [ ! -f "$BASENAME.mpeg" ] ; then + echo -n " * Convertering video to MPEG..." + ffmpeg -i "$1" -vcodec mpeg1video -s 384x288 -b 240000 -g 96 \ + -ab 64000 -ac 1 -ar 32000 "$BASENAME.mpeg" > "$BASENAME.mpeg-compresslog" 2>&1 + echo -e "OK!" +else + echo "$BASENAME.mpeg allready exist!" + exit 1 +fi diff --git a/tools/convert2speex b/tools/convert2speex new file mode 100755 index 0000000..3600c2a --- /dev/null +++ b/tools/convert2speex @@ -0,0 +1,34 @@ +#!/bin/bash +# +# Date: 2010-01-15 +# Author: Ole Kristian Lien +# License: GNU General Public License +# +# Convert the sound from the video to mp3. + + +EXT=`echo "$1"|awk -F . '{print $NF}'` +BASENAME=`basename $1 .$EXT` + +BITRATE="64" + +if [ -z "$1" ]; then + echo "Usage: $0 <video-file> [<audio-quality>]" + exit 1 +fi + +./require speex || { exit 1; } +./audio_extract $1 + +echo -n " * Generating $BASENAME.spx ($BITRATE kbps)..." + +if [ "$2" ]; then + $BITRATE=$2 +fi + +speexenc $1 + -b $BITRATE -a "$BASENAME.wav" "$BASENAME.mp3" > \ +"$BASENAME.mp3-compresslog" 2>&1 + + +echo -e "OK!" diff --git a/tools/convert2theora b/tools/convert2theora index 2d32420..708b80f 100755 --- a/tools/convert2theora +++ b/tools/convert2theora @@ -25,11 +25,14 @@ fi # todo: pass på å behold 4:3/16:9 i x:y.. if [ ! -f "$BASENAME.ogv" ] ; then - echo -n " * Convertering video to Ogg Theora (video quality: $VIDEOQUALITY - audio quality: $AUDIOQUALITY)..." - ffmpeg2theora $1 -o $BASENAME.ogv \ - --videoquality $VIDEOQUALITY --audioquality $AUDIOQUALITY \ - > "$BASENAME.ogv-compresslog" 2>&1 +# echo -n " * Convertering video to Ogg Theora (video quality: $VIDEOQUALITY - audio quality: $AUDIOQUALITY)..." +# ffmpeg2theora $1 -o $BASENAME.ogv \ +# --videoquality $VIDEOQUALITY --audioquality $AUDIOQUALITY \ +# > "$BASENAME.ogv-compresslog" 2>&1 # --width 384 --height 288 + + echo -n " * Convertering video to Ogg Theora..." + ffmpeg2theora --width 384 --height 288 -o "$BASENAME.ogv" "$1" > "$BASENAME.ogv-compresslog" 2>&1 echo -e "OK!" else echo "$BASENAME.ogv allready exist!" diff --git a/tools/convert2vorbis b/tools/convert2vorbis index 61621c5..a7074c9 100644 --- a/tools/convert2vorbis +++ b/tools/convert2vorbis @@ -20,7 +20,7 @@ fi ./require oggenc || { exit 1; } # vorbis-tools ./audio_extract $1 -echo -n " * Generating $BASENAME.ogg ($BITRATE kbps)..." +echo -n " * Converting audio to Ogg Vorbis ($BITRATE kbps)..." # --downmix #Downmix stereo to mono. Only allowed on stereo input. @@ -30,7 +30,7 @@ if [ "$2" ]; then $BITRATE=$2 fi -oggenc "$BASENAME.wav" --downmix -b $BITRATE \ - 2>&1 +oggenc "$BASENAME.wav" --downmix -b $BITRATE > "$BASENAME.ogg-compresslog" 2>&1 +# 2>&1 echo -e "OK!" diff --git a/tools/convert2x264 b/tools/convert2x264 new file mode 100755 index 0000000..7ced152 --- /dev/null +++ b/tools/convert2x264 @@ -0,0 +1,30 @@ +#!/bin/bash +# +# Date: 2010-01-17 +# Author: Ole Kristian Lien +# License: GNU General Public License +# +# Convert the video to x264. + +EXT=`echo "$1"|awk -F . '{print $NF}'` +BASENAME=`basename $1 .$EXT` + +if [ -z "$1" ]; then + echo "Usage: $0 <video-file>" + exit 1 +fi + +./require mencoder || { exit 1; } + +# todo: pass på å behold 4:3/16:9 i x:y.. + +if [ ! -f "${BASENAME}_x264.avi" ] ; then + echo -n " * Convertering video to x264..." + mencoder -ovc x264 -x264encopts \ + subq=6:8x8dct:frameref=5:bframes=3:b_pyramid:weight_b:pass=1:bitrate=512 \ + -lameopts br=64 -oac mp3lame -o "${BASENAME}_x264.avi" "$1" > "${BASENAME}_x264.avi-compresslog" 2>&1 + echo -e "OK!" +else + echo "$BASENAME_x264.avi allready exist!" + exit 1 +fi diff --git a/tools/image_extract b/tools/image_extract index c1bf633..bdf984d 100755 --- a/tools/image_extract +++ b/tools/image_extract @@ -8,7 +8,11 @@ EXT=`echo "$1"|awk -F . '{print $NF}'` BASENAME=`basename $1 .$EXT` + DURATION=`./duration $1` +RESOLUTION=`./video_resolution $1` +THUMB="320x240" + OLD_IFS="$IFS" IFS=":" TIME=( $DURATION ) @@ -21,12 +25,14 @@ if [ -z "$1" ]; then exit 1 fi -if [ -f $BASENAME.jpg ] ; then - echo " * Image thumbnail already exist." - exit 1 -fi +./require ffmpeg || { exit 1; } +./require convert || { exit 1; } #imagemagick + +echo -n " * Extracting image ($RESOLUTION) from video (frame $SECOND s)..." +ffmpeg -itsoffset -$SECOND -i $1 -vcodec mjpeg -vframes 1 -an -f rawvideo -s $RESOLUTION $BASENAME.jpeg \ +> "$BASENAME.jpeg-compresslog" 2>&1 +echo -e "OK!" -echo -n " * Extracting image thumbnail from video (frame $SECOND s)..." -ffmpeg -itsoffset -$SECOND -i $1 -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 $BASENAME.jpg \ -> "$BASENAME.jpg-compresslog" 2>&1 +echo -n " * Resizing image to thumbnail ($THUMB)..." +convert -resize $THUMB $BASENAME.jpeg $BASENAME-thumb.jpeg echo -e "OK!" diff --git a/tools/join_video b/tools/join_video index 0d2ebe1..ff752fa 100644 --- a/tools/join_video +++ b/tools/join_video @@ -28,10 +28,11 @@ if [ $EXT == "dv" ] ; then echo -n " * Joining video-files using cat..." cat ${array[*]} > $1 else +# elsif ext hdv video - m2t echo -n " * Joining video-files using mencoder..." - mencoder -oac copy -ovc copy -idx -o $1 ${array[*]} > "$BASENAME.log" 2>&1 + mencoder -oac copy -ovc copy -idx -o $1 ${array[*]} > "$NAME.log" 2>&1 + #rm $NAME.log fi -rm $BASENAME.log echo -e "OK!" # mencoder må hyssje! diff --git a/tools/metadata b/tools/metadata index 4477e50..6f43e01 100755 --- a/tools/metadata +++ b/tools/metadata @@ -29,28 +29,39 @@ if [ -z "$1" ]; then exit 1 fi -./require oggz-comment #oggz-tools +./require oggz-comment || { exit 1; } #oggz-tools +./require id3tool || { exit 1; } #./require vorbiscomment #vorbis-tools -if [ $EXT == "ogg" ] || [ $EXT == "ogv" ]; then +if [ $EXT == "ogg" ] || [ $EXT == "ogv" ] || [ $EXT == "spx" ] || [ $EXT == "flac" ]; then if [ "$2" ]; then mv $1 $BASENAME-old.$EXT -if [ $LICENSE == "cc-by-sa-3.0-no" ]; then - LICENSE="http://creativecommons.org/licenses/by-sa/3.0/no/" -fi + if [ $LICENSE == "cc-by-sa-3.0-no" ]; then + LICENSE="http://creativecommons.org/licenses/by-sa/3.0/no/" + fi -if [ $LANGUAGE == "no" ]; then - LANGUAGE="Norsk" -fi + if [ $LANGUAGE == "no" ]; then + LANGUAGE="Norsk" + fi -if [ $LANGUAGE == "en" ]; then - LANGUAGE="Engelsk" -fi + if [ $LANGUAGE == "en" ]; then + LANGUAGE="Engelsk" + fi + + if [ $EXT == "ogg" ]; then + CONTENT="vorbis" + elif [ $EXT == "ogv" ]; then + CONTENT="theora" + elif [ $EXT == "spx" ]; then + CONTENT="speex" + elif [ $EXT == "flac" ]; then + CONTENT="flac" + fi - echo -n " * Writing Ogg metadata..." - oggz-comment $BASENAME-old.$EXT -o $1 --content-type theora\ + echo -n " * Writing Ogg ($CONTENT) metadata..." + oggz-comment $BASENAME-old.$EXT -o $1 --content-type $CONTENT \ TITLE="$TITLE" \ ALBUM="$WHAT" \ ARTIST="$NAME" \ @@ -71,6 +82,33 @@ fi else oggz-comment -l $1 fi + + +elif [ $EXT == "mp3" ]; then + if [ "$2" ]; then + YEAR=`echo $DATE| cut -c1-4` + +# notes feltet er for kort.. +# if [ $LICENSE == "cc-by-sa-3.0-no" ]; then +# LICENSE="http://creativecommons.org/licenses/by-sa/3.0/no/" +# fi + + echo -n " * Writing mp3 (ID3) metadata..." + cp $1 $BASENAME-old.$EXT + + id3tool $1 \ + --set-title="$TITLE" \ + --set-album="$WHAT" \ + --set-artist="$NAME" \ + --set-year="$YEAR" \ + --set-note="$LICENSE" \ + --set-genre-word="Speech" + + echo -e "OK!" + else + id3tool $1 + fi + else echo "File format is not supported yet." fi diff --git a/tools/process-video b/tools/process-video index 0e6a8f2..cdee461 100644 --- a/tools/process-video +++ b/tools/process-video @@ -42,13 +42,9 @@ VOLUME=`cat $NAME.wav.vol` ./merge_av $NAME.wav $1 echo -n " * Cleaning up temp. audio-files..." -rm $NAME.wav $NAME-old.wav $NAME.wav.vol $NAME.noise-profile +rm $NAME.wav $NAME-old.wav $NAME.wav.vol # $NAME.noise-profile echo -e "OK!" -#### Denn maa inn igjen #### -#rm $NAME-old.dv -#### - ## mv fade video/image_fade ## ./audio_fade @@ -58,15 +54,35 @@ mv $1 $NAME-temp.$EXT ./join_video $NAME.$EXT $NAME-intro.$EXT $NAME-temp.$EXT $NAME-outro.$EXT rm $NAME-intro.$EXT $NAME-outro.$EXT $NAME-temp.dv -##echo "Backing up $1 to $NAME-old.$EXT..." -##mv $1 $NAME-old.$EXT -##mv $NAME-new.$EXT $1 - -#./convert2theora $1 +/convert2theora $1 #rm $NAME.ogv-compresslog -#./metadata $NAME.ogv $2 +./metadata $NAME.ogv $2 + +./convert2vorbis $NAME-old.$EXT +mv $NAME-old.ogg $NAME.ogg +./metadata $NAME.ogg $2 + +./convert2mp3 $NAME-old.$EXT +mv $NAME-old.mp3 $NAME.mp3 +./metadata $NAME.mp3 $2 + +./convert2mpeg $1 +#./convert2ipod $1 # ubuntu har deaktivert ffmpeg sin libfaac støtte. +./convert2x264 $1 + +./image_extract $1 + +echo -n " * Cleaing up temp. files..." +rm $NAME-old.ogv $NAME-old.wav $NAME-old.ogg $NAME-old.mp3 +rm $NAME*-compresslog +echo -e "OK!" + -##./convert2vorbis $1 -##./metadata $NAME.ogg $2 +./upload2nerdhaven $NAME-thumb.jpeg +./upload2nerdhaven $NAME.jpeg +./upload2nerdhaven $NAME.mp3 +./upload2nerdhaven $NAME.ogg +./upload2nerdhaven $NAME.mpeg +./upload2nerdhaven $NAME.ogv #scp $1 oklien@nerdhaven.nuug.no:/data/video/raw/ diff --git a/tools/upload2blip b/tools/upload2blip new file mode 100755 index 0000000..9a15c77 --- /dev/null +++ b/tools/upload2blip @@ -0,0 +1,20 @@ +#!/bin/bash +# todo: maks 1gb og riktige formater! +# bruk REST-api i steden for ftp! + +EXT=`echo "$1"|awk -F . '{print $NF}'` +BASENAME=`basename $1 .$EXT` + +USERNAME=`grep username blip|awk '{print $3}'` +PASSWORD=`grep password blip|awk '{print $3}'` + +if [ -z "$1" ]; then + echo "Usage: $0 <filename>" + exit 1 +fi + +./require curl || { exit 1; } + +echo -n " * Uploading $1 to blip.tv..." +curl -T $1 --silent --user $USERNAME:$PASSWORD ftp://ftp.blip.tv/ +echo -e "OK!" diff --git a/tools/upload2nerdhaven b/tools/upload2nerdhaven new file mode 100755 index 0000000..69ee446 --- /dev/null +++ b/tools/upload2nerdhaven @@ -0,0 +1,19 @@ +#!/bin/bash + +EXT=`echo "$1"|awk -F . '{print $NF}'` +BASENAME=`basename $1 .$EXT` + +if [ -z "$1" ]; then + echo "Usage: $0 <filename> [<new-filename>]" + exit 1 +fi + +echo -n " * Uploading $1 to nerdhaven..." + +if [ $EXT == "dv" ]; then + scp -q $1 nerdhaven.nuug.no:/data/video/raw/$2 +else + scp -q $1 nerdhaven.nuug.no:/data/video/published/$2 +fi + +echo -e "OK!" |