From: Guillaume Pellerin Date: Mon, 8 Dec 2014 13:29:35 +0000 (+0100) Subject: re-arrange, cleanup X-Git-Tag: 1.0~2^2~9 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=a477eb7ae37918f00564e878e7a8fdf6b6578a3e;p=telecaster-server.git re-arrange, cleanup --- diff --git a/.gitignore b/.gitignore index 2f78cf5..eec5c21 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ *.pyc +build +dist +*.egg diff --git a/README.rst b/README.rst index 3211dde..78b2c91 100644 --- a/README.rst +++ b/README.rst @@ -1,9 +1,13 @@ +TeleCaster Server + +Live audio and video recording and streaming system based on Gstreamer, JACK, Vncserver and Fluxbox + Features ======== * Recording and streaming formats : MP3 and OGG Vorbis, WebM * Autonomous VNC and JACK sessions for safe monitoring and streaming - * Provides all configuration files for Debian like systems + * Provides all configuration files for Debian like systems License ======= @@ -14,5 +18,3 @@ Author ====== Guillaume Pellerin - - diff --git a/__init__.py b/__init__.py deleted file mode 100644 index bc5de50..0000000 --- a/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ - -__version__ = 0.6 - -from install import * diff --git a/conf/etc/init.d/telecaster b/conf/etc/init.d/telecaster index 412789c..ffd7fe9 100755 --- a/conf/etc/init.d/telecaster +++ b/conf/etc/init.d/telecaster @@ -13,7 +13,7 @@ DAEMON=/usr/bin/vncserver USER= OPTIONS="" LOG=/var/log/telecaster/vncserver.log -PIDFILE=/var/run/vncserver.pid +PIDFILE=/var/run/telecaster.pid PORT=2 test -f /etc/default/telecaster || exit 0 @@ -22,8 +22,8 @@ test -f /etc/default/telecaster || exit 0 VNCHOME=/home/$USER if [ ! "x$START_DAEMON" = "xyes" -a ! "$1" = "stop" ]; then - echo "Edit /etc/default/telecaster to start telecaster vncserver" - exit 0 + echo "Edit /etc/default/telecaster to start telecaster vncserver" + exit 0 fi test -f $DAEMON || exit 0 @@ -31,59 +31,57 @@ test -f $DAEMON || exit 0 . /lib/lsb/init-functions case "$1" in - start) - log_begin_msg "Starting telecaster streaming vncserver:" "telecaster" + start) + log_begin_msg "Starting telecaster streaming vncserver:" "telecaster" su -c "$DAEMON $OPTIONS :$PORT > $LOG &" $USER sleep 10 - su -c "deefuzzer /etc/telecaster/deefuzzer/telecaster_mp3_monitor.yaml > /dev/null &" $USER - su -c "deefuzzer /etc/telecaster/deefuzzer/telecaster_webm_monitor.yaml > /dev/null &" $USER pid=`pgrep -u ${USER} vncserver` - if [ pid = '' ]; then - log_failure_msg "TeleCaster daemon can't be started! Check logfile: $LOG" + if [ pid = '' ]; then + log_failure_msg "TeleCaster daemon can't be started! Check logfile: $LOG" else echo $pid > $PIDFILE - fi + fi - ;; - stop) - log_begin_msg "Stopping telecaster streaming vncserver:" "telecaster" + ;; + stop) + log_begin_msg "Stopping telecaster streaming vncserver:" "telecaster" pid=`cat $PIDFILE | sed -e 's/\s.*//'|head -n1` - if [ ! pid = '' ]; then - su -c "pkill -9 -f \"python /usr/local/share/telecaster/scripts/monitor_check.py\" " - su -c "pkill -9 -f \"deefuzzer /etc/telecaster/deefuzzer/telecaster_mp3_monitor.yaml\" " - su -c "pkill -9 -f \"deefuzzer /etc/telecaster/deefuzzer/telecaster_webm_monitor.yaml\" " - su -c "pkill -9 gst-launch-0.10" $USER - sleep 1 - su -c "vncserver -kill :$PORT" $USER - log_end_msg 0 - else - log_end_msg 1 - exit 1 - fi + if [ ! pid = '' ]; then + su -c "pkill -9 -f monitor_check.py" + su -c "pkill -9 -f telecaster_mp3_monitor.yaml" + su -c "pkill -9 -f telecaster_webm_monitor.yaml" + su -c "pkill -9 gst-launch-0.10" $USER + sleep 1 + su -c "vncserver -kill :$PORT" $USER + log_end_msg 0 + else + log_end_msg 1 + exit 1 + fi rm $PIDFILE - ;; - try-restart) - if test -e $PIDFILE ; then - pid=`cat $PIDFILE | sed -e 's/\s.*//'|head -n1` - PIDDIR=/proc/$pid - if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then - $0 restart - exit 0 - fi - fi - test -f /etc/rc`/sbin/runlevel | cut -d' ' -f2`.d/S*vncserver* && $0 start - ;; + ;; + try-restart) + if test -e $PIDFILE ; then + pid=`cat $PIDFILE | sed -e 's/\s.*//'|head -n1` + PIDDIR=/proc/$pid + if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then + $0 restart + exit 0 + fi + fi + test -f /etc/rc`/sbin/runlevel | cut -d' ' -f2`.d/S*vncserver* && $0 start + ;; - *) - log_warning_msg "Usage: /etc/init.d/telecaster {start|stop|restart|force-reload|awaken|debug-run}" - log_warning_msg " start - starts system-wide vncserver service" - log_warning_msg " stop - stops system-wide vncserver service" - log_warning_msg " restart, force-reload - starts a new system-wide vncserver service" - log_warning_msg " awaken - tell system-wide vncserver to start a poll cycle immediately" - log_warning_msg " debug-run [strace [strace options...]] - start a debug run of the" - log_warning_msg " system-wide vncserver service, optionally running it under strace" - exit 1 - ;; + *) + log_warning_msg "Usage: /etc/init.d/telecaster {start|stop|restart|force-reload|awaken|debug-run}" + log_warning_msg " start - starts system-wide vncserver service" + log_warning_msg " stop - stops system-wide vncserver service" + log_warning_msg " restart, force-reload - starts a new system-wide vncserver service" + log_warning_msg " awaken - tell system-wide vncserver to start a poll cycle immediately" + log_warning_msg " debug-run [strace [strace options...]] - start a debug run of the" + log_warning_msg " system-wide vncserver service, optionally running it under strace" + exit 1 + ;; esac exit 0 diff --git a/conf/etc/init.d/telecaster-audio b/conf/etc/init.d/telecaster-audio deleted file mode 100755 index 2e1b954..0000000 --- a/conf/etc/init.d/telecaster-audio +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: telecaster-audio-relay -# Required-Start: -# Required-Stop: -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: init script for the telecaster audio daemon -### END INIT INFO - - -DAEMON=deefuzzer -USERNAME=telecaster -CONFFILE="/etc/telecaster/deefuzzer/telecaster_mp3_monitor.yaml" -LOG=/var/log/telecaster/deefuzzer-audio-daemon.log -PIDFILE=/var/run/telecaster-audio-relay.pid - -. /lib/lsb/init-functions - -case "$1" in - start) - log_begin_msg "Starting telecaster audio streaming relay:" "telecaster" - su -c "$DAEMON $CONFFILE &" $USERNAME - pid=`pgrep -u ${USERNAME} -f "$DAEMON $CONFFILE"` - if [ pid = '' ]; then - log_failure_msg "TeleCaster audio daemon can't be started! Check logfile: $LOG" - else - echo $pid > $PIDFILE - fi - ;; - stop) - log_begin_msg "Stopping telecaster audio streaming relay:" "telecaster" - pid=`cat $PIDFILE | sed -e 's/\s.*//'|head -n1` - if [ ! pid = '' ]; then - kill -9 $pid - log_end_msg 0 - else - log_end_msg 1 - exit 1 - fi - rm $PIDFILE - ;; - try-restart) - if test -e $PIDFILE ; then - pid=`cat $PIDFILE | sed -e 's/\s.*//'|head -n1` - PIDDIR=/proc/$pid - if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then - $0 restart - exit 0 - fi - fi - test -f /etc/rc`/sbin/runlevel | cut -d' ' -f2`.d/S*vncserver* && $0 start - ;; - - *) - log_warning_msg "Usage: /etc/init.d/telecaster {start|stop}" - log_warning_msg " start - starts system-wide vncserver service" - log_warning_msg " stop - stops system-wide vncserver service" - exit 1 - ;; -esac - -exit 0 diff --git a/conf/etc/init.d/telecaster-video b/conf/etc/init.d/telecaster-video deleted file mode 100755 index 70203b2..0000000 --- a/conf/etc/init.d/telecaster-video +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: telecaster-video-relay -# Required-Start: -# Required-Stop: -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: init script for the telecaster video relay -### END INIT INFO - - -DAEMON=deefuzzer -USERNAME=telecaster -CONFFILE="/etc/telecaster/deefuzzer/telecaster_webm_monitor.yaml" -LOG=/var/log/telecaster/deefuzzer-video-daemon.log -PIDFILE=/var/run/telecaster-video-relay.pid - -. /lib/lsb/init-functions - -case "$1" in - start) - log_begin_msg "Starting telecaster video streaming relay:" "telecaster" - su -c "$DAEMON $CONFFILE &" $USERNAME - pid=`pgrep -u ${USERNAME} -f "$DAEMON $CONFFILE"` - if [ pid = '' ]; then - log_failure_msg "TeleCaster video daemon can't be started! Check logfile: $LOG" - else - echo $pid > $PIDFILE - fi - ;; - stop) - log_begin_msg "Stopping telecaster video streaming relay:" "telecaster" - pid=`cat $PIDFILE | sed -e 's/\s.*//'|head -n1` - if [ ! pid = '' ]; then - kill -9 $pid - log_end_msg 0 - else - log_end_msg 1 - exit 1 - fi - rm $PIDFILE - ;; - try-restart) - if test -e $PIDFILE ; then - pid=`cat $PIDFILE | sed -e 's/\s.*//'|head -n1` - PIDDIR=/proc/$pid - if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then - $0 restart - exit 0 - fi - fi - test -f /etc/rc`/sbin/runlevel | cut -d' ' -f2`.d/S*vncserver* && $0 start - ;; - - *) - log_warning_msg "Usage: /etc/init.d/telecaster-audio {start|stop}" - log_warning_msg " start - starts system-wide vncserver service" - log_warning_msg " stop - stops system-wide vncserver service" - exit 1 - ;; -esac - -exit 0 diff --git a/conf/etc/init.d/telecaster-vnc b/conf/etc/init.d/telecaster-vnc deleted file mode 100755 index e5d635f..0000000 --- a/conf/etc/init.d/telecaster-vnc +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: vncserver -# Required-Start: -# Required-Stop: -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: init script for the audio vncserver -### END INIT INFO - - -DAEMON=/usr/bin/vncserver -USER= -OPTIONS="" -LOG=/var/log/telecaster/vncserver.log -PIDFILE=/var/run/vncserver.pid -PORT=2 - -test -f /etc/default/telecaster || exit 0 -. /etc/default/telecaster - -VNCHOME=/home/$USER - -if [ ! "x$START_DAEMON" = "xyes" -a ! "$1" = "stop" ]; then - echo "Edit /etc/default/telecaster to start telecaster vncserver" - exit 0 -fi - -test -f $DAEMON || exit 0 - -. /lib/lsb/init-functions - -case "$1" in - start) - log_begin_msg "Starting telecaster streaming vncserver:" "telecaster" - su -c "$DAEMON $OPTIONS :$PORT > $LOG &" $USER - sleep 10 - #su -c "deefuzzer /etc/telecaster/deefuzzer/telecaster_mp3_monitor.yaml > /dev/null &" $USER - #su -c "deefuzzer /etc/telecaster/deefuzzer/telecaster_webm_monitor.yaml > /dev/null &" $USER - pid=`pgrep -u ${USER} vncserver` - if [ pid = '' ]; then - log_failure_msg "TeleCaster daemon can't be started! Check logfile: $LOG" - else - echo $pid > $PIDFILE - fi - - ;; - stop) - log_begin_msg "Stopping telecaster streaming vncserver:" "telecaster" - pid=`cat $PIDFILE | sed -e 's/\s.*//'|head -n1` - if [ ! pid = '' ]; then - #su -c "pkill -9 -f \"/usr/local/bin/deefuzzer /etc/telecaster/deefuzzer/telecaster_mp3_monitor.yaml\" " $USER - #su -c "pkill -9 -f \"/usr/local/bin/deefuzzer /etc/telecaster/deefuzzer/telecaster_webm_monitor.yaml\" " $USER - su -c "pkill -9 -f \"python /usr/local/share/telecaster/scripts/monitor_check.py\" " - su -c "pkill -9 gst-launch-0.10" $USER - sleep 1 - su -c "vncserver -kill :$PORT" $USER - log_end_msg 0 - else - log_end_msg 1 - exit 1 - fi - rm $PIDFILE - ;; - try-restart) - if test -e $PIDFILE ; then - pid=`cat $PIDFILE | sed -e 's/\s.*//'|head -n1` - PIDDIR=/proc/$pid - if [ -d ${PIDDIR} -a "$(readlink -f ${PIDDIR}/exe)" = "${DAEMON}" ]; then - $0 restart - exit 0 - fi - fi - test -f /etc/rc`/sbin/runlevel | cut -d' ' -f2`.d/S*vncserver* && $0 start - ;; - - *) - log_warning_msg "Usage: /etc/init.d/telecaster {start|stop|restart|force-reload|awaken|debug-run}" - log_warning_msg " start - starts system-wide vncserver service" - log_warning_msg " stop - stops system-wide vncserver service" - log_warning_msg " restart, force-reload - starts a new system-wide vncserver service" - log_warning_msg " awaken - tell system-wide vncserver to start a poll cycle immediately" - log_warning_msg " debug-run [strace [strace options...]] - start a debug run of the" - log_warning_msg " system-wide vncserver service, optionally running it under strace" - exit 1 - ;; -esac - -exit 0 diff --git a/conf/home/fluxbox/autostart.sh b/conf/home/fluxbox/autostart.sh deleted file mode 100755 index 2e14cff..0000000 --- a/conf/home/fluxbox/autostart.sh +++ /dev/null @@ -1,156 +0,0 @@ -#!/bin/sh - -# --------------------- -# Audio channel -# --------------------- - -pid=`pgrep jack-rack` - - -if [ ! $pid = "" ]; then - sleep 1 -else - jack-rack -n /etc/telecaster/jack-rack/eq_comp_limit_02.rack > /dev/null & - sleep 3 -fi - -jack_connect system:capture_1 jack_rack:in_1 -jack_connect system:capture_2 jack_rack:in_2 - -qjackctl & - -scripts/tc_audio_mp3_icecast.sh & -#edcast_jack -c /etc/telecaster/edcast_jack_local.cfg -n lamemp3enc -p jack_rack > /dev/null & - -sleep 2 - -# MONO -#jack_connect jack_rack:out_1 lamemp3enc:in_jackaudiosrc0_2 -#jack_connect jack_rack:out_1 system:playback_1 -#jack_connect jack_rack:out_1 system:playback_2 - -# STEREO setup -jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1 -jack_disconnect system:capture_2 gst-launch-0.10:in_jackaudiosrc0_2 - -jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1 -jack_connect jack_rack:out_2 gst-launch-0.10:in_jackaudiosrc0_2 - -#jack_connect jack_rack:out_1 lamemp3enc:in_1 -#jack_connect jack_rack:out_2 lamemp3enc:in_2 -#jack_connect jack_rack:out_1 system:playback_1 -#jack_connect jack_rack:out_2 system:playback_2 - -# 4 channels setup -#jack_connect system:capture_1 jack_rack:in_1 -#jack_connect system:capture_1 jack_rack:in_2 -#jack_connect system:capture_2 jack_rack:in_1 -#jack_connect system:capture_2 jack_rack:in_2 -#jack_connect system:capture_3 jack_rack:in_1 -#jack_connect system:capture_4 jack_rack:in_2 - -# --------------------- -# Video channel -# --------------------- - -scripts/tc_video_simple_webm_stream.sh & - -sleep 2 - -jack_disconnect system:capture_1 gst-launch-0.10-01:in_jackaudiosrc0_1 -jack_disconnect system:capture_2 gst-launch-0.10-01:in_jackaudiosrc0_2 - -jack_connect jack_rack:out_1 gst-launch-0.10-01:in_jackaudiosrc0_1 -jack_connect jack_rack:out_2 gst-launch-0.10-01:in_jackaudiosrc0_2 - -sleep 1 - -#Audio monitor -deefuzzer /etc/telecaster/deefuzzer/telecaster_mp3_monitor.yaml & - -#Video monitor -deefuzzer /etc/telecaster/deefuzzer/telecaster_webm_monitor.yaml & - -sleep 3 - -#Wathdog for trash -python scripts/monitor_check.py 10 /home/telecaster/trash/webm/ smtp.icp.fr informatique@icp.fr alerts@parisson.com & - -#!/bin/sh - -# --------------------- -# Audio channel -# --------------------- - -pid=`pgrep jack-rack` - - -if [ ! $pid = "" ]; then - sleep 1 -else - jack-rack -n /etc/telecaster/jack-rack/eq_comp_limit_02.rack > /dev/null & - sleep 3 -fi - -jack_connect system:capture_1 jack_rack:in_1 -jack_connect system:capture_2 jack_rack:in_2 - -qjackctl & - -scripts/tc_audio_mp3_icecast.sh & -#edcast_jack -c /etc/telecaster/edcast_jack_local.cfg -n lamemp3enc -p jack_rack > /dev/null & - -sleep 2 - -# MONO -#jack_connect jack_rack:out_1 lamemp3enc:in_jackaudiosrc0_2 -#jack_connect jack_rack:out_1 system:playback_1 -#jack_connect jack_rack:out_1 system:playback_2 - -# STEREO setup -jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1 -jack_disconnect system:capture_2 gst-launch-0.10:in_jackaudiosrc0_2 - -jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1 -jack_connect jack_rack:out_2 gst-launch-0.10:in_jackaudiosrc0_2 - -#jack_connect jack_rack:out_1 lamemp3enc:in_1 -#jack_connect jack_rack:out_2 lamemp3enc:in_2 -#jack_connect jack_rack:out_1 system:playback_1 -#jack_connect jack_rack:out_2 system:playback_2 - -# 4 channels setup -#jack_connect system:capture_1 jack_rack:in_1 -#jack_connect system:capture_1 jack_rack:in_2 -#jack_connect system:capture_2 jack_rack:in_1 -#jack_connect system:capture_2 jack_rack:in_2 -#jack_connect system:capture_3 jack_rack:in_1 -#jack_connect system:capture_4 jack_rack:in_2 - -# --------------------- -# Video channel -# --------------------- - -scripts/tc_video_simple_webm_stream.sh & - -sleep 2 - -jack_disconnect system:capture_1 gst-launch-0.10-01:in_jackaudiosrc0_1 -jack_disconnect system:capture_2 gst-launch-0.10-01:in_jackaudiosrc0_2 - -jack_connect jack_rack:out_1 gst-launch-0.10-01:in_jackaudiosrc0_1 -jack_connect jack_rack:out_2 gst-launch-0.10-01:in_jackaudiosrc0_2 - -sleep 1 - -#Audio monitor -deefuzzer /etc/telecaster/deefuzzer/telecaster_mp3_monitor.yaml & - -#Video monitor -deefuzzer /etc/telecaster/deefuzzer/telecaster_webm_monitor.yaml & - -sleep 3 - -#Wathdog for trash -python scripts/monitor_check.py 10 /home/telecaster/trash/webm/ smtp.icp.fr informatique@icp.fr alerts@parisson.com & - diff --git a/conf/home/fluxbox/init b/conf/home/fluxbox/init deleted file mode 100644 index a47c424..0000000 --- a/conf/home/fluxbox/init +++ /dev/null @@ -1,3 +0,0 @@ -session.menuFile: ~/.fluxbox/menu -session.keyFile: ~/.fluxbox/keys -session.configVersion: 13 diff --git a/conf/home/fluxbox/init.ubuntu b/conf/home/fluxbox/init.ubuntu deleted file mode 100644 index 86638e4..0000000 --- a/conf/home/fluxbox/init.ubuntu +++ /dev/null @@ -1,4 +0,0 @@ -session.menuFile: ~/.fluxbox/menu -session.keyFile: ~/.fluxbox/keys -session.configVersion: 11 - diff --git a/conf/home/fluxbox/startup.ubuntu b/conf/home/fluxbox/startup.ubuntu deleted file mode 100644 index af2145a..0000000 --- a/conf/home/fluxbox/startup.ubuntu +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -# -# fluxbox startup-script: -# -# Lines starting with a '#' are ignored. - -# Change your keymap: -xmodmap "/home/telecaster/.Xmodmap" - -# Applications you want to run with fluxbox. -# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE END. -# -# unclutter -idle 2 & -# wmnd & -# wmsmixer -w & -# idesk & - -# And last but not least we start fluxbox. -# Because it is the last app you have to run it with ''exec'' before it. - -fluxbox & -# or if you want to keep a log: -# exec fluxbox -log "/home/telecaster/.fluxbox/log" - -fbpid=$! - -sleep 1 - -{ - -sh ~/.fluxbox/autostart.sh - -} & - -wait $fbpid diff --git a/conf/home/telecaster/.fluxbox/autostart.sh b/conf/home/telecaster/.fluxbox/autostart.sh new file mode 100755 index 0000000..2e14cff --- /dev/null +++ b/conf/home/telecaster/.fluxbox/autostart.sh @@ -0,0 +1,156 @@ +#!/bin/sh + +# --------------------- +# Audio channel +# --------------------- + +pid=`pgrep jack-rack` + + +if [ ! $pid = "" ]; then + sleep 1 +else + jack-rack -n /etc/telecaster/jack-rack/eq_comp_limit_02.rack > /dev/null & + sleep 3 +fi + +jack_connect system:capture_1 jack_rack:in_1 +jack_connect system:capture_2 jack_rack:in_2 + +qjackctl & + +scripts/tc_audio_mp3_icecast.sh & +#edcast_jack -c /etc/telecaster/edcast_jack_local.cfg -n lamemp3enc -p jack_rack > /dev/null & + +sleep 2 + +# MONO +#jack_connect jack_rack:out_1 lamemp3enc:in_jackaudiosrc0_2 +#jack_connect jack_rack:out_1 system:playback_1 +#jack_connect jack_rack:out_1 system:playback_2 + +# STEREO setup +jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1 +jack_disconnect system:capture_2 gst-launch-0.10:in_jackaudiosrc0_2 + +jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1 +jack_connect jack_rack:out_2 gst-launch-0.10:in_jackaudiosrc0_2 + +#jack_connect jack_rack:out_1 lamemp3enc:in_1 +#jack_connect jack_rack:out_2 lamemp3enc:in_2 +#jack_connect jack_rack:out_1 system:playback_1 +#jack_connect jack_rack:out_2 system:playback_2 + +# 4 channels setup +#jack_connect system:capture_1 jack_rack:in_1 +#jack_connect system:capture_1 jack_rack:in_2 +#jack_connect system:capture_2 jack_rack:in_1 +#jack_connect system:capture_2 jack_rack:in_2 +#jack_connect system:capture_3 jack_rack:in_1 +#jack_connect system:capture_4 jack_rack:in_2 + +# --------------------- +# Video channel +# --------------------- + +scripts/tc_video_simple_webm_stream.sh & + +sleep 2 + +jack_disconnect system:capture_1 gst-launch-0.10-01:in_jackaudiosrc0_1 +jack_disconnect system:capture_2 gst-launch-0.10-01:in_jackaudiosrc0_2 + +jack_connect jack_rack:out_1 gst-launch-0.10-01:in_jackaudiosrc0_1 +jack_connect jack_rack:out_2 gst-launch-0.10-01:in_jackaudiosrc0_2 + +sleep 1 + +#Audio monitor +deefuzzer /etc/telecaster/deefuzzer/telecaster_mp3_monitor.yaml & + +#Video monitor +deefuzzer /etc/telecaster/deefuzzer/telecaster_webm_monitor.yaml & + +sleep 3 + +#Wathdog for trash +python scripts/monitor_check.py 10 /home/telecaster/trash/webm/ smtp.icp.fr informatique@icp.fr alerts@parisson.com & + +#!/bin/sh + +# --------------------- +# Audio channel +# --------------------- + +pid=`pgrep jack-rack` + + +if [ ! $pid = "" ]; then + sleep 1 +else + jack-rack -n /etc/telecaster/jack-rack/eq_comp_limit_02.rack > /dev/null & + sleep 3 +fi + +jack_connect system:capture_1 jack_rack:in_1 +jack_connect system:capture_2 jack_rack:in_2 + +qjackctl & + +scripts/tc_audio_mp3_icecast.sh & +#edcast_jack -c /etc/telecaster/edcast_jack_local.cfg -n lamemp3enc -p jack_rack > /dev/null & + +sleep 2 + +# MONO +#jack_connect jack_rack:out_1 lamemp3enc:in_jackaudiosrc0_2 +#jack_connect jack_rack:out_1 system:playback_1 +#jack_connect jack_rack:out_1 system:playback_2 + +# STEREO setup +jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1 +jack_disconnect system:capture_2 gst-launch-0.10:in_jackaudiosrc0_2 + +jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1 +jack_connect jack_rack:out_2 gst-launch-0.10:in_jackaudiosrc0_2 + +#jack_connect jack_rack:out_1 lamemp3enc:in_1 +#jack_connect jack_rack:out_2 lamemp3enc:in_2 +#jack_connect jack_rack:out_1 system:playback_1 +#jack_connect jack_rack:out_2 system:playback_2 + +# 4 channels setup +#jack_connect system:capture_1 jack_rack:in_1 +#jack_connect system:capture_1 jack_rack:in_2 +#jack_connect system:capture_2 jack_rack:in_1 +#jack_connect system:capture_2 jack_rack:in_2 +#jack_connect system:capture_3 jack_rack:in_1 +#jack_connect system:capture_4 jack_rack:in_2 + +# --------------------- +# Video channel +# --------------------- + +scripts/tc_video_simple_webm_stream.sh & + +sleep 2 + +jack_disconnect system:capture_1 gst-launch-0.10-01:in_jackaudiosrc0_1 +jack_disconnect system:capture_2 gst-launch-0.10-01:in_jackaudiosrc0_2 + +jack_connect jack_rack:out_1 gst-launch-0.10-01:in_jackaudiosrc0_1 +jack_connect jack_rack:out_2 gst-launch-0.10-01:in_jackaudiosrc0_2 + +sleep 1 + +#Audio monitor +deefuzzer /etc/telecaster/deefuzzer/telecaster_mp3_monitor.yaml & + +#Video monitor +deefuzzer /etc/telecaster/deefuzzer/telecaster_webm_monitor.yaml & + +sleep 3 + +#Wathdog for trash +python scripts/monitor_check.py 10 /home/telecaster/trash/webm/ smtp.icp.fr informatique@icp.fr alerts@parisson.com & + diff --git a/conf/home/telecaster/.fluxbox/init b/conf/home/telecaster/.fluxbox/init new file mode 100644 index 0000000..a47c424 --- /dev/null +++ b/conf/home/telecaster/.fluxbox/init @@ -0,0 +1,3 @@ +session.menuFile: ~/.fluxbox/menu +session.keyFile: ~/.fluxbox/keys +session.configVersion: 13 diff --git a/conf/home/telecaster/.fluxbox/init.ubuntu b/conf/home/telecaster/.fluxbox/init.ubuntu new file mode 100644 index 0000000..86638e4 --- /dev/null +++ b/conf/home/telecaster/.fluxbox/init.ubuntu @@ -0,0 +1,4 @@ +session.menuFile: ~/.fluxbox/menu +session.keyFile: ~/.fluxbox/keys +session.configVersion: 11 + diff --git a/conf/home/telecaster/.fluxbox/scripts/monitor_check.py b/conf/home/telecaster/.fluxbox/scripts/monitor_check.py new file mode 100644 index 0000000..b78f7b6 --- /dev/null +++ b/conf/home/telecaster/.fluxbox/scripts/monitor_check.py @@ -0,0 +1,75 @@ +import sys, time, logging, socket, datetime +from threading import Thread +from logging.handlers import SMTPHandler + +from watchdog.observers import Observer +from watchdog.events import * + + +IGNORE_PATTERNS = ['*.git/*', '*.swp', '*.swpx', '*~', '*.tmp',] +HOSTNAME = socket.gethostname() +LOG_MAX_PERIOD = 300 + +class EmailLogger(object): + """An email logging class""" + + def __init__(self, mailhost, fromaddr, toaddrs, subject): + self.logger = logging.getLogger('telecaster') + self.hdlr = SMTPHandler(mailhost, fromaddr, toaddrs, subject) + self.formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') + self.hdlr.setFormatter(self.formatter) + self.logger.addHandler(self.hdlr) + self.logger.setLevel(logging.INFO) + + +class ActivityEventHandler(PatternMatchingEventHandler): + + activity = True + + def on_modified(self, event): + super(ActivityEventHandler, self).on_modified(event) + self.activity = True + + +class ActivityCheck(Thread): + + def __init__(self, period, path, mailhost, fromaddr, toaddrs): + Thread.__init__(self) + self.period = int(period) + self.path = path + self.activity = False + self.last_time = datetime.datetime.now() + self.message_sent = False + self.subject = 'WARNING : ' + HOSTNAME + ' : ' + 'telecaster monitor activity' + self.logger = EmailLogger(mailhost, fromaddr, toaddrs, self.subject) + self.event_handler = ActivityEventHandler(ignore_patterns=IGNORE_PATTERNS) + self.observer = Observer() + self.observer.schedule(self.event_handler, path, recursive=True) + self.observer.start() + + def run(self): + while True: + if not self.event_handler.activity: + now = datetime.datetime.now() + delta = now - self.last_time + if delta.total_seconds() > LOG_MAX_PERIOD or not self.message_sent: + self.logger.logger.error('The monitor is NOT recording anymore in ' + self.path + ' ! ') + self.last_time = now + self.message_sent = True + else: + self.event_handler.activity = False + time.sleep(self.period) + + def stop(self): + self.observer.stop() + + +if __name__ == "__main__": + period = sys.argv[1] + path = sys.argv[2] + mailhost = sys.argv[3] + fromaddr = sys.argv[4] + toaddrs = sys.argv[5].split(',') + check = ActivityCheck(period, path, mailhost, fromaddr, toaddrs) + check.start() + check.join() diff --git a/conf/home/telecaster/.fluxbox/scripts/tc_audio_mp3_icecast.sh b/conf/home/telecaster/.fluxbox/scripts/tc_audio_mp3_icecast.sh new file mode 100755 index 0000000..b80c57f --- /dev/null +++ b/conf/home/telecaster/.fluxbox/scripts/tc_audio_mp3_icecast.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +gst-launch jackaudiosrc connect=1 ! audio/x-raw-float, channels=1 \ + ! queue ! audioconvert ! queue ! lamemp3enc quality=4.0 \ + ! queue ! shout2send ip=127.0.0.1 port=8000 password=source2parisson mount=telecaster_live.mp3 + > /dev/null diff --git a/conf/home/telecaster/.fluxbox/scripts/tc_video_simple_webm_stream.sh b/conf/home/telecaster/.fluxbox/scripts/tc_video_simple_webm_stream.sh new file mode 100755 index 0000000..02543fb --- /dev/null +++ b/conf/home/telecaster/.fluxbox/scripts/tc_video_simple_webm_stream.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# Start TeleCaster video channel + +#WIDTH=640 +#HEIGHT=360 +WIDTH=864 +HEIGHT=480 +#WIDTH=1280 +#HEIGHT=720 + +v4l2-ctl -d 0 -c power_line_frequency=1 -c zoom_absolute=140 + +gst-launch v4l2src device=/dev/video0 ! video/x-raw-rgb, width=$WIDTH, height=$HEIGHT, framerate={30/1} \ + ! queue ! videoflip method=rotate-180 \ + ! queue ! ffmpegcolorspace \ + ! queue ! vp8enc speed=2 threads=4 quality=10.0 max-latency=25 max-keyframe-distance=30 auto-alt-ref-frames=true ! queue ! muxout. \ + jackaudiosrc connect=2 ! audio/x-raw-float, channels=2 \ + ! queue ! audioconvert ! queue ! vorbisenc quality=0.4 ! queue ! muxout. \ + webmmux streamable=true name=muxout \ + ! tcpserversink host=127.0.0.1 port=9000 protocol=none blocksize=65536 sync-method=1 \ + > /dev/null diff --git a/conf/home/telecaster/.fluxbox/scripts/telecaster-restart-full b/conf/home/telecaster/.fluxbox/scripts/telecaster-restart-full new file mode 100755 index 0000000..ecc3dc7 --- /dev/null +++ b/conf/home/telecaster/.fluxbox/scripts/telecaster-restart-full @@ -0,0 +1,18 @@ +#!/bin/sh + +sudo /etc/init.d/telecaster-audio stop +sudo /etc/init.d/telecaster-video stop +sudo /etc/init.d/telecaster-vnc stop +sudo /etc/init.d/stream-m stop +sudo /etc/init.d/jackd stop + +sleep 3 + +sudo /etc/init.d/jackd start +sudo /etc/init.d/stream-m start +sudo /etc/init.d/telecaster-vnc start + +sleep 10 + +sudo /etc/init.d/telecaster-audio start +sudo /etc/init.d/telecaster-video start diff --git a/conf/home/telecaster/.fluxbox/startup.ubuntu b/conf/home/telecaster/.fluxbox/startup.ubuntu new file mode 100644 index 0000000..af2145a --- /dev/null +++ b/conf/home/telecaster/.fluxbox/startup.ubuntu @@ -0,0 +1,35 @@ +#!/bin/sh +# +# fluxbox startup-script: +# +# Lines starting with a '#' are ignored. + +# Change your keymap: +xmodmap "/home/telecaster/.Xmodmap" + +# Applications you want to run with fluxbox. +# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE END. +# +# unclutter -idle 2 & +# wmnd & +# wmsmixer -w & +# idesk & + +# And last but not least we start fluxbox. +# Because it is the last app you have to run it with ''exec'' before it. + +fluxbox & +# or if you want to keep a log: +# exec fluxbox -log "/home/telecaster/.fluxbox/log" + +fbpid=$! + +sleep 1 + +{ + +sh ~/.fluxbox/autostart.sh + +} & + +wait $fbpid diff --git a/conf/home/telecaster/.vnc/xstartup b/conf/home/telecaster/.vnc/xstartup new file mode 100755 index 0000000..ce84087 --- /dev/null +++ b/conf/home/telecaster/.vnc/xstartup @@ -0,0 +1,16 @@ +#!/bin/sh + +# Uncomment the following two lines for normal desktop: +# unset SESSION_MANAGER +# exec /etc/X11/xinit/xinitrc + +[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup +[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources +xsetroot -solid grey +#xset s 0 +vncconfig -iconic & +#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & +#x-window-manager & +#jackd -R -dalsa -r44100 -p2048 -n4 -D -Chw:0,1 -Phw:0,1 -S & +startfluxbox & + diff --git a/conf/home/telecaster/media/mp3/silence.mp3 b/conf/home/telecaster/media/mp3/silence.mp3 new file mode 100644 index 0000000..17538c9 Binary files /dev/null and b/conf/home/telecaster/media/mp3/silence.mp3 differ diff --git a/conf/home/telecaster/media/ogg/silence.ogg b/conf/home/telecaster/media/ogg/silence.ogg new file mode 100644 index 0000000..5cfaddf Binary files /dev/null and b/conf/home/telecaster/media/ogg/silence.ogg differ diff --git a/conf/home/vnc/xstartup b/conf/home/vnc/xstartup deleted file mode 100755 index ce84087..0000000 --- a/conf/home/vnc/xstartup +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -# Uncomment the following two lines for normal desktop: -# unset SESSION_MANAGER -# exec /etc/X11/xinit/xinitrc - -[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup -[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources -xsetroot -solid grey -#xset s 0 -vncconfig -iconic & -#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & -#x-window-manager & -#jackd -R -dalsa -r44100 -p2048 -n4 -D -Chw:0,1 -Phw:0,1 -S & -startfluxbox & - diff --git a/conf/usr/local/bin/telecaster-restart b/conf/usr/local/bin/telecaster-restart deleted file mode 100755 index 00ac9bb..0000000 --- a/conf/usr/local/bin/telecaster-restart +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -sudo /etc/init.d/telecaster-audio stop -sudo /etc/init.d/telecaster-video stop -sudo /etc/init.d/telecaster-vnc stop -sudo /etc/init.d/stream-m stop - -sleep 3 - -sudo /etc/init.d/stream-m start -sudo /etc/init.d/telecaster-vnc start - -sleep 10 - -sudo /etc/init.d/telecaster-audio start -sudo /etc/init.d/telecaster-video start diff --git a/conf/usr/local/bin/telecaster-restart-full b/conf/usr/local/bin/telecaster-restart-full deleted file mode 100755 index ecc3dc7..0000000 --- a/conf/usr/local/bin/telecaster-restart-full +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -sudo /etc/init.d/telecaster-audio stop -sudo /etc/init.d/telecaster-video stop -sudo /etc/init.d/telecaster-vnc stop -sudo /etc/init.d/stream-m stop -sudo /etc/init.d/jackd stop - -sleep 3 - -sudo /etc/init.d/jackd start -sudo /etc/init.d/stream-m start -sudo /etc/init.d/telecaster-vnc start - -sleep 10 - -sudo /etc/init.d/telecaster-audio start -sudo /etc/init.d/telecaster-video start diff --git a/conf/usr/local/share/telecaster/media/mp3/silence.mp3 b/conf/usr/local/share/telecaster/media/mp3/silence.mp3 deleted file mode 100644 index 17538c9..0000000 Binary files a/conf/usr/local/share/telecaster/media/mp3/silence.mp3 and /dev/null differ diff --git a/conf/usr/local/share/telecaster/media/ogg/silence.ogg b/conf/usr/local/share/telecaster/media/ogg/silence.ogg deleted file mode 100644 index 5cfaddf..0000000 Binary files a/conf/usr/local/share/telecaster/media/ogg/silence.ogg and /dev/null differ diff --git a/conf/usr/local/share/telecaster/scripts/monitor_check.py b/conf/usr/local/share/telecaster/scripts/monitor_check.py deleted file mode 100644 index b78f7b6..0000000 --- a/conf/usr/local/share/telecaster/scripts/monitor_check.py +++ /dev/null @@ -1,75 +0,0 @@ -import sys, time, logging, socket, datetime -from threading import Thread -from logging.handlers import SMTPHandler - -from watchdog.observers import Observer -from watchdog.events import * - - -IGNORE_PATTERNS = ['*.git/*', '*.swp', '*.swpx', '*~', '*.tmp',] -HOSTNAME = socket.gethostname() -LOG_MAX_PERIOD = 300 - -class EmailLogger(object): - """An email logging class""" - - def __init__(self, mailhost, fromaddr, toaddrs, subject): - self.logger = logging.getLogger('telecaster') - self.hdlr = SMTPHandler(mailhost, fromaddr, toaddrs, subject) - self.formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') - self.hdlr.setFormatter(self.formatter) - self.logger.addHandler(self.hdlr) - self.logger.setLevel(logging.INFO) - - -class ActivityEventHandler(PatternMatchingEventHandler): - - activity = True - - def on_modified(self, event): - super(ActivityEventHandler, self).on_modified(event) - self.activity = True - - -class ActivityCheck(Thread): - - def __init__(self, period, path, mailhost, fromaddr, toaddrs): - Thread.__init__(self) - self.period = int(period) - self.path = path - self.activity = False - self.last_time = datetime.datetime.now() - self.message_sent = False - self.subject = 'WARNING : ' + HOSTNAME + ' : ' + 'telecaster monitor activity' - self.logger = EmailLogger(mailhost, fromaddr, toaddrs, self.subject) - self.event_handler = ActivityEventHandler(ignore_patterns=IGNORE_PATTERNS) - self.observer = Observer() - self.observer.schedule(self.event_handler, path, recursive=True) - self.observer.start() - - def run(self): - while True: - if not self.event_handler.activity: - now = datetime.datetime.now() - delta = now - self.last_time - if delta.total_seconds() > LOG_MAX_PERIOD or not self.message_sent: - self.logger.logger.error('The monitor is NOT recording anymore in ' + self.path + ' ! ') - self.last_time = now - self.message_sent = True - else: - self.event_handler.activity = False - time.sleep(self.period) - - def stop(self): - self.observer.stop() - - -if __name__ == "__main__": - period = sys.argv[1] - path = sys.argv[2] - mailhost = sys.argv[3] - fromaddr = sys.argv[4] - toaddrs = sys.argv[5].split(',') - check = ActivityCheck(period, path, mailhost, fromaddr, toaddrs) - check.start() - check.join() diff --git a/conf/usr/local/share/telecaster/scripts/tc_audio_mp3_icecast.sh b/conf/usr/local/share/telecaster/scripts/tc_audio_mp3_icecast.sh deleted file mode 100755 index b80c57f..0000000 --- a/conf/usr/local/share/telecaster/scripts/tc_audio_mp3_icecast.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -gst-launch jackaudiosrc connect=1 ! audio/x-raw-float, channels=1 \ - ! queue ! audioconvert ! queue ! lamemp3enc quality=4.0 \ - ! queue ! shout2send ip=127.0.0.1 port=8000 password=source2parisson mount=telecaster_live.mp3 - > /dev/null diff --git a/conf/usr/local/share/telecaster/scripts/tc_video_simple_webm_stream.sh b/conf/usr/local/share/telecaster/scripts/tc_video_simple_webm_stream.sh deleted file mode 100755 index 02543fb..0000000 --- a/conf/usr/local/share/telecaster/scripts/tc_video_simple_webm_stream.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -# Start TeleCaster video channel - -#WIDTH=640 -#HEIGHT=360 -WIDTH=864 -HEIGHT=480 -#WIDTH=1280 -#HEIGHT=720 - -v4l2-ctl -d 0 -c power_line_frequency=1 -c zoom_absolute=140 - -gst-launch v4l2src device=/dev/video0 ! video/x-raw-rgb, width=$WIDTH, height=$HEIGHT, framerate={30/1} \ - ! queue ! videoflip method=rotate-180 \ - ! queue ! ffmpegcolorspace \ - ! queue ! vp8enc speed=2 threads=4 quality=10.0 max-latency=25 max-keyframe-distance=30 auto-alt-ref-frames=true ! queue ! muxout. \ - jackaudiosrc connect=2 ! audio/x-raw-float, channels=2 \ - ! queue ! audioconvert ! queue ! vorbisenc quality=0.4 ! queue ! muxout. \ - webmmux streamable=true name=muxout \ - ! tcpserversink host=127.0.0.1 port=9000 protocol=none blocksize=65536 sync-method=1 \ - > /dev/null diff --git a/doc/compile_gst.txt b/doc/compile_gst.txt new file mode 100644 index 0000000..f7c2206 --- /dev/null +++ b/doc/compile_gst.txt @@ -0,0 +1,19 @@ +Compile Gstreamer from Debian packages for backport +===================================================== + +libvpx-1.3.0$ ./configure --enable-shared + + + +sudo apt-get build-dep -t wheezy-backports gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav + + +apt-get source gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gir1.2-gstreamer-1.0 gstreamer1.0-tools + +sudo apt-get purge gstreamer1.0-doc gstreamer1.0-libav gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-base-doc gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools gstreamer1.0-x libgstreamer1.0-0 libgstreamer1.0-dev gstreamer1.0-libav + +./configure +make -j4 +sudo make install +sudo ldconfig + diff --git a/install.py b/install.py index b31eaaf..ae59474 100644 --- a/install.py +++ b/install.py @@ -51,6 +51,8 @@ def cleanup(path): shutil.rmtree(root + os.sep + dir) class Install(object): + """Live audio and video recording and streaming system based on Gstreamer, + JACK, Vncserver and Fluxbox""" def __init__(self, options): self.options = options @@ -78,6 +80,15 @@ class Install(object): os.system('chown -R ' + self.user + ':' + self.user + ' ' + dir) def install_deps(self): + os.system("""sudo aptitude install python python-dev python-xml python-libxml2 python-pip \ + python-setuptools python-twitter python-liblo python-mutagen \ + icecast2 apache2 apache2-suexec jackd libjack-dev vorbis-tools procps meterbridge fluxbox \ + vnc4server vncviewer swh-plugins jack-rack libshout3 libshout3-dev libmad0-dev libogg-dev \ + g++ python-yaml swatch""") + + # Install DeeFuzzer + os.system("pip install deefuzzer") + # Install Stream-m os.chdir(self.app_dir) os.system('cp -ra lib/stream-m /usr/local/lib/') @@ -94,7 +105,7 @@ class Install(object): self.chown(conf_dir) for dir in os.listdir('conf/home'): - home_dir = self.home + '/.' + dir + home_dir = self.home + dir if not os.path.exists(home_dir): os.makedirs(home_dir) os.system('cp -r conf/home/'+dir + '/* ' + home_dir) @@ -124,7 +135,7 @@ class Install(object): os.system('cp -ra conf/usr/* /usr/') os.system('cp -ra conf/etc/init.d/* /etc/init.d/') - + os.system('sudo update-rc.d -f jackd remove') os.system('sudo update-rc.d -f stream-m remove') os.system('sudo update-rc.d -f vncserver remove') @@ -133,8 +144,6 @@ class Install(object): os.system('update-rc.d jackd defaults 30 30') os.system('update-rc.d stream-m defaults 20 20') os.system('update-rc.d telecaster-vnc defaults 80 15') - os.system('update-rc.d telecaster-video defaults 81 14') - os.system('update-rc.d telecaster-audio defaults 82 13') os.system('chmod 777 ' + self.m3u_dir) os.system('chmod 666 ' + self.m3u_dir + '/*') @@ -143,7 +152,7 @@ class Install(object): os.system('chmod 775 ' + self.log_dir) os.system('sudo adduser www-data telecaster') - + def run(self): if self.options['keepinit'] == False: print 'Installing init files...' @@ -176,12 +185,7 @@ def run(): Installation successfull ! Now, please : - - configure your telecaster editing: - /etc/telecaster/telecaster.xml - /etc/telecaster/deefuzzer.xml - - configure your apache VirtualHost editing /etc/apache2/sites-available/telecaster.conf - - tune your audio and video servers and REBOOT! See README for more infos. diff --git a/media/silence_mono.mp3 b/media/silence_mono.mp3 deleted file mode 100644 index b951496..0000000 Binary files a/media/silence_mono.mp3 and /dev/null differ diff --git a/media/silence_mono.ogg b/media/silence_mono.ogg deleted file mode 100644 index 8647f38..0000000 Binary files a/media/silence_mono.ogg and /dev/null differ diff --git a/setup.py b/setup.py deleted file mode 100644 index f310ad1..0000000 --- a/setup.py +++ /dev/null @@ -1,28 +0,0 @@ -# -*- coding: utf-8 -*- -from setuptools import setup, find_packages - -CLASSIFIERS = ['Environment :: Web Environment', 'Framework :: Django', 'Intended Audience :: Science/Research', 'Intended Audience :: Education', 'Programming Language :: Python', 'Programming Language :: JavaScript', 'Topic :: Internet :: WWW/HTTP :: Dynamic Content', 'Topic :: Internet :: WWW/HTTP :: WSGI :: Application', 'Topic :: Multimedia :: Sound/Audio', 'Topic :: Multimedia :: Sound/Audio :: Analysis', 'Topic :: Multimedia :: Sound/Audio :: Players', 'Topic :: Scientific/Engineering :: Information Analysis', 'Topic :: System :: Archiving', ] - -setup( - name = "telecaster-server", - url = "https://github.com/yomguy/telecaster-server", - description = "Live audio and video recording and streaming system based on Gstreamer, JACK, Vncserver and Fluxbox", - long_description = open('README.rst').read(), - author = "Guillaume Pellerin", - author_email = "yomguy@parisson.com", - version = '0.8', - install_requires = [ - 'deefuzzer', - ], - platforms=['OS Independent'], - license='CeCILL v2', - classifiers = CLASSIFIERS, - packages = find_packages(), - include_package_data = True, - zip_safe = False, -) - -import tcserver -tcserver.install.run() - -