SuexecUserGroup telecaster telecaster
- ErrorLog /var/log/apache2/error.log
+ ErrorLog /var/log/apache2/telecaster_error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
- CustomLog /var/log/apache2/access.log combined
+ CustomLog /var/log/apache2/telecaster_access.log combined
ServerSignature On
<Directory /var/www/>
# Start TeleCaster video channel
-WIDTH=480
-HEIGHT=270
-
-gst-launch v4l2src device=/dev/video0 ! queue ! videoscale ! video/x-raw-yuv, width=160, height=120 \
- ! queue ! videorate ! video/x-raw-yuv,framerate=25/1 \
- ! queue ! videomixer name=mix sink_1::xpos=0 sink_1::ypos=0 sink_1::alpha=0.9 \
- ! queue ! ffmpegcolorspace ! queue ! theoraenc quality=25 ! muxout. \
- jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 \
- ! queue ! audioconvert ! vorbisenc ! queue ! muxout. \
- oggmux name=muxout ! queue ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 \
- v4l2src device=/dev/video1 ! queue ! videoscale ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
- ! queue ! videorate ! video/x-raw-yuv,framerate=25/1 ! mix. \
- > /dev/null &
-
-sleep 2
-
-jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
-jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
-
+telecaster/tc_video_simple_webm_stream.sh
+
--- /dev/null
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ start)
+ fifo=/tmp/video_fifo
+ if [ ! -e $fifo ]; then
+ mkfifo $fifo
+ fi
+
+ dir=/mnt/data1/video_tests
+ now=`date -R`
+
+ dvgrab -buffers 1 - | ffmpeg -f dv -i - -f jack -i ffmpeg -vcodec libtheora -s 480x320 -aspect 16:9 -acodec libvorbis -b 300k -f ogg -y $fifo -map 0.0 -map 1.0 &
+
+ sleep 5
+ jack_connect jack_rack:out_1 ffmpeg:input_1
+ jack_connect jack_rack:out_2 ffmpeg:input_2
+ #jack_connect jack_rack:out_1 ffmpeg:input_1
+ #jack_connect jack_rack:out_2 ffmpeg:input_2
+
+ sleep 1
+ cat $fifo | tee "$dir/Pre-Barreau_-_Augustins_-_Video_Live_-_$now.ogg" | oggfwd -d "pb_video_live" -g "Teaching" -n "pb_video_live" localhost 8000 source2parisson /pb_video_live.ogg &
+ ;;
+
+ stop)
+ jack_disconnect jack_rack:out_1 ffmpeg:input_1
+ jack_disconnect jack_rack:out_2 ffmpeg:input_2
+ pkill ffmpeg
+ ;;
+esac
+
+
+
+
+
--- /dev/null
+#!/bin/bash
+
+ set -e
+
+case "$1" in
+ start)
+ fifo=/tmp/video_fifo2
+ if [ ! -e $fifo ]; then
+ mkfifo $fifo
+ fi
+
+ dir=$HOME/archives/2011
+ now=`date -R`
+ file=$dir/video_test2.ogg
+
+ ffmpeg -f video4linux2 -i /dev/video0 -f jack -i ffmpeg -itsoffset 00:00:00.8 -r 20 -f ogg -vcodec libtheora -s 320x240 -b 380k -acodec libvorbis -ab 64k -ar 44100 -ac 1 -y $file -map 0.0 -map 1.0 &
+
+ sleep 3
+ jack_connect jack_rack:out_1 ffmpeg:input_1
+ #jack_connect jack_rack:out_1 ffmpeg:input_2
+
+ sleep 2
+ cat $file | tee $file.ogg | oggfwd -d "TeleCaster Live Video Services" -g "Vocal" -n "TeleCaster Live Video" localhost 8000 source2parisson /telecaster_live_video.ogg &
+ ;;
+
+ stop)
+ jack_disconnect jack_rack:out_1 ffmpeg:input_1
+# jack_disconnect jack_rack:out_1 ffmpeg:input_2
+ pkill -9 ffmpeg
+ ;;
+esac
+
+
+
+
+
+# http://www.kkoncepts.net/node/69
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+
+gst-launch-0.10 dv1394src ! queue ! dvdemux name=d ! queue ! dvdec \
+ ! queue ! videoscale ! video/x-raw-yuv, width=480, height=368 \
+ ! queue ! ffmpegcolorspace ! theoraenc bitrate=500 ! muxout. \
+ oggmux name=muxout \
+ ! queue ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 \
--- /dev/null
+#!/bin/bash
+
+gst-launch v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv, width=160, height=120 ! videomixer name=mix sink_1::xpos=20 sink_1::ypos=20 sink_1::alpha=0.9 ! queue ! ffmpegcolorspace ! theoraenc quality=40 ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! tee name=t ! queue ! filesink location="video_test.ogg" t. ! queue ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv, width=480, height=270 ! mix.
--- /dev/null
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ start)
+ dir=/home/$USER/trash
+ dat=`date '+%y-%m-%d-%H:%M:%S'`
+ file=$dir/video_test_$dat.ogg
+
+ gst-launch-0.10 v4l2src device=/dev/video0 ! queue ! videorate ! video/x-raw-yuv,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! filesink location=$file sync=true &
+
+# gst-launch v4l2src ! queue ! videorate ! video/x-raw-yuv,fps=30,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 &
+
+#
+ sleep 10
+ cat $file | oggfwd -d "TeleCaster Live Video Services" -g "Vocal" -n "TeleCaster Live Video" localhost 8000 source2parisson /telecaster_live_video.ogg &
+ ;;
+
+ stop)
+ pkill -9 oggfwd
+ pkill -9 gst-launch-0.10
+ ;;
+esac
--- /dev/null
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ start)
+ dir=/home/$USER/trash
+ dat=`date '+%y-%m-%d-%H:%M:%S'`
+ file=$dir/video_test_$dat.ogg
+
+# gst-launch-0.10 v4l2src device=/dev/video0 ! queue ! videorate ! video/x-raw-yuv,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! filesink location=$file sync=true &
+
+ gst-launch-0.10 v4l2src ! queue ! videorate ! video/x-raw-yuv,fps=30,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 &
+
+#
+# sleep 10
+# cat $file | oggfwd -d "TeleCaster Live Video Services" -g "Vocal" -n "TeleCaster Live Video" localhost 8000 source2parisson /telecaster_live_video.ogg &
+ ;;
+
+ stop)
+ pkill -9 oggfwd
+ pkill -9 gst-launch-0.10
+ ;;
+esac
--- /dev/null
+#!/bin/bash
+
+gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv,width=640, height=480 \
+ ! queue ! ffmpegcolorspace \
+ ! queue ! theoraenc quality=20 ! mux. \
+ alsasrc device=hw:0,0 ! audio/x-raw-int,rate=44100,channels=2,depth=16 \
+ ! queue ! audioconvert ! audio/x-raw-float,rate=44100,channels=2,depth=16 ! queue ! vorbisenc ! mux. \
+ oggmux name=mux ! filesink location=/var/www/test/test.ogg \
+
+# ! queue ! videorate ! video/x-raw-yuv, framerate=25/1 \
+#jackaudiosrc connect=1 ! queue ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+
+gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv,width=640, height=480 \
+ ! queue ! ffmpegcolorspace \
+ ! queue ! theoraenc quality=25 ! mux. \
+ jackaudiosrc connect=1 ! queue ! audioconvert ! queue ! vorbisenc ! mux. \
+ oggmux name=mux ! filesink location=/var/www/test/test.ogg \
+
+# ! queue ! videorate ! video/x-raw-yuv, framerate=25/1 \
--- /dev/null
+#!/bin/bash
+
+gst-launch v4l2src device=/dev/video0 ! queue ! videoscale ! video/x-raw-yuv, width=160, height=120 \
+ ! queue ! ffmpegcolorspace ! video/x-raw-rgb \
+ ! queue ! videomixer name=mix \
+ sink_1::xpos=40 sink_1::ypos=60 sink_1::alpha=0.9 sink_2::xpos=40 sink_2::ypos=180 sink_2::alpha=0.9 \
+ ! queue ! videoscale ! video/x-raw-rgb, width=480, height=270 \
+ ! queue ! ffmpegcolorspace ! theoraenc quality=10 ! oggmux name=muxout \
+ ! queue ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 \
+ ximagesrc ! queue ! videorate ! video/x-raw-rgb, framerate=30/1 ! videoscale ! video/x-raw-rgb, width=160, height=120 ! mix. \
+ v4l2src device=/dev/video1 ! queue ! ffmpegcolorspace ! video/x-raw-rgb ! videoscale ! video/x-raw-rgb, width=640, height=360 ! mix. \
\ No newline at end of file
--- /dev/null
+#!/bin/sh
+
+# Start TeleCaster video channel
+
+WIDTH=432
+HEIGHT=240
+
+gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
+ ! queue ! ffmpegcolorspace \
+ ! queue ! theoraenc bitrate=400 speed-level=0 ! queue ! muxout. \
+ jackaudiosrc connect=1 \
+ ! queue ! audioconvert ! queue ! vorbisenc ! queue ! muxout. \
+ oggmux name=muxout ! filesink location=/home/telecaster/archives/test.ogg \
+ > /dev/null &
+
+sleep 2
+
+jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
+jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
+
--- /dev/null
+#!/bin/sh
+
+# Start TeleCaster video channel
+
+WIDTH=640
+HEIGHT=360
+#WIDTH=1024
+#HEIGHT=576
+
+gst-launch v4l2src device=/dev/video1 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
+ ! queue ! videoflip method=rotate-180 \
+ ! queue ! ffmpegcolorspace \
+ ! queue ! vp8enc speed=2 threads=2 quality=5 ! queue ! muxout. \
+ jackaudiosrc connect=1 \
+ ! queue ! audioconvert ! queue ! vorbisenc quality=3 ! queue ! muxout. \
+ webmmux streamable=true name=muxout ! filesink location=/home/telecaster/trash/test.webm \
+ > /dev/null &
+
+sleep 2
+
+jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
+jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
+
--- /dev/null
+#!/bin/sh
+
+# Start TeleCaster video channel
+
+WIDTH=432
+HEIGHT=240
+
+gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
+ ! queue ! ffmpegcolorspace \
+ ! queue ! theoraenc quality=10 ! queue ! muxout. \
+ jackaudiosrc connect=1 \
+ ! queue ! audioconvert ! queue ! vorbisenc quality=3 ! queue ! muxout. \
+ oggmux name=muxout ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 \
+ > /dev/null &
+
+sleep 2
+
+jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
+jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
+
--- /dev/null
+#!/bin/sh
+
+# Start TeleCaster video channel
+
+WIDTH=640
+HEIGHT=360
+#WIDTH=1024
+#HEIGHT=576
+
+gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
+ ! queue ! videoflip method=rotate-180 \
+ ! queue ! ffmpegcolorspace \
+ ! queue ! vp8enc speed=2 threads=2 quality=5 ! queue ! muxout. \
+ jackaudiosrc connect=1 \
+ ! queue ! audioconvert ! queue ! vorbisenc quality=3 ! queue ! muxout. \
+ webmmux streamable=true name=muxout \
+ ! tee name=t ! queue ! tcpserversink host=127.0.0.1 port=9000 \
+ t. ! queue ! filesink location=/home/telecaster/trash/test.webm \
+ > /dev/null &
+
+sleep 2
+
+jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
+jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
+
--- /dev/null
+[Desktop Entry]
+Name=Rotate Desktop
+Exec=~/bin/rotate_desktop
+Icon=preferences-desktop-rotate
+Type=Application
+Comment=Rotate Desktop for 180 degrees with the touchscreen
+GenericName=Rotate Desktop
+Categories=Utility;Accessibility;
+Terminal=false
+
+++ /dev/null
-[Desktop Entry]
-Name=Rotate Desktop
-Exec=~/bin/rotate_desktop
-Icon=preferences-desktop-rotate
-Type=Application
-Comment=Rotate Desktop for 180 degrees with the touchscreen
-GenericName=Rotate Desktop
-Categories=Utility;Accessibility;
-Terminal=false
-
import os, sys
import platform
import shutil
+from optparse import OptionParser
-def remove_svn(path):
+
+def cleanup(path):
for root, dirs, files in os.walk(path):
for dir in dirs:
- if '.svn' in dir:
+ if '.svn' in dir or '.git' in dir:
shutil.rmtree(root + os.sep + dir)
-app_dir = os.getcwd()
-
-user = 'telecaster'
-home = '/home/' + user
-if not os.path.exists(home):
- print 'Please give some informations for the new "telecaster" user :'
- os.system('adduser ' + user)
- os.system('adduser ' + user + ' audio')
-
-# compiling edcast-jack
-os.chdir(app_dir + '/vendor/edcast-jack')
-os.system('./configure; make; sudo make install')
-
-# Install DeeFuzzer
-os.system('sudo pip install deefuzzer')
-
-os.chdir(app_dir)
-install_dir = '/var/www/telecaster'
-if os.path.exists(install_dir):
- shutil.rmtree(install_dir)
-shutil.copytree(app_dir, install_dir,ignore=shutil.ignore_patterns('edcast-jack*', 'deefuzzer*', '*.svn*', '*.bzr*'))
-os.system('chown -R ' + user + ':' + user + ' ' + install_dir)
-os.system('chmod 755 ' + install_dir + '/telecaster.py')
-
-dir = '/var/www/rss'
-if not os.path.exists(dir):
- os.mkdir(dir)
-os.system('chown -R ' + user + ':' + user + ' ' + dir)
-
-dir = '/var/www/m3u'
-if not os.path.exists(dir):
- os.mkdir(dir)
-os.system('chown -R ' + user + ':' + user + ' ' + dir)
-
-conf_dir = '/etc/telecaster'
-if not os.path.exists(conf_dir):
- os.mkdir(conf_dir)
- os.system('sudo chown '+user+ ':'+user+' '+conf_dir)
-in_files = os.listdir('conf'+conf_dir)
-for file in in_files:
- if not os.path.exists(conf_dir+os.sep+file) and not '.svn' in file:
- shutil.copy('conf'+conf_dir+os.sep+file, conf_dir+os.sep+file)
-
-daemons = ['jackd', 'vncserver']
-dir = '/etc/init.d/'
-for daemon in daemons:
- path = dir + daemon
- shutil.copy('conf'+path, dir)
- os.system('sudo chmod 755 '+path)
-
-dir = '/etc/default/'
-for daemon in daemons:
- path = dir + daemon
- if not os.path.exists(path):
- shutil.copy('conf'+path, dir)
-
-init_link = '/etc/rc2.d/S97jackd'
-if not os.path.islink(init_link):
- os.system('ln -s /etc/init.d/jackd '+init_link)
-
-init_link = '/etc/rc2.d/S99vncserver'
-if not os.path.islink(init_link):
- os.system('ln -s /etc/init.d/vncserver '+init_link)
-
-home_dirs = ['fluxbox', 'vnc']
-for dir in home_dirs:
- home_dir = home + '/.' + dir
- if not os.path.exists(home_dir):
- shutil.copytree('conf/home/'+dir, home_dir, ignore=shutil.ignore_patterns('*.svn*'))
- os.system('chown -R ' + user + ':' + user + ' ' + home_dir)
-
-dir = 'media'
-home_dir = home + os.sep + dir
-if not os.path.exists(home_dir):
- shutil.copytree('conf/home/'+dir, home_dir, ignore=shutil.ignore_patterns('*.svn*'))
- os.system('chown -R ' + user + ':' + user + ' ' + home_dir)
-
-apache_conf = '/etc/apache2/sites-available/telecaster.conf'
-if not os.path.exists(apache_conf):
- shutil.copy('conf'+apache_conf, apache_conf)
-os.system('/etc/init.d/apache2 reload')
-
-log_dirs = ['/var/log/telecaster', '/var/log/deefuzzer']
-for dir in log_dirs:
- if not os.path.exists(dir):
- os.mkdir(dir)
- os.system('chown -R ' + user + ':' + user + ' ' + dir)
-
-print """
- Installation successfull !
-
- Now, please :
- - configure your telecaster editing /etc/telecaster/telecaster.xml and /etc/telecaster/deefuzzer.xml
- - configure your apache VirtualHost editing /etc/apache2/sites-available/telecaster.conf
-
- And use the TeleCaster system browsing http://localhost/telecaster/telecaster.py
-
- See README for more infos.
- """
+class Install(object):
+
+ def __init__(self, options):
+ self.options = options
+ self.app_dir = os.getcwd()
+ self.user = 'telecaster'
+ self.home = '/home/' + self.user
+
+ self.install_dir = '/var/www/telecaster'
+ self.rss_dir = '/var/www/rss'
+ self.m3u_dir = '/var/www/m3u'
+ self.log_dir = '/var/log/telecaster'
+ self.deefuzzer_log_dir = '/var/log/deefuzzer'
+ self.conf_dir = '/etc/telecaster'
+ self.init_dirs = ['/etc/init.d/', '/etc/default/']
+ self.home_dirs = ['fluxbox', 'vnc']
+ self.media_dir = self.home + os.sep + 'media'
+
+ self.daemons = ['jackd', 'vncserver']
+ self.apache_conf = '/etc/apache2/sites-available/telecaster.conf'
+
+ def create_user(self):
+ if not os.path.exists(self.home):
+ print 'Please give some informations for the new "telecaster" user :'
+ os.system('adduser ' + self.user)
+ os.system('adduser ' + self.user + ' audio')
+
+ def chown(self, dir):
+ os.system('chown -R ' + self.user + ':' + self.user + ' ' + dir)
+
+ def install_deps(self):
+ # compiling edcast-jack
+ os.chdir(self.app_dir + '/vendor/edcast-jack')
+ os.system('./configure; make; make install')
+
+ # Install DeeFuzzer
+ os.system('pip install deefuzzer')
+
+ def install_app(self):
+ os.chdir(self.app_dir)
+
+ if os.path.exists(self.install_dir):
+ shutil.rmtree(self.install_dir)
+
+ shutil.copytree(self.app_dir, self.install_dir,ignore=shutil.ignore_patterns('edcast-jack*', 'deefuzzer*', '*.svn*', '*.bzr*', '*.git'))
+ os.system('chown -R ' + self.user + ':' + self.user + ' ' + self.install_dir)
+ os.system('chmod 755 ' + self.install_dir + '/telecaster.py')
+
+ def install_conf(self):
+ os.chdir(self.app_dir)
+
+ in_files = os.listdir('conf'+self.conf_dir)
+ if not os.path.exists(self.conf_dir):
+ os.makedirs(self.conf_dir)
+
+ for file in in_files:
+ shutil.copy('conf'+self.conf_dir+os.sep+file, self.conf_dir+os.sep+file)
+
+ for dir in self.home_dirs:
+ home_dir = self.home + '/.' + dir
+ if not os.path.exists(home_dir):
+ shutil.copytree('conf/home/'+dir, home_dir, ignore=shutil.ignore_patterns('*.svn*'))
+ self.chown(dir)
+
+ dir = 'media'
+ if not os.path.exists(self.home+os.sep+dir):
+ shutil.copytree('conf/home/'+dir, self.home+os.sep+dir)
+
+ shutil.copy('conf'+self.apache_conf, self.apache_conf)
+ os.system('a2ensite telecaster.conf')
+ os.system('/etc/init.d/apache2 reload')
+
+ def install_init(self):
+ os.chdir(self.app_dir)
+
+ dirs = [self.rss_dir, self.m3u_dir, self.log_dir, self.deefuzzer_log_dir, self.conf_dir, self.media_dir]
+ for dir in dirs:
+ if not os.path.exists(dir):
+ os.makedirs(dir)
+ self.chown(dir)
+
+ for init_dir in self.init_dirs:
+ for daemon in self.daemons:
+ path = init_dir + daemon
+ shutil.copy('conf'+path, dir)
+ os.system('sudo chmod 755 '+path)
+
+ init_link = '/etc/rc2.d/S97jackd'
+ if not os.path.islink(init_link):
+ os.system('ln -s /etc/init.d/jackd '+init_link)
+
+ init_link = '/etc/rc2.d/S99vncserver'
+ if not os.path.islink(init_link):
+ os.system('ln -s /etc/init.d/vncserver '+init_link)
+
+ def run(self):
+ if self.options['keepinit'] == False:
+ print 'Installing init files...'
+ self.install_init()
+ if self.options['keepmods'] == False:
+ print 'Installing dependencies...'
+ self.install_deps()
+ if self.options['keepconf'] == False:
+ print 'Installing config files...'
+ self.install_conf()
+ print 'Installing application...'
+ self.install_app()
+
+
+def main():
+ parser = OptionParser()
+ parser.add_option("-c", "--keepconf", dest="keepconf", default=False, action="store_true",
+ help="do NOT overwrite config files")
+ parser.add_option("-i", "--keepinit", dest="keepinit", default=False, action="store_true",
+ help="do NOT overwrite init files")
+ parser.add_option("-m", "--keepmods", dest="keepmods", default=False, action="store_true",
+ help="do NOT overwrite or install modules")
+
+ (options, args) = parser.parse_args()
+ install = Install(vars(options))
+ install.run()
+
+ print """
+ Installation successfull !
+
+ Now, please :
+ - configure your telecaster editing /etc/telecaster/telecaster.xml and /etc/telecaster/deefuzzer.xml
+ - configure your apache VirtualHost editing /etc/apache2/sites-available/telecaster.conf
+
+ And use the TeleCaster system browsing http://127.0.0.1/telecaster/telecaster.py
+
+ See README for more infos.
+ """
+
+
+if __name__ == '__main__':
+ main()
+
+
+++ /dev/null
-#!/bin/bash
-
-set -e
-
-case "$1" in
- start)
- fifo=/tmp/video_fifo
- if [ ! -e $fifo ]; then
- mkfifo $fifo
- fi
-
- dir=/mnt/data1/video_tests
- now=`date -R`
-
- dvgrab -buffers 1 - | ffmpeg -f dv -i - -f jack -i ffmpeg -vcodec libtheora -s 480x320 -aspect 16:9 -acodec libvorbis -b 300k -f ogg -y $fifo -map 0.0 -map 1.0 &
-
- sleep 5
- jack_connect jack_rack:out_1 ffmpeg:input_1
- jack_connect jack_rack:out_2 ffmpeg:input_2
- #jack_connect jack_rack:out_1 ffmpeg:input_1
- #jack_connect jack_rack:out_2 ffmpeg:input_2
-
- sleep 1
- cat $fifo | tee "$dir/Pre-Barreau_-_Augustins_-_Video_Live_-_$now.ogg" | oggfwd -d "pb_video_live" -g "Teaching" -n "pb_video_live" localhost 8000 source2parisson /pb_video_live.ogg &
- ;;
-
- stop)
- jack_disconnect jack_rack:out_1 ffmpeg:input_1
- jack_disconnect jack_rack:out_2 ffmpeg:input_2
- pkill ffmpeg
- ;;
-esac
-
-
-
-
-
+++ /dev/null
-#!/bin/bash
-
- set -e
-
-case "$1" in
- start)
- fifo=/tmp/video_fifo2
- if [ ! -e $fifo ]; then
- mkfifo $fifo
- fi
-
- dir=$HOME/archives/2011
- now=`date -R`
- file=$dir/video_test2.ogg
-
- ffmpeg -f video4linux2 -i /dev/video0 -f jack -i ffmpeg -itsoffset 00:00:00.8 -r 20 -f ogg -vcodec libtheora -s 320x240 -b 380k -acodec libvorbis -ab 64k -ar 44100 -ac 1 -y $file -map 0.0 -map 1.0 &
-
- sleep 3
- jack_connect jack_rack:out_1 ffmpeg:input_1
- #jack_connect jack_rack:out_1 ffmpeg:input_2
-
- sleep 2
- cat $file | tee $file.ogg | oggfwd -d "TeleCaster Live Video Services" -g "Vocal" -n "TeleCaster Live Video" localhost 8000 source2parisson /telecaster_live_video.ogg &
- ;;
-
- stop)
- jack_disconnect jack_rack:out_1 ffmpeg:input_1
-# jack_disconnect jack_rack:out_1 ffmpeg:input_2
- pkill -9 ffmpeg
- ;;
-esac
-
-
-
-
-
-# http://www.kkoncepts.net/node/69
\ No newline at end of file
+++ /dev/null
-#!/bin/bash
-
-gst-launch-0.10 dv1394src ! queue ! dvdemux name=d ! queue ! dvdec \
- ! queue ! videoscale ! video/x-raw-yuv, width=480, height=368 \
- ! queue ! ffmpegcolorspace ! theoraenc bitrate=500 ! muxout. \
- oggmux name=muxout \
- ! queue ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 \
+++ /dev/null
-#!/bin/bash
-
-gst-launch v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv, width=160, height=120 ! videomixer name=mix sink_1::xpos=20 sink_1::ypos=20 sink_1::alpha=0.9 ! queue ! ffmpegcolorspace ! theoraenc quality=40 ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! tee name=t ! queue ! filesink location="video_test.ogg" t. ! queue ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv, width=480, height=270 ! mix.
+++ /dev/null
-#!/bin/bash
-
-set -e
-
-case "$1" in
- start)
- dir=/home/$USER/trash
- dat=`date '+%y-%m-%d-%H:%M:%S'`
- file=$dir/video_test_$dat.ogg
-
- gst-launch-0.10 v4l2src device=/dev/video0 ! queue ! videorate ! video/x-raw-yuv,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! filesink location=$file sync=true &
-
-# gst-launch v4l2src ! queue ! videorate ! video/x-raw-yuv,fps=30,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 &
-
-#
- sleep 10
- cat $file | oggfwd -d "TeleCaster Live Video Services" -g "Vocal" -n "TeleCaster Live Video" localhost 8000 source2parisson /telecaster_live_video.ogg &
- ;;
-
- stop)
- pkill -9 oggfwd
- pkill -9 gst-launch-0.10
- ;;
-esac
+++ /dev/null
-#!/bin/bash
-
-set -e
-
-case "$1" in
- start)
- dir=/home/$USER/trash
- dat=`date '+%y-%m-%d-%H:%M:%S'`
- file=$dir/video_test_$dat.ogg
-
-# gst-launch-0.10 v4l2src device=/dev/video0 ! queue ! videorate ! video/x-raw-yuv,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! filesink location=$file sync=true &
-
- gst-launch-0.10 v4l2src ! queue ! videorate ! video/x-raw-yuv,fps=30,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 &
-
-#
-# sleep 10
-# cat $file | oggfwd -d "TeleCaster Live Video Services" -g "Vocal" -n "TeleCaster Live Video" localhost 8000 source2parisson /telecaster_live_video.ogg &
- ;;
-
- stop)
- pkill -9 oggfwd
- pkill -9 gst-launch-0.10
- ;;
-esac
+++ /dev/null
-#!/bin/bash
-
-gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv,width=640, height=480 \
- ! queue ! ffmpegcolorspace \
- ! queue ! theoraenc quality=20 ! mux. \
- alsasrc device=hw:0,0 ! audio/x-raw-int,rate=44100,channels=2,depth=16 \
- ! queue ! audioconvert ! audio/x-raw-float,rate=44100,channels=2,depth=16 ! queue ! vorbisenc ! mux. \
- oggmux name=mux ! filesink location=/var/www/test/test.ogg \
-
-# ! queue ! videorate ! video/x-raw-yuv, framerate=25/1 \
-#jackaudiosrc connect=1 ! queue ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16
\ No newline at end of file
+++ /dev/null
-#!/bin/bash
-
-gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv,width=640, height=480 \
- ! queue ! ffmpegcolorspace \
- ! queue ! theoraenc quality=25 ! mux. \
- jackaudiosrc connect=1 ! queue ! audioconvert ! queue ! vorbisenc ! mux. \
- oggmux name=mux ! filesink location=/var/www/test/test.ogg \
-
-# ! queue ! videorate ! video/x-raw-yuv, framerate=25/1 \
+++ /dev/null
-#!/bin/bash
-
-gst-launch v4l2src device=/dev/video0 ! queue ! videoscale ! video/x-raw-yuv, width=160, height=120 \
- ! queue ! ffmpegcolorspace ! video/x-raw-rgb \
- ! queue ! videomixer name=mix \
- sink_1::xpos=40 sink_1::ypos=60 sink_1::alpha=0.9 sink_2::xpos=40 sink_2::ypos=180 sink_2::alpha=0.9 \
- ! queue ! videoscale ! video/x-raw-rgb, width=480, height=270 \
- ! queue ! ffmpegcolorspace ! theoraenc quality=10 ! oggmux name=muxout \
- ! queue ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 \
- ximagesrc ! queue ! videorate ! video/x-raw-rgb, framerate=30/1 ! videoscale ! video/x-raw-rgb, width=160, height=120 ! mix. \
- v4l2src device=/dev/video1 ! queue ! ffmpegcolorspace ! video/x-raw-rgb ! videoscale ! video/x-raw-rgb, width=640, height=360 ! mix. \
\ No newline at end of file
+++ /dev/null
-#!/bin/sh
-
-# Start TeleCaster video channel
-
-WIDTH=432
-HEIGHT=240
-
-gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
- ! queue ! ffmpegcolorspace \
- ! queue ! theoraenc bitrate=400 speed-level=0 ! queue ! muxout. \
- jackaudiosrc connect=1 \
- ! queue ! audioconvert ! queue ! vorbisenc ! queue ! muxout. \
- oggmux name=muxout ! filesink location=/home/telecaster/archives/test.ogg \
- > /dev/null &
-
-sleep 2
-
-jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
-jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
-
+++ /dev/null
-#!/bin/sh
-
-# Start TeleCaster video channel
-
-WIDTH=640
-HEIGHT=360
-#WIDTH=1024
-#HEIGHT=576
-
-gst-launch v4l2src device=/dev/video1 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
- ! queue ! videoflip method=rotate-180 \
- ! queue ! ffmpegcolorspace \
- ! queue ! vp8enc speed=2 threads=2 quality=5 ! queue ! muxout. \
- jackaudiosrc connect=1 \
- ! queue ! audioconvert ! queue ! vorbisenc quality=3 ! queue ! muxout. \
- webmmux streamable=true name=muxout ! filesink location=/home/telecaster/trash/test.webm \
- > /dev/null &
-
-sleep 2
-
-jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
-jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
-
+++ /dev/null
-#!/bin/sh
-
-# Start TeleCaster video channel
-
-WIDTH=432
-HEIGHT=240
-
-gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
- ! queue ! ffmpegcolorspace \
- ! queue ! theoraenc quality=10 ! queue ! muxout. \
- jackaudiosrc connect=1 \
- ! queue ! audioconvert ! queue ! vorbisenc quality=3 ! queue ! muxout. \
- oggmux name=muxout ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 \
- > /dev/null &
-
-sleep 2
-
-jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
-jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
-
+++ /dev/null
-#!/bin/sh
-
-# Start TeleCaster video channel
-
-WIDTH=640
-HEIGHT=360
-#WIDTH=1024
-#HEIGHT=576
-
-gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
- ! queue ! videoflip method=rotate-180 \
- ! queue ! ffmpegcolorspace \
- ! queue ! vp8enc speed=2 threads=2 quality=5 ! queue ! muxout. \
- jackaudiosrc connect=1 \
- ! queue ! audioconvert ! queue ! vorbisenc quality=3 ! queue ! muxout. \
- webmmux streamable=true name=muxout \
- ! tee name=t ! queue ! tcpserversink host=127.0.0.1 port=9000 \
- t. ! queue ! filesink location=/home/telecaster/trash/test.webm \
- > /dev/null &
-
-sleep 2
-
-jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
-jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
-