summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/audio_channels_diff34
-rw-r--r--tools/audio_check_noise9
-rw-r--r--tools/audio_check_volume9
-rw-r--r--tools/audio_extract10
-rw-r--r--tools/audio_format8
-rw-r--r--tools/audio_gain_volume9
-rw-r--r--tools/audio_remove_noise9
-rwxr-xr-xtools/audio_split8
-rwxr-xr-xtools/audio_stats3
-rw-r--r--tools/check_diskspace4
-rwxr-xr-xtools/convert2theora39
-rw-r--r--tools/convert2vorbis38
-rwxr-xr-xtools/intro2
-rw-r--r--tools/join_video9
-rwxr-xr-xtools/metadata58
-rwxr-xr-xtools/outro7
-rw-r--r--tools/process-video50
-rwxr-xr-xtools/theora-test12
-rw-r--r--tools/theora.csv19
19 files changed, 238 insertions, 99 deletions
diff --git a/tools/audio_channels_diff b/tools/audio_channels_diff
index 804687b..aba08cc 100755
--- a/tools/audio_channels_diff
+++ b/tools/audio_channels_diff
@@ -1,38 +1,46 @@
#!/bin/bash
#
-# Date: 2009-12-10
+# Date: 2009-12-16
# Author: Ole Kristian Lien
# License: GNU General Public License
#
# Check if the left and right channel is equal.
+# if not equal, exit code 3..
# ext-format må fikses!! hmm
EXT=`echo "$1"|awk -F . '{print $NF}'`
NAME=`basename $1 .$EXT`
-#FORMAT=`./audio_format $1`
+FORMAT=`./audio_format $1`
if [ -z "$1" ]; then
echo "Usage: $0 <video-file>"
exit 1
fi
-if [ ! -f $BASENAME.wav ]; then
- echo "File $BASENAME.wav does not exists"
- ./audio_extract $1 0 60
+echo "Checking $1 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_split $NAME.wav
-./audio_stats $NAME-left.wav &> $NAME-left.wav.stat
-./audio_stats $NAME-right.wav &> $NAME-right.wav.stat
+./audio_split $NAME.$FORMAT
+./audio_stats $NAME-left.wav &> $NAME-left.stat
+./audio_stats $NAME-right.wav &> $NAME-right.stat
-LEFT=`md5sum $NAME-left.wav.stat | awk '{print $1}'`
-RIGHT=`md5sum $NAME-right.wav.stat | awk '{print $1}'`
+# find a better method to compare audio!
+LEFT=`grep Mean $NAME-left.stat | md5sum`
+RIGHT=`grep Mean $NAME-right.stat | md5sum`
if [ "$LEFT" == "$RIGHT" ]; then
- echo "eq"
+ echo "Audio channels is equal."
+ rm $NAME.$FORMAT $NAME-left* $NAME-right*
+ exit
else
- echo "nq"
+ echo "Audio channels is not equal."
+ rm $NAME.$FORMAT $NAME-left* $NAME-right*
+ exit 3
fi
-rm $NAME.wav $NAME-left* $NAME-right*
+
diff --git a/tools/audio_check_noise b/tools/audio_check_noise
new file mode 100644
index 0000000..f914834
--- /dev/null
+++ b/tools/audio_check_noise
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+EXT=`echo "$1"|awk -F . '{print $NF}'`
+NAME=`basename $1 .$EXT`
+
+if [ -z "$2" ]; then
+ echo "Usage: $0 <video-file> <csv-file>"
+ exit 1
+fi
diff --git a/tools/audio_check_volume b/tools/audio_check_volume
new file mode 100644
index 0000000..f914834
--- /dev/null
+++ b/tools/audio_check_volume
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+EXT=`echo "$1"|awk -F . '{print $NF}'`
+NAME=`basename $1 .$EXT`
+
+if [ -z "$2" ]; then
+ echo "Usage: $0 <video-file> <csv-file>"
+ exit 1
+fi
diff --git a/tools/audio_extract b/tools/audio_extract
index bd0afa8..ee3c96f 100644
--- a/tools/audio_extract
+++ b/tools/audio_extract
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Date: 2009-11-30
+# Date: 2009-12-16
# Author: Ole Kristian Lien
# License: GNU General Public License
#
@@ -15,9 +15,11 @@ if [ -z "$1" ]; then
exit 1
fi
-if [ "$FORMAT" == "pcm_s16le" ]; then
- FORMAT="wav"
-fi
+#if [ "$FORMAT" == "pcm_s16le" ]; then
+# FORMAT="wav"
+#fi
+
+echo "Extracting $NAME.$FORMAT..."
if [ "$3" ]; then
#DURATION="30" #`./duration$1`
diff --git a/tools/audio_format b/tools/audio_format
index 37760d2..96523cb 100644
--- a/tools/audio_format
+++ b/tools/audio_format
@@ -13,9 +13,9 @@ if [ -z "$1" ]; then
exit 1
fi
-#if [ "$FORMAT" == "pcm_s16le" ]; then
-# echo "wav"
-#else
+if [ "$FORMAT" == "pcm_s16le" ]; then
+ echo "wav"
+else
echo $FORMAT
-#fi
+fi
diff --git a/tools/audio_gain_volume b/tools/audio_gain_volume
new file mode 100644
index 0000000..f914834
--- /dev/null
+++ b/tools/audio_gain_volume
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+EXT=`echo "$1"|awk -F . '{print $NF}'`
+NAME=`basename $1 .$EXT`
+
+if [ -z "$2" ]; then
+ echo "Usage: $0 <video-file> <csv-file>"
+ exit 1
+fi
diff --git a/tools/audio_remove_noise b/tools/audio_remove_noise
new file mode 100644
index 0000000..f914834
--- /dev/null
+++ b/tools/audio_remove_noise
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+EXT=`echo "$1"|awk -F . '{print $NF}'`
+NAME=`basename $1 .$EXT`
+
+if [ -z "$2" ]; then
+ echo "Usage: $0 <video-file> <csv-file>"
+ exit 1
+fi
diff --git a/tools/audio_split b/tools/audio_split
index a5e5525..48d3065 100755
--- a/tools/audio_split
+++ b/tools/audio_split
@@ -14,5 +14,9 @@ if [ -z "$1" ]; then
exit 1
fi
-sox $1 -c 1 $NAME-left.$EXT mixer -l 2> /dev/null
-sox $1 -c 1 $NAME-right.$EXT mixer -r 2> /dev/null
+# sox FAIL formats: can't open output file `1-left.mp2': SoX was compiled without MP3 encoding support
+# kan ikke encode til mp{2,3}...
+
+echo "Splitting up audio to a left- and right-file..."
+sox $1 -c 1 $NAME-left.wav mixer -l 2> /dev/null
+sox $1 -c 1 $NAME-right.wav mixer -r 2> /dev/null
diff --git a/tools/audio_stats b/tools/audio_stats
index be677aa..4560004 100755
--- a/tools/audio_stats
+++ b/tools/audio_stats
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Date: 2009-12-10
+# Date: 2009-12-16
# Author: Ole Kristian Lien
# License: GNU General Public License
#
@@ -11,4 +11,5 @@ if [ -z "$1" ]; then
exit 1
fi
+echo "Generating audio statistics for $1..."
sox $1 -n stat
diff --git a/tools/check_diskspace b/tools/check_diskspace
index 7b7031c..d30f5e5 100644
--- a/tools/check_diskspace
+++ b/tools/check_diskspace
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Date: 2009-12-04
+# Date: 2009-12-16
# Author: Ole Kristian Lien
# License: GNU General Public License
#
@@ -14,6 +14,8 @@ if [ -z "$1" ]; then
exit 1
fi
+echo "Checking for enough disk space to continue..."
+
if [ $DISK -le $FILE ]; then
echo "Error: Not enough disk space to continue! Aborting."
exit 1
diff --git a/tools/convert2theora b/tools/convert2theora
index 93f464f..98b049a 100755
--- a/tools/convert2theora
+++ b/tools/convert2theora
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Date: 2009-12-10
+# Date: 2009-12-16
# Author: Ole Kristian Lien
# License: GNU General Public License
#
@@ -9,42 +9,27 @@
EXT=`echo "$1"|awk -F . '{print $NF}'`
BASENAME=`basename $1 .$EXT`
-WHAT=`./csv $2 $1 what`
-DATE=`./csv $2 $1 date`
-LOCATION=`./csv $2 $1 location`
-TITLE=`./csv $2 $1 title`
-NAME=`./csv $2 $1 name`
-LICENSE=`./csv $2 $1 license`
-ORGANIZATION=`./csv $2 $1 organization`
-CONTACT=`./csv $2 $1 contact`
+VIDEOQUALITY=8
+AUDIOQUALITY=4
if [ -z "$1" ]; then
- echo "Usage: $0 <video-file> [<csv-file>]"
+ echo "Usage: $0 <video-file> [<video-quality> <audio-quality>]"
exit 1
fi
+if [ "$3" ]; then
+ $VIDEOQUALITY=$2
+ $AUDIOQUALITY=$3
+fi
+
# todo: pass på å behold 4:3/16:9 i x:y..
if [ ! -f "$BASENAME.ogv" ] ; then
- echo "Generating $BASENAME.ogv"
-
- if [ $2 ]; then
- ffmpeg2theora $1 -o $BASENAME.ogv \
- --width 384 --height 288 \
- --artist "$NAME" \
- --title "$TITLE" \
- --date "$DATE" \
- --location "$LOCATION" \
- --organization "$ORGANIZATION" \
- --copyright "$COPYRIGHT" \
- --license "$LICENSE" \
- --contact "$CONTACT" \
+ echo "Generating $BASENAME.ogv..."
+ ffmpeg2theora $1 -o $BASENAME.ogv \
+ --videoquality $VIDEOQUALITY --audioquality $AUDIOQUALITY \
> "$BASENAME.ogv-compresslog" 2>&1
- else
- ffmpeg2theora $1 -o $BASENAME.ogv \
# --width 384 --height 288
- > "$BASENAME.ogv-compresslog" 2>&1
- fi
else
echo "$BASENAME.ogv allready exist!"
exit 1
diff --git a/tools/convert2vorbis b/tools/convert2vorbis
index b3e3809..2a7b2d2 100644
--- a/tools/convert2vorbis
+++ b/tools/convert2vorbis
@@ -1,58 +1,38 @@
#!/bin/bash
#
-# Date: 2009-12-10
+# Date: 2009-12-16
# Author: Ole Kristian Lien
# License: GNU General Public License
#
# Convert the sound from the video to Ogg Vorbis.
-#./require oggenc vorbis-tools
-
-# todo: add tag license and copyright metadata (-c tag=value), more tags?
-# * language, publisher, copyright
-# legg til require
EXT=`echo "$1"|awk -F . '{print $NF}'`
BASENAME=`basename $1 .$EXT`
BITRATE="64"
-DATE=`./csv $2 $1 date`
-TITLE=`./csv $2 $1 title`
-WHAT=`./csv $2 $1 what`
-NAME=`./csv $2 $1 name`
-GENRE=`./csv $2 $1 genre`
-LOCATION=`./csv $2 $1 location`
-LICENSE=`./csv $2 $1 license`
-
if [ -z "$1" ]; then
- echo "Usage: $0 <video-file> [<csv-file>]"
+ echo "Usage: $0 <video-file> [<audio-quality>]"
exit 1
fi
+./require oggenc # vorbis-tools
+
if [ ! -f $BASENAME.wav ]; then
echo "File $BASENAME.wav does not exists"
./audio_extract $1
fi
-echo "Generating $BASENAME.ogg ($BITRATE kbps)"
+echo "Generating $BASENAME.ogg ($BITRATE kbps)..."
# --downmix
#Downmix stereo to mono. Only allowed on stereo input.
# sjekke om det er stero først? hvis ja, legg på downmix..
if [ "$2" ]; then
-echo "test"
- oggenc "$BASENAME.wav" --downmix -b $BITRATE \
- --date "$DATE" \
- --title "$TITLE" \
- --album "$WHAT" \
- --artist "$NAME" \
- --genre "$GENRE" \
- 2>&1
-# > "$BASENAME.ogg-compresslog" 2>&1
-else
- oggenc "$BASENAME.wav" --downmix -b $BITRATE \
- 2>&1
- #> "$BASENAME.ogg-compresslog" 2>&1
+ $BITRATE=$2
fi
+
+oggenc "$BASENAME.wav" --downmix -b $BITRATE \
+ 2>&1
diff --git a/tools/intro b/tools/intro
index 52e6572..e7c969c 100755
--- a/tools/intro
+++ b/tools/intro
@@ -23,6 +23,8 @@ if [ -z "$2" ]; then
exit 1
fi
+echo "Generating intro-video from $2 for $1..."
+
# LOGO
./image_logo $1 intro-$COUNT white $LOGO
./fade $BASENAME-intro-$COUNT.png 3 white
diff --git a/tools/join_video b/tools/join_video
index b50ae07..6663148 100644
--- a/tools/join_video
+++ b/tools/join_video
@@ -1,11 +1,14 @@
#!/bin/bash
#
-# Date: 2009-11-30
+# Date: 2009-12-16
# Author: Ole Kristian Lien
# License: GNU General Public License
#
# Joins together two or more video-files
+EXT=`echo "$1"|awk -F . '{print $NF}'`
+NAME=`basename $1 .$EXT`
+
if [ -z "$3" ]; then
echo "Usage: $0 <new-file> <video-file> <video-file> [...]"
exit 1
@@ -21,8 +24,10 @@ done
unset array[0]
# todo: Concatenating works with MPEG-1, MPEG-2 PS and DV
-if [ ! -f "$basename.dv" ] ; then
+if [ $EXT == "dv" ] ; then
+echo "Joining video-files using cat..."
cat ${array[*]} > $1
else
+echo "Joining video-files using mencoder.."
mencoder -oac copy -ovc copy -idx -o ${array[*]}
fi
diff --git a/tools/metadata b/tools/metadata
new file mode 100755
index 0000000..1d7b30d
--- /dev/null
+++ b/tools/metadata
@@ -0,0 +1,58 @@
+#!/bin/bash
+#
+# Date: 2009-12-10
+# Author: Ole Kristian Lien
+# License: GNU General Public License
+#
+# Adds metadata to video/audio
+
+# todo: fiks csv ext.. kan ikke være hardkodet..
+# video og lyd, blir dobbelt av comments.. ikke bra - hvis funker, split opp if-ene!!!
+# mangler i vlc: Language, Publisher
+# utf8- øæå funker dårlig
+
+EXT=`echo "$1"|awk -F . '{print $NF}'`
+BASENAME=`basename $1 .$EXT`
+
+WHAT=`./csv $2 $BASENAME.dv what`
+DATE=`./csv $2 $BASENAME.dv date`
+LOCATION=`./csv $2 $BASENAME.dv location`
+GENRE=`./csv $2 $BASENAME.dv genre`
+TITLE=`./csv $2 $BASENAME.dv title`
+NAME=`./csv $2 $BASENAME.dv name`
+LICENSE=`./csv $2 $BASENAME.dv license`
+ORGANIZATION=`./csv $2 $BASENAME.dv organization`
+CONTACT=`./csv $2 $BASENAME.dv contact`
+
+if [ -z "$1" ]; then
+ echo "Usage: $0 <video/audio-file> [<csv-file>]"
+ exit 1
+fi
+
+./require oggz-comment #oggz-tools
+#./require vorbiscomment #vorbis-tools
+
+if [ $EXT == "ogg" ] || [ $EXT == "ogv" ]; then
+ if [ "$2" ]; then
+ echo "Writing metadata to $1..."
+ oggz-comment $1 -o $BASENAME-comment.$EXT --content-type theora\
+ TITLE="$TITLE" \
+ ALBUM="$WHAT" \
+ ARTIST="$NAME" \
+ PERFORMER="$NAME" \
+ COPYRIGHT="$ORGANIZATION" \
+ LICENSE="$LICENSE" \
+ ORGANIZATION="$ORGANIZATION" \
+ GENRE="$GENRE" \
+ DATE="$DATE" \
+ LOCATION="$LOCATION" \
+ CONTACT="$CONTACT"
+
+# rm, mv
+
+ else
+ oggz-comment -l $1
+ fi
+else
+ echo "File format is not supported yet."
+fi
diff --git a/tools/outro b/tools/outro
index a898231..c9fc197 100755
--- a/tools/outro
+++ b/tools/outro
@@ -1,6 +1,6 @@
#!/bin/bash
#
-# Date: 2009-12-10
+# Date: 2009-12-16
# Author: Ole Kristian Lien
# License: GNU General Public License
#
@@ -20,6 +20,8 @@ if [ -z "$1" ]; then
exit 1
fi
+echo "Generating outro-video from $2 for $1..."
+
./image_text $1 outro-$COUNT black "TAKK TIL"
./fade $BASENAME-outro-$COUNT.png 3 black
rm $BASENAME-outro-$COUNT.png
@@ -42,7 +44,7 @@ IFS='
for i in $TAKK ; do
HVA=`echo "$i" | cut -d ":" -f 1`
HVEM=`echo "$i" | cut -d ":" -f 2`
-# echo "TAKK: $HVA - $HVEM"
+
./image_text $1 outro-$COUNT black "$HVEM" "$HVA"
./fade $BASENAME-outro-$COUNT.png 1 black
rm $BASENAME-outro-$COUNT.png
@@ -51,7 +53,6 @@ done
IFS=$IFS
for i in $URL ; do
-# echo "URL: $i"
./image_text $1 outro-$COUNT black " "
./fade $BASENAME-outro-$COUNT.png 1 black
rm $BASENAME-outro-$COUNT.png
diff --git a/tools/process-video b/tools/process-video
index a545427..4cb6463 100644
--- a/tools/process-video
+++ b/tools/process-video
@@ -1,4 +1,10 @@
#!/bin/bash
+#
+# Date: 2009-12-16
+# Author: Ole Kristian Lien
+# License: GNU General Public License
+#
+# Process a video-file automatically
EXT=`echo "$1"|awk -F . '{print $NF}'`
NAME=`basename $1 .$EXT`
@@ -9,21 +15,45 @@ if [ -z "$2" ]; then
exit 1
fi
-echo "Checking diskspace..."
-./check_diskspace $1
-echo "Checking that both audio channeles is equal..."
+echo "Processing video $1 with info from $2..."
+
+#./check_diskspace $1
+#if [ "${?}" == "1" ] ; then
+# exit 1
+#fi
+
#./audio_channels_diff $1
-echo "Generating intro..."
+#if [ "${?}" == "3" ] ; then
+# echo "should run ./merge_audio_stereo_track $1...neh.."
+ #./merge_audio_stereo_track $1
+#fi
+
+
+# ./audio_check_silence
+
+# ./audio_check_noise $1
+ # if x do ./audio_remove_noise
+
+# bytte plass? ^ v
+
+# ./audio_check_volume $1
+ # if x do ./audio_gain_volume
+
+# mv fade video/image_fade
+# ./audio_fade
+
#./intro $1 $2
-echo "Generating outro..."
#./outro $1 $2
-echo "Joining videoes..."
#./join_video $NAME-new.$EXT $NAME-intro.$EXT $1 $NAME-outro.$EXT
+#rm $NAME-intro.$EXT $NAME-outro.$EXT
+#echo "Backing up $1 to $NAME-old.$EXT..."
#mv $1 $NAME-old.$EXT
#mv $NAME-new.$EXT $1
-echo "Converting to theora..."
-./convert2theora $1 $2
-echo "Converting to vorbis..."
-./convert2vorbis $1 $2
+./convert2theora $1
+./metadata $NAME.ogv $2
+
+./convert2vorbis $1
+./metadata $NAME.ogg $2
+
diff --git a/tools/theora-test b/tools/theora-test
index 8a1a5d4..b4e76e5 100755
--- a/tools/theora-test
+++ b/tools/theora-test
@@ -1,5 +1,9 @@
#!/bin/bash
+# maskin info
+# ffmpeg versjon, libtheora
+# logg til fil
+
EXT=`echo "$1"|awk -F . '{print $NF}'`
NAME=`basename $1 .$EXT`
@@ -8,7 +12,7 @@ if [ -z "$1" ]; then
exit 1
fi
-echo '"Filename","Video Quality","Video Bitrate (kb/s)","Audio Quality","Audio Bitrate (kb/s)","Filesize(Mb)"' > $NAME.txt
+echo '"Filename","Video Quality","Video Bitrate (kb/s)","Audio Quality","Audio Bitrate (kb/s)","Filesize(Mb)","Time"' #> $NAME.txt
for i in {5..10}; do
VQUALITY=$i
@@ -18,10 +22,12 @@ for i in {5..10}; do
--videoquality $VQUALITY \
--audioquality $AQUALITY \
> "$NAME.ogv-compresslog" 2> time.txt
- TIME=`cat time.txt`
+ TIME=`tail -1 time.txt `
SIZE=`du -m $NAME-v$VQUALITY-a$AQUALITY.ogv | awk '{print $1}'`
VBITRATE=`./video_bitrate $NAME-v$VQUALITY-a$AQUALITY.ogv`
ABITRATE=`./audio_bitrate $NAME-v$VQUALITY-a$AQUALITY.ogv`
-echo "\"$NAME-v$VQUALITY-a$AQUALITY.ogv\",\"$VQUALITY\",\"$VBITRATE\",\"$AQUALITY\",\"$ABITRATE\",\"$SIZE\",\"$TIME\"" >> $NAME.txt
+echo "\"$NAME-v$VQUALITY-a$AQUALITY.ogv\",\"$VQUALITY\",\"$VBITRATE\",\"$AQUALITY\",\"$ABITRATE\",\"$SIZE\",\"$TIME\"" #>> $NAME.txt
done
done
+
+rm time.txt
diff --git a/tools/theora.csv b/tools/theora.csv
new file mode 100644
index 0000000..d8bacf7
--- /dev/null
+++ b/tools/theora.csv
@@ -0,0 +1,19 @@
+"Filename","Video Quality","Video Bitrate (kb/s)","Audio Quality","Audio Bitrate (kb/s)","Filesize(Mb)","Time"
+"test-v5-a3.ogv","5","514","3","112","4","0:48.68"
+"test-v5-a4.ogv","5","517","4","128","4","0:44.56"
+"test-v5-a5.ogv","5","526","5","160","4","0:48.34"
+"test-v6-a3.ogv","6","659","3","112","5","0:43.65"
+"test-v6-a4.ogv","6","662","4","128","5","0:43.47"
+"test-v6-a5.ogv","6","671","5","160","5","0:43.45"
+"test-v7-a3.ogv","7","823","3","112","6","0:53.44"
+"test-v7-a4.ogv","7","825","4","128","6","0:46.20"
+"test-v7-a5.ogv","7","834","5","160","6","0:46.16"
+"test-v8-a3.ogv","8","1179","3","112","9","0:52.61"
+"test-v8-a4.ogv","8","1181","4","128","9","0:53.46"
+"test-v8-a5.ogv","8","1190","5","160","9","0:52.61"
+"test-v9-a3.ogv","9","1686","3","112","13","1:04.71"
+"test-v9-a4.ogv","9","1689","4","128","13","1:04.64"
+"test-v9-a5.ogv","9","1698","5","160","13","1:04.71"
+"test-v10-a3.ogv","10","2203","3","112","16","1:05.61"
+"test-v10-a4.ogv","10","2206","4","128","16","1:05.74"
+"test-v10-a5.ogv","10","2215","5","160","16","1:06.13"