TeleCaster is a web controlled audio/video recording and broadcasting system.
+
It is written in python and freely available for Linux.
ARCHITECTURE
============
+
Build and install well on Debian (>= Lenny) or Ubuntu/Kubuntu (>= 10.10)
==========
GitHub: https://github.com/yomguy/TeleCaster-CGI
+
Twitter : @parisson_studio
-INSTALL TeleCaster
-==================
+INSTALLATION
+=============
1. Operating System
--------------------
TeleCaster now only works on GNU/Linux systems. The installer and the following instructions
-are based on Debian like software management so that it should work on Debian (>= Lenny)
+are based on Debian like software management so that it should work on Debian (>= Lenny)
or Ubuntu / Kubuntu (>= 10.4). So please install one of these OS before.
sudo aptitude update
- sudo aptitude install python python-dev python-xml python-libxml2 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++
-
-Warning: on Debian Squeeze or recent Ubuntu, change libjack-dev to libjack-jackd2-dev
+ sudo aptitude install python python-dev python-libxml2 python-setuptools python-twitter python-liblo python-mutagen \
+ icecast2 apache2 apache2-suexec jackd libjack-jackd2-dev vorbis-tools procps meterbridge fluxbox \
+ vnc4server vncviewer swh-plugins jack-rack libshout3 libshout3-dev libmad0-dev libogg-dev g++ \
+ libgstreamer0.10-0 gstreamer0.10-plugins-good gstreamer0.10-plugins-base gstreamer0.10-plugins-bad \
+ gstreamer-tools git-core python-pip
Optional::
- sudo aptitude install libfaac-dev libmp3lame-dev libflac-dev
+ sudo aptitude remove --purge pulseaudio
+ sudo aptitude install libfaac-dev libmp3lame-dev libflac-dev
Note that obtaining and installing a preempt RT kernel is STRONGLY advised to get a good audio (JACK) stability.
Moreover, edit the pam conf file to get RT "su" pam limits at boot::
-
+
sudo vi /etc/pam.d/su
-
+
Uncomment::
-
+
session required pam_limits.so
3. Install TeleCaster
----------------------
-Untar the archive. For example::
-
- tar xzf telecaster-0.5.tar.gz
-
-Run the install script::
-
- cd telecaster-0.5/
+Get the source code with Git::
+
+ git clone https://github.com/yomguy/TeleCaster-CGI
+
+and run the install script::
+
+ cd TeleCaster-CGI
sudo python install.py
5. Start audio deamons
------------------------
-Just reboot your machine or start the deamons manually::
+Just reboot your machine or start the deamons manually::
sudo /etc/init.d/jackd start
sudo /etc/init.d/vncserver start
Configure your apache VirtualHost editing /etc/apache2/sites-available/telecaster.conf
Enable the VirtualHost::
-
+
sudo a2ensite telecaster.conf
-
+
Maybe remove the default VirtualHost::
-
+
sudo rm /etc/apache2/sites-enabled/000-default
Reload Apache::
sudo /etc/init.d/apache2 reload
-7. Usage
+7. Usage
----------
Browse the TeleCaster web control page:
Fill in the form and start any free recording and broadcasting stream !
To change the form options, just edit the conf file as root::
-
+
sudo vi /etc/telecaster/telecaster.xml
-
-8. Contact
-------------
+Contact
+=========
Any questions, suggestions ? Please post a ticket on the dev platform:
-
+
https://github.com/yomguy/TeleCaster-CGI
or contact the main developer:
app_dir = os.getcwd()
-user = 'telecaster'
+user = 'telecaster'
home = '/home/' + user
if not os.path.exists(home):
print 'Please give some informations for the new "telecaster" user :'
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):
for daemon in daemons:
path = dir + daemon
shutil.copy('conf'+path, dir)
-
+
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.symlink('/etc/init.d/jackd ', init_link)
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)
+ 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)
-
+ 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)
for dir in log_dirs:
if not os.path.exists(dir):
os.mkdir(dir)
- os.system('chown -R ' + user + ':' + user + ' ' + 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
+ - 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.
"""