summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/TODO2
-rwxr-xr-xtools/audio_channels_diff6
-rw-r--r--tools/audio_extract6
-rwxr-xr-xtools/convert2flac34
-rwxr-xr-xtools/convert2ipod36
-rwxr-xr-xtools/convert2mp32
-rwxr-xr-xtools/convert2mpeg29
-rwxr-xr-xtools/convert2speex34
-rwxr-xr-xtools/convert2theora11
-rw-r--r--tools/convert2vorbis6
-rwxr-xr-xtools/convert2x26430
-rwxr-xr-xtools/image_extract20
-rw-r--r--tools/join_video5
-rwxr-xr-xtools/metadata64
-rw-r--r--tools/process-video42
-rwxr-xr-xtools/upload2blip20
-rwxr-xr-xtools/upload2nerdhaven19
17 files changed, 315 insertions, 51 deletions
diff --git a/tools/TODO b/tools/TODO
index 3641b46..11e731b 100644
--- a/tools/TODO
+++ b/tools/TODO
@@ -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!"