From: Guillaume Pellerin Date: Sun, 14 Jul 2013 13:59:20 +0000 (+0200) Subject: * rename confs X-Git-Tag: 1.0~15^2~7 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=d6a000b21447b1bc91cf233a63f78c1d59f84e32;p=telecaster-server.git * rename confs * goto yaml * reorganize scripts * update install --- diff --git a/tcserver/conf/etc/stream-m/server.conf b/tcserver/conf/etc/stream-m/server.conf index fa940e9..76f88bc 100644 --- a/tcserver/conf/etc/stream-m/server.conf +++ b/tcserver/conf/etc/stream-m/server.conf @@ -12,6 +12,10 @@ streams.safe=true streams.safe.password=source2parisson streams.safe.limit=100 +streams.monitor=true +streams.monitor.password=source2parisson +streams.monitor.limit=100 + streams.crfpa-methodologie-aux-epreuves-juridiques-cours=true streams.crfpa-methodologie-aux-epreuves-juridiques-cours.password=source2parisson streams.crfpa-methodologie-aux-epreuves-juridiques-cours.limit=1000 @@ -219,3 +223,220 @@ streams.crfpa-x-cours.limit=1000 streams.crfpa-x-corrections=true streams.crfpa-x-corrections.password=source2parisson streams.crfpa-x-corrections.limit=1000 + +streams.crfpa-informations-cours=true +streams.crfpa-informations-cours.password=source2parisson +streams.crfpa-informations-cours.limit=1000 + +streams.crfpa-informations-corrections=true +streams.crfpa-informations-corrections.password=source2parisson +streams.crfpa-informations-corrections.limit=1000 + +streams.crfpa-methodo_ej-cours=true +streams.crfpa-methodo_ej-cours.password=source2parisson +streams.crfpa-methodo_ej-cours.limit=1000 + +streams.crfpa-methodo_ej-corrections=true +streams.crfpa-methodo_ej-corrections.password=source2parisson +streams.crfpa-methodo_ej-corrections.limit=1000 + +streams.crfpa-methodo_ns-cours=true +streams.crfpa-methodo_ns-cours.password=source2parisson +streams.crfpa-methodo_ns-cours.limit=1000 + +streams.crfpa-methodo_ns-corrections=true +streams.crfpa-methodo_ns-corrections.password=source2parisson +streams.crfpa-methodo_ns-corrections.limit=1000 + +streams.crfpa-ns-cours=true +streams.crfpa-ns-cours.password=source2parisson +streams.crfpa-ns-cours.limit=1000 + +streams.crfpa-ns-corrections=true +streams.crfpa-ns-corrections.password=source2parisson +streams.crfpa-ns-corrections.limit=1000 + +streams.crfpa-ob-cours=true +streams.crfpa-ob-cours.password=source2parisson +streams.crfpa-ob-cours.limit=1000 + +streams.crfpa-ob-corrections=true +streams.crfpa-ob-corrections.password=source2parisson +streams.crfpa-ob-corrections.limit=1000 + +streams.crfpa-pac-cours=true +streams.crfpa-pac-cours.password=source2parisson +streams.crfpa-pac-cours.limit=1000 + +streams.crfpa-pac-corrections=true +streams.crfpa-pac-corrections.password=source2parisson +streams.crfpa-pac-corrections.limit=1000 + +streams.crfpa-pc-cours=true +streams.crfpa-pc-cours.password=source2parisson +streams.crfpa-pc-cours.limit=1000 + +streams.crfpa-pc-corrections=true +streams.crfpa-pc-corrections.password=source2parisson +streams.crfpa-pc-corrections.limit=1000 + +streams.crfpa-pp-cours=true +streams.crfpa-pp-cours.password=source2parisson +streams.crfpa-pp-cours.limit=1000 + +streams.crfpa-pp-corrections=true +streams.crfpa-pp-corrections.password=source2parisson +streams.crfpa-pp-corrections.limit=1000 + +streams.crfpa-da-cours=true +streams.crfpa-da-cours.password=source2parisson +streams.crfpa-da-cours.limit=1000 + +streams.crfpa-da-corrections=true +streams.crfpa-da-corrections.password=source2parisson +streams.crfpa-da-corrections.limit=1000 + +streams.crfpa-ccial-cours=true +streams.crfpa-ccial-cours.password=source2parisson +streams.crfpa-ccial-cours.limit=1000 + +streams.crfpa-ccial-corrections=true +streams.crfpa-ccial-corrections.password=source2parisson +streams.crfpa-ccial-corrections.limit=1000 + +streams.crfpa-ue-cours=true +streams.crfpa-ue-cours.password=source2parisson +streams.crfpa-ue-cours.limit=1000 + +streams.crfpa-ue-corrections=true +streams.crfpa-ue-corrections.password=source2parisson +streams.crfpa-ue-corrections.limit=1000 + +streams.crfpa-famille-cours=true +streams.crfpa-famille-cours.password=source2parisson +streams.crfpa-famille-cours.limit=1000 + +streams.crfpa-famille-corrections=true +streams.crfpa-famille-corrections.password=source2parisson +streams.crfpa-famille-corrections.limit=1000 + +streams.crfpa-fiscal-cours=true +streams.crfpa-fiscal-cours.password=source2parisson +streams.crfpa-fiscal-cours.limit=1000 + +streams.crfpa-fiscal-corrections=true +streams.crfpa-fiscal-corrections.password=source2parisson +streams.crfpa-fiscal-corrections.limit=1000 + +streams.crfpa-dip-cours=true +streams.crfpa-dip-cours.password=source2parisson +streams.crfpa-dip-cours.limit=1000 + +streams.crfpa-dip-corrections=true +streams.crfpa-dip-corrections.password=source2parisson +streams.crfpa-dip-corrections.limit=1000 + +streams.crfpa-patrimonial-cours=true +streams.crfpa-patrimonial-cours.password=source2parisson +streams.crfpa-patrimonial-cours.limit=1000 + +streams.crfpa-patrimonial-corrections=true +streams.crfpa-patrimonial-corrections.password=source2parisson +streams.crfpa-patrimonial-corrections.limit=1000 + +streams.crfpa-penal-cours=true +streams.crfpa-penal-cours.password=source2parisson +streams.crfpa-penal-cours.limit=1000 + +streams.crfpa-penal-corrections=true +streams.crfpa-penal-corrections.password=source2parisson +streams.crfpa-penal-corrections.limit=1000 + +streams.crfpa-dpae-cours=true +streams.crfpa-dpae-cours.password=source2parisson +streams.crfpa-dpae-cours.limit=1000 + +streams.crfpa-dpae-corrections=true +streams.crfpa-dpae-corrections.password=source2parisson +streams.crfpa-dpae-corrections.limit=1000 + +streams.crfpa-procoll-cours=true +streams.crfpa-procoll-cours.password=source2parisson +streams.crfpa-procoll-cours.limit=1000 + +streams.crfpa-procoll-corrections=true +streams.crfpa-procoll-corrections.password=source2parisson +streams.crfpa-procoll-corrections.limit=1000 + +streams.crfpa-travail-cours=true +streams.crfpa-travail-cours.password=source2parisson +streams.crfpa-travail-cours.limit=1000 + +streams.crfpa-travail-corrections=true +streams.crfpa-travail-corrections.password=source2parisson +streams.crfpa-travail-corrections.limit=1000 + +streams.crfpa-libertes-cours=true +streams.crfpa-libertes-cours.password=source2parisson +streams.crfpa-libertes-cours.limit=1000 + +streams.crfpa-libertes-corrections=true +streams.crfpa-libertes-corrections.password=source2parisson +streams.crfpa-libertes-corrections.limit=1000 + +streams.crfpa-proc_ctaire-cours=true +streams.crfpa-proc_ctaire-cours.password=source2parisson +streams.crfpa-proc_ctaire-cours.limit=1000 + +streams.crfpa-proc_ctaire-corrections=true +streams.crfpa-proc_ctaire-corrections.password=source2parisson +streams.crfpa-proc_ctaire-corrections.limit=1000 + +streams.crfpa-voies_d_ex-cours=true +streams.crfpa-voies_d_ex-cours.password=source2parisson +streams.crfpa-voies_d_ex-cours.limit=1000 + +streams.crfpa-voies_d_ex-corrections=true +streams.crfpa-voies_d_ex-corrections.password=source2parisson +streams.crfpa-voies_d_ex-corrections.limit=1000 + +streams.crfpa-compta-cours=true +streams.crfpa-compta-cours.password=source2parisson +streams.crfpa-compta-cours.limit=1000 + +streams.crfpa-compta-corrections=true +streams.crfpa-compta-corrections.password=source2parisson +streams.crfpa-compta-corrections.limit=1000 + +streams.crfpa-finances-cours=true +streams.crfpa-finances-cours.password=source2parisson +streams.crfpa-finances-cours.limit=1000 + +streams.crfpa-finances-corrections=true +streams.crfpa-finances-corrections.password=source2parisson +streams.crfpa-finances-corrections.limit=1000 + +streams.crfpa-actu_sept-cours=true +streams.crfpa-actu_sept-cours.password=source2parisson +streams.crfpa-actu_sept-cours.limit=1000 + +streams.crfpa-actu_sept-corrections=true +streams.crfpa-actu_sept-corrections.password=source2parisson +streams.crfpa-actu_sept-corrections.limit=1000 + +streams.crfpa-bilan_formation-cours=true +streams.crfpa-bilan_formation-cours.password=source2parisson +streams.crfpa-bilan_formation-cours.limit=1000 + +streams.crfpa-bilan_formation-corrections=true +streams.crfpa-bilan_formation-corrections.password=source2parisson +streams.crfpa-bilan_formation-corrections.limit=1000 + +streams.crfpa-x-cours=true +streams.crfpa-x-cours.password=source2parisson +streams.crfpa-x-cours.limit=1000 + +streams.crfpa-x-corrections=true +streams.crfpa-x-corrections.password=source2parisson +streams.crfpa-x-corrections.limit=1000 + diff --git a/tcserver/conf/etc/telecaster/telecaster_audio_monitor.yaml b/tcserver/conf/etc/telecaster/telecaster_audio_monitor.yaml deleted file mode 100644 index 0e45d94..0000000 --- a/tcserver/conf/etc/telecaster/telecaster_audio_monitor.yaml +++ /dev/null @@ -1,25 +0,0 @@ -deefuzzer: - log: /var/log/telecaster/telecaster_audio_monitor.log - m3u: /var/www/m3u/telecaster_audio_monitor.m3u - station: - control: {mode: 0, port: 1236} - infos: {description: TeleCaster MP3 monitor, - genre: Vocal, - name: telecaster_mp3_monitor, - url: 'http://parisson.com.com'} - jingles: {dir: /path/to/jingles, mode: 0, shuffle: 1} - media: {bitrate: 96, - dir: /home/telecaster/media/mp3, - format: mp3, ogg_quality: 4, - samplerate: 48000, shuffle: 0, voices: '2'} - record: {dir: /home/telecaster/trash/mp3, mode: 1} - relay: {author: Inconnu, mode: 1, - url: 'http://127.0.0.1:8000/telecaster_live.mp3'} - rss: {dir: /var/www/rss, enclosure: 0, - media_url: 'http://my.domain.com/rss/'} - server: {host: 127.0.0.1, mountpoint: telecaster_mp3_monitor, - port: 8000, public: 0, - sourcepassword: source2parisson, type: icecast} - twitter: {key: 76728330-OjKgbHtn4II86Ad7pNUGEzfNAkGTW5Wvw38qUmLE, - mode: 0, secret: 4egZs1dSM37XVY8zXa016Yueku2fleXF2bx8k25V4, - tags: bla bla} diff --git a/tcserver/conf/etc/telecaster/telecaster_mp3_monitor.yaml b/tcserver/conf/etc/telecaster/telecaster_mp3_monitor.yaml new file mode 100644 index 0000000..c69d48c --- /dev/null +++ b/tcserver/conf/etc/telecaster/telecaster_mp3_monitor.yaml @@ -0,0 +1,25 @@ +deefuzzer: + log: /var/log/telecaster/telecaster_audio_monitor.log + m3u: /var/www/m3u/telecaster_audio_monitor.m3u + station: + control: {mode: 0, port: 16001} + infos: {description: TeleCaster MP3 monitor, + genre: Vocal, + name: telecaster_mp3_monitor, + url: 'http://parisson.com.com'} + jingles: {dir: /path/to/jingles, mode: 0, shuffle: 1} + media: {bitrate: 96, + dir: /home/telecaster/media/mp3, + format: mp3, ogg_quality: 4, + samplerate: 48000, shuffle: 0, voices: '2'} + record: {dir: /home/telecaster/trash/mp3, mode: 1} + relay: {author: Inconnu, mode: 1, + url: 'http://127.0.0.1:8000/telecaster_live.mp3'} + rss: {dir: /var/www/rss, enclosure: 0, + media_url: 'http://localhost/rss/'} + server: {host: 127.0.0.1, mountpoint: telecaster_mp3_monitor, + port: 8000, public: 0, + sourcepassword: source2parisson, type: icecast} + twitter: {key: 76728330-OjKgbHtn4II86Ad7pNUGEzfNAkGTW5Wvw38qUmLE, + mode: 0, secret: 4egZs1dSM37XVY8zXa016Yueku2fleXF2bx8k25V4, + tags: bla bla} diff --git a/tcserver/conf/etc/telecaster/telecaster_webm_monitor.yaml b/tcserver/conf/etc/telecaster/telecaster_webm_monitor.yaml new file mode 100644 index 0000000..1df5cee --- /dev/null +++ b/tcserver/conf/etc/telecaster/telecaster_webm_monitor.yaml @@ -0,0 +1,17 @@ +deefuzzer: + log: /var/log/deefuzzer/telecaster_video_safe.log + m3u: /var/www/m3u/telecaster_video_safe.m3u + station: + control: {mode: '0', port: '16002'} + infos: {description: TeleCaster safe video stream, genre: Vocal, name: safe, short_name: safe, + url: 'http://parisson.com.com'} + jingles: {dir: /path/to/jingles, mode: '0', shuffle: '1'} + media: {bitrate: '64', dir: /home/telecaster/media/webm, format: webm, ogg_quality: '4', + samplerate: '48000', shuffle: '0', voices: '1'} + record: {dir: /home/telecaster/trash/webm, mode: '1'} + relay: {author: TeleCaster, mode: '1', url: 'http://127.0.0.1:9000/'} + rss: {dir: /var/www/rss, enclosure: '0', media_url: 'http://my.domain.com/rss/'} + server: {host: 127.0.0.1, port: '8080', public: '0', sourcepassword: source2parisson, + type: stream-m} + twitter: {key: 76728330-OjKgbHtn4II86Ad7pNUGEzfNAkGTW5Wvw38qUmLE, mode: '0', secret: 4egZs1dSM37XVY8zXa016Yueku2fleXF2bx8k25V4, + tags: bla bla} diff --git a/tcserver/conf/home/fluxbox/tc_audio_start.sh b/tcserver/conf/home/fluxbox/tc_audio_start.sh index 08ab71b..59a7c31 100755 --- a/tcserver/conf/home/fluxbox/tc_audio_start.sh +++ b/tcserver/conf/home/fluxbox/tc_audio_start.sh @@ -15,7 +15,7 @@ fi qjackctl & -telecaster/tc_audio_mp3.sh & +/usr/local/share/telecaster/scripts/tc_audio_mp3_icecast.sh & #edcast_jack -c /etc/telecaster/edcast_jack_local.cfg -n lamemp3enc -p jack_rack > /dev/null & sleep 3 @@ -34,4 +34,4 @@ jack_connect jack_rack:out_1 lamemp3enc:in_2 #jack_connect jack_rack:out_2 system:playback_2 # Start safe DeeFuzzer -deefuzzer /etc/telecaster/deefuzzer_audio_safe.xml > /dev/null & +deefuzzer /etc/telecaster/telecaster_mp3_monitor.yaml > /dev/null & diff --git a/tcserver/conf/home/fluxbox/tc_video_start.sh b/tcserver/conf/home/fluxbox/tc_video_start.sh index bdac632..f313342 100755 --- a/tcserver/conf/home/fluxbox/tc_video_start.sh +++ b/tcserver/conf/home/fluxbox/tc_video_start.sh @@ -2,11 +2,11 @@ # Start TeleCaster video channel -telecaster/tc_video_simple_webm_stream.sh > /dev/null & +/usr/local/share/telecaster/scripts/telecaster/tc_video_simple_webm_stream.sh & sleep 3 jack_disconnect system:capture_1 webmenc:in_jackaudiosrc0_1 jack_connect jack_rack:out_1 webmenc:in_jackaudiosrc0_1 -deefuzzer /etc/telecaster/deefuzzer_video_safe.xml > /dev/null & +deefuzzer /etc/telecaster/telecaster_webm_monitor.yaml > /dev/null & diff --git a/tcserver/conf/home/fluxbox/telecaster/ffmpeg_dv_jack_fifo_shout b/tcserver/conf/home/fluxbox/telecaster/ffmpeg_dv_jack_fifo_shout deleted file mode 100755 index 07075a1..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/ffmpeg_dv_jack_fifo_shout +++ /dev/null @@ -1,37 +0,0 @@ -#!/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 - - - - - diff --git a/tcserver/conf/home/fluxbox/telecaster/ffmpeg_usb_jack_fifo_shout b/tcserver/conf/home/fluxbox/telecaster/ffmpeg_usb_jack_fifo_shout deleted file mode 100755 index 47fe2ed..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/ffmpeg_usb_jack_fifo_shout +++ /dev/null @@ -1,37 +0,0 @@ -#!/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 diff --git a/tcserver/conf/home/fluxbox/telecaster/gst_dv_jack_shout b/tcserver/conf/home/fluxbox/telecaster/gst_dv_jack_shout deleted file mode 100755 index ef59dfc..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/gst_dv_jack_shout +++ /dev/null @@ -1,7 +0,0 @@ -#!/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 \ diff --git a/tcserver/conf/home/fluxbox/telecaster/gst_osc_multi.py b/tcserver/conf/home/fluxbox/telecaster/gst_osc_multi.py deleted file mode 100644 index d47e17f..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/gst_osc_multi.py +++ /dev/null @@ -1,175 +0,0 @@ -#!/usr/bin/python -import gobject; gobject.threads_init() -import pygst; pygst.require("0.10") -import gst -from threading import Thread - - -class OSCController(Thread): - - def __init__(self, port): - Thread.__init__(self) - import liblo - self.port = port - try: - self.server = liblo.Server(self.port) - except liblo.ServerError, err: - print str(err) - - def add_method(self, path, type, method): - self.server.add_method(path, type, method) - - def run(self): - while True: - self.server.recv(100) - - -class GSTSrcVideo(object): - - def __init__(self, pipe=None, mime_type='video/x-raw-yuv', framerate='24/1', - width=160, height=90, xpos=0, ypos=0): - self.mime_type = mime_type - self.framerate = framerate - self.width = width - self.height = height - self.xpos = xpos - self.ypos = ypos - if not pipe: - pipe = 'videotestsrc pattern="snow"' - self.pipe = pipe + ' ! %s, framerate=%s, width=%s, height=%s' \ - % (self.mime_type, self.framerate, str(self.width), str(self.height)) - - -class GSTSrcAudio(object): - - def __init__(self, pipe=None, mime_type='audio/x-raw-float', channels=2): - self.mime_type = mime_type - self.channels = channels - if not pipe: - pipe = 'jackaudiosrc connect=2' - self.pipe = pipe + ' ! %s, channels=%s' % (self.mime_type, str(self.channels)) - - -class V4lControl(object): - - def __init__(self, device=0): - self.program = 'v4l2-ctl' - self.device = device - - def execute(self, args): - command = ' '.join([self.program, '-d', self.device, '-c', args]) - os.system(command) - - def power_line_frequency(self, value): - arg = 'power_line_frequency=' + value - self.execute(arg) - - -class GSTWebmStreamer(object): - - def __init__(self, host='127.0.0.1', port=9000, blocksize=65536): - self.host = host - self.port = port - self.blocksize = blocksize - self.muxer = """webmmux streamable=true name=muxer \ - ! queue ! tcpserversink host=%s port=%s protocol=none blocksize=%s sync-method=1 - """ % (self.host, str(self.port), str(self.blocksize)) - - def video_setup(self, threads=4, quality=10): - self.video = """! queue ! ffmpegcolorspace ! queue ! vp8enc speed=2 threads=%s quality=%s \ - max-latency=25 max-keyframe-distance=96 auto-alt-ref-frames=true \ - ! queue ! muxer.""" % (str(threads), str(quality)) - - def audio_setup(self, quality=0.3): - self.audio = "! queue ! audioconvert ! queue ! vorbisenc quality=%s ! queue ! muxer." % str(self.quality) - - @property - def pipe(self): - return ' '.join([self.video, self.audio, self.muxer]) - - -class GSTMixer(object): - - def __init__(self, osc_port=8338): - self.name = 'mixer' - self.pipe = ['videomixer name=mixer ! ffmpegcolorspace ! xvimagesink'] - self.srcs = [] - self.i= 0 - self.osc_port = osc_port - self.osc = OSCController(self.osc_port) - - def osc_callback(self, path, value): - paths = path.split('/') - sink = paths[1] - param = paths[2] - for src in self.srcs: - if src['sink'] == sink: - break - src['control'].set(param, 5 * gst.SECOND, value[0]) - - def osc_alpha_callback(self, path, value): - paths = path.split('/') - layer = paths[1] - param = paths[2] - id = int(param[-1])-1 - for src in self.srcs: - if src['id'] == id: - break - src['control'].set('alpha', 5 * gst.SECOND, value[0]) - - def osc_xy_callback(self, path, value): - for src in self.srcs: - if src['id'] == 2: - break - src['control'].set("xpos", 5 * gst.SECOND, int(value[0]*480)) - src['control'].set("ypos", 5 * gst.SECOND, int(value[1]*270)) - - def add_src(self, src): - self.srcs.append({'id': self.i, 'src': src, 'sink': 'sink_' + str(self.i)}) - self.i += 1 - - def setup(self): - self.srcs.reverse() - - for src in self.srcs: - self.pipe.append(' '.join([src['src'].pipe, '! ' + self.name + '.' + src['sink']])) - - print ' '.join(self.pipe) - self.process = gst.parse_launch(' '.join(self.pipe)) - mixer = self.process.get_by_name("mixer") - - for src in self.srcs: - src['pad'] = mixer.get_pad(src['sink']) - src['control'] = gst.Controller(src['pad'], "xpos", "ypos", "alpha") - - src['control'].set_interpolation_mode("xpos", gst.INTERPOLATE_LINEAR) - src['control'].set("xpos", 5 * gst.SECOND, src['src'].xpos) - - src['control'].set_interpolation_mode("ypos", gst.INTERPOLATE_LINEAR) - src['control'].set("ypos", 5 * gst.SECOND, src['src'].ypos) - - src['control'].set_interpolation_mode("alpha", gst.INTERPOLATE_LINEAR) - src['control'].set("alpha", 5 * gst.SECOND, 1.0) - - self.osc.add_method('/1/fader'+str(src['id']+1), 'f', self.osc_alpha_callback) - - self.osc.add_method('/3/xy', 'ff', self.osc_xy_callback) - - def run(self): - self.osc.start() - self.process.set_state(gst.STATE_PLAYING) - gobject.MainLoop().run() - - -if __name__ == '__main__': - src1 = GSTSrcVideo(width=640, height=360, framerate='24/1', pipe='videotestsrc pattern="black" ') - src2 = GSTSrcVideo(width=640, height=360, framerate='24/1', pipe='videotestsrc ') - src3 = GSTSrcVideo(width=160, height=90, framerate='24/1', xpos=200, ypos=150) - src4 = GSTSrcVideo(width=160, height=90, framerate='24/1', xpos=300, ypos=250) - mixer = GSTMixer() - mixer.add_src(src1) - mixer.add_src(src2) - mixer.add_src(src3) - mixer.add_src(src4) - mixer.setup() - mixer.run() diff --git a/tcserver/conf/home/fluxbox/telecaster/gst_video_double_shout b/tcserver/conf/home/fluxbox/telecaster/gst_video_double_shout deleted file mode 100755 index 246d01e..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/gst_video_double_shout +++ /dev/null @@ -1,3 +0,0 @@ -#!/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. diff --git a/tcserver/conf/home/fluxbox/telecaster/gst_video_double_shout2.sh b/tcserver/conf/home/fluxbox/telecaster/gst_video_double_shout2.sh deleted file mode 100755 index cd25b51..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/gst_video_double_shout2.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -# 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 - diff --git a/tcserver/conf/home/fluxbox/telecaster/gst_video_jack_fifo_shout b/tcserver/conf/home/fluxbox/telecaster/gst_video_jack_fifo_shout deleted file mode 100755 index 1c19e27..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/gst_video_jack_fifo_shout +++ /dev/null @@ -1,24 +0,0 @@ -#!/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 diff --git a/tcserver/conf/home/fluxbox/telecaster/gst_video_jack_shout b/tcserver/conf/home/fluxbox/telecaster/gst_video_jack_shout deleted file mode 100755 index f5d25ba..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/gst_video_jack_shout +++ /dev/null @@ -1,24 +0,0 @@ -#!/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 diff --git a/tcserver/conf/home/fluxbox/telecaster/gst_video_simple_ogg b/tcserver/conf/home/fluxbox/telecaster/gst_video_simple_ogg deleted file mode 100755 index af63af4..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/gst_video_simple_ogg +++ /dev/null @@ -1,11 +0,0 @@ -#!/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 diff --git a/tcserver/conf/home/fluxbox/telecaster/gst_video_simple_ogg_jack b/tcserver/conf/home/fluxbox/telecaster/gst_video_simple_ogg_jack deleted file mode 100755 index 69d2091..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/gst_video_simple_ogg_jack +++ /dev/null @@ -1,9 +0,0 @@ -#!/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 \ diff --git a/tcserver/conf/home/fluxbox/telecaster/gst_video_triple_shout b/tcserver/conf/home/fluxbox/telecaster/gst_video_triple_shout deleted file mode 100755 index d6aeec8..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/gst_video_triple_shout +++ /dev/null @@ -1,11 +0,0 @@ -#!/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 diff --git a/tcserver/conf/home/fluxbox/telecaster/rtpx264.sh b/tcserver/conf/home/fluxbox/telecaster/rtpx264.sh deleted file mode 100755 index e3ca8cf..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/rtpx264.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -gst-launch -v gstrtpbin name=rtpbin \ - v4l2src ! video/x-raw-yuv,width=640,height=480 \ - ! queue ! x264enc byte-stream=true bitrate=500 bframes=4 ref=4 me=hex subme=4 weightb=true threads=4 ! rtph264pay \ - ! rtpbin.send_rtp_sink_0 \ - rtpbin.send_rtp_src_0 ! udpsink port=5000 host=127.0.0.1 \ - rtpbin.send_rtcp_src_0 ! udpsink port=5001 host=127.0.0.1 sync=false async=false \ - udpsrc port=5002 ! rtpbin.recv_rtcp_sink_0 - \ No newline at end of file diff --git a/tcserver/conf/home/fluxbox/telecaster/rtpx264_pl.sh b/tcserver/conf/home/fluxbox/telecaster/rtpx264_pl.sh deleted file mode 100755 index c4445cd..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/rtpx264_pl.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh - -gst-launch -v gstrtpbin name=rtpbin latency=200 \ - udpsrc caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" port=5000 \ - ! rtpbin.recv_rtp_sink_0 \ - rtpbin. ! rtph264depay ! queue ! tee name=t ! ffdec_h264 ! xvimagesink \ - t. ! queue ! filesink location=/tmp/video.mp4 \ - udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 \ - rtpbin.send_rtcp_src_0 ! udpsink port=5002 host=127.0.0.1 sync=false async=false \ - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_audio_mp3.sh b/tcserver/conf/home/fluxbox/telecaster/tc_audio_mp3.sh deleted file mode 100755 index 0d45ed1..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_audio_mp3.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -gst-launch jackaudiosrc connect=1 client-name=lamemp3enc ! 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/tcserver/conf/home/fluxbox/telecaster/tc_flu_simple_webm.sh b/tcserver/conf/home/fluxbox/telecaster/tc_flu_simple_webm.sh deleted file mode 100755 index e86ca98..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_flu_simple_webm.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -# Start TeleCaster video channel - -WIDTH=640 -HEIGHT=360 -#WIDTH=1024 -#HEIGHT=576 - - -pipe="v4l2src device=/dev/video0 \ - ! vp8-encoder ! muxout. \ - jackaudiosrc ! vorbis-encoder ! muxout. \ - webmmux streamable=true name=muxout" - -flumotion-launch pipeline-producer pipeline=$pipe ! http-streamer port=8800 - -sleep 2 - -jack_disconnect system:capture_1 flumotion-launch:in_jackaudiosrc0_1 -jack_connect jack_rack:out_1 flumotion-launch:in_jackaudiosrc0_1 - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_video_alsa_webm_stream.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_alsa_webm_stream.sh deleted file mode 100755 index 7754217..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_alsa_webm_stream.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -# Start TeleCaster video channel - -WIDTH=320 -HEIGHT=240 -#WIDTH=1024 -#HEIGHT=576 - -gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \ - ! queue ! ffmpegcolorspace \ - ! queue ! vp8enc speed=2 threads=2 quality=9.0 ! queue ! muxout. \ - alsasrc device=hw:0 \ - ! queue ! audioconvert ! queue ! vorbisenc quality=0.3 ! queue ! muxout. \ - webmmux streamable=true name=muxout \ - ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none \ - > /dev/null - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_video_dv_webm_stream.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_dv_webm_stream.sh deleted file mode 100755 index 054abc6..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_dv_webm_stream.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -# Start TeleCaster video channel - -#WIDTH=640 -#HEIGHT=360 -#WIDTH=1024 -#HEIGHT=576 -WIDTH=480 -HEIGHT=320 - -gst-launch dv1394src ! dvdemux ! queue ! dvdec ! queue ! deinterlace \ - ! queue ! videoscale ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \ - ! queue ! ffmpegcolorspace \ - ! queue ! vp8enc speed=2 threads=2 quality=10.0 max-latency=25 max-keyframe-distance=96 \ - ! queue ! muxout. \ - jackaudiosrc connect=1 ! audio/x-raw-float, channels=2 \ - ! queue ! audioconvert ! queue ! vorbisenc quality=0.6 ! queue ! muxout. \ - webmmux streamable=true name=muxout \ - ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none blocksize=65536 sync-method=1 - - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_video_only_simple_webm.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_only_simple_webm.sh deleted file mode 100755 index 7c92b88..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_only_simple_webm.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -# Start TeleCaster video channel - -WIDTH=640 -HEIGHT=480 -#WIDTH=1024 -#HEIGHT=576 - -gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \ - ! queue ! ffmpegcolorspace \ - ! queue ! vp8enc speed=2 threads=4 quality=5.0 ! queue ! muxout. \ - webmmux streamable=true name=muxout \ - ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_file.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_file.sh deleted file mode 100755 index 181dd2f..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_file.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/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 - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_file_webm.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_file_webm.sh deleted file mode 100755 index d08dc06..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_file_webm.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/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 - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_start.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_start.sh deleted file mode 100755 index 061e290..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_start.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/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 - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream.sh deleted file mode 100755 index 5753f72..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -# Start TeleCaster video channel - -WIDTH=640 -HEIGHT=360 -#WIDTH=1280 -#HEIGHT=720 - -v4l2-ctl -d 1 -c power_line_frequency=1 - -gst-launch v4l2src device=/dev/video1 ! video/x-raw-rgb, width=$WIDTH, height=$HEIGHT, framerate={24/1} \ - ! queue ! ffmpegcolorspace \ - ! queue ! vp8enc speed=2 threads=4 quality=10.0 max-latency=25 max-keyframe-distance=96 auto-alt-ref-frames=true ! queue ! muxout. \ - jackaudiosrc connect=2 client-name=webmenc ! audio/x-raw-float, channels=2 \ - ! queue ! audioconvert ! queue ! vorbisenc quality=0.3 ! queue ! muxout. \ - webmmux streamable=true name=muxout \ - ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none blocksize=65536 sync-method=1 \ - > /dev/null - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_hd.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_hd.sh deleted file mode 100755 index 7afd26c..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_hd.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -# Start TeleCaster video channel - -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 & - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_hd_alsa_test.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_hd_alsa_test.sh deleted file mode 100755 index 3894ae2..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_hd_alsa_test.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -# Start TeleCaster video channel - -WIDTH=1280 -HEIGHT=720 - -gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \ - ! queue ! ffmpegcolorspace \ - ! queue ! vp8enc speed=2 threads=1 quality=9.0 ! queue ! muxout. \ - alsasrc \ - ! queue ! audioconvert ! queue ! vorbisenc quality=0.3 ! queue ! muxout. \ - webmmux streamable=true name=muxout \ - ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none - - - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_hd_jack_test.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_hd_jack_test.sh deleted file mode 100755 index 0cfb252..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_hd_jack_test.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -# Start TeleCaster video channel - -WIDTH=1280 -HEIGHT=720 - -gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \ - ! queue ! ffmpegcolorspace \ - ! queue ! vp8enc speed=2 threads=4 quality=9.0 ! queue ! muxout. \ - jackaudiosrc connect=1 \ - ! queue ! audioconvert ! queue ! vorbisenc quality=0.3 ! queue ! muxout. \ - webmmux streamable=true name=muxout \ - ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none - - - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_hd_test.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_hd_test.sh deleted file mode 100755 index 8522473..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_hd_test.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -# Start TeleCaster video channel - -WIDTH=1280 -HEIGHT=720 - -gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \ - ! queue ! ffmpegcolorspace \ - ! queue ! vp8enc speed=2 threads=4 quality=9.0 \ - ! queue ! webmmux streamable=true name=muxout \ - ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_m.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_m.sh deleted file mode 100755 index b4d8403..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_m.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/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 ! multifdsink name=sink sync=false recover-policy=3 \ - 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 - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_sd_test.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_sd_test.sh deleted file mode 100755 index 0fb2ce0..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream_sd_test.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -# Start TeleCaster video channel - -WIDTH=800 -HEIGHT=600 - -gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \ - ! queue ! ffmpegcolorspace \ - ! queue ! vp8enc speed=2 threads=4 quality=9.0 \ - ! queue ! webmmux streamable=true name=muxout \ - ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none - diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_tee.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_tee.sh deleted file mode 100755 index d006917..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_tee.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/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=9.0 ! queue ! muxout. \ - jackaudiosrc connect=1 \ - ! queue ! audioconvert ! queue ! vorbisenc quality=0.3 ! queue ! muxout. \ - webmmux streamable=true name=muxout \ - ! tee name=t ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none \ - t. ! queue ! filesink location=/home/telecaster/trash/test.webm \ - > /dev/null & - -sleep 4 - -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 - diff --git a/tcserver/conf/home/fluxbox/telecaster/tcp2x.sh b/tcserver/conf/home/fluxbox/telecaster/tcp2x.sh deleted file mode 100755 index 8e61926..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/tcp2x.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -gst-launch tcpclientsrc host=192.168.0.18 port=9000 \ - ! matroskademux \ - ! vp8dec ! ffmpegcolorspace \ - ! ximagesink - -# tcpclientsrc host=192.168.0.18 port=9000 protocol=none \ \ No newline at end of file diff --git a/tcserver/conf/home/fluxbox/telecaster/x264_2.sh b/tcserver/conf/home/fluxbox/telecaster/x264_2.sh deleted file mode 100755 index ae35e7c..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/x264_2.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -gst-launch v4l2src ! video/x-raw-yuv,width=640,height=480 \ - ! queue ! x264enc byte-stream=true bitrate=500 bframes=4 ref=4 me=hex subme=4 weightb=true threads=4 \ - ! tcpserversink host=127.0.0.1 port=9000 protocol=none diff --git a/tcserver/conf/home/fluxbox/telecaster/x264_pl2.sh b/tcserver/conf/home/fluxbox/telecaster/x264_pl2.sh deleted file mode 100755 index 8595bed..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/x264_pl2.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -gst-launch tcpclientsrc host=127.0.0.1 port=9000 \ - ! ffdec_h264 ! xvimagesink - diff --git a/tcserver/conf/home/fluxbox/telecaster/x264_relay.sh b/tcserver/conf/home/fluxbox/telecaster/x264_relay.sh deleted file mode 100755 index 8d1a65b..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/x264_relay.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -gst-launch tcpclientsrc host=192.168.0.18 port=9000 \ - ! matroskademux \ - ! queue ! vp8dec \ - ! queue ! ffmpegcolorspace \ - ! queue ! x264enc bitrate=200 bframes=4 ref=4 me=hex subme=4 weightb=true threads=0 ! muxout. \ - mp4mux name=muxout \ - ! queue ! filesink location=/tmp/video.mp4 - -# tcpclientsrc host=192.168.0.18 port=9000 protocol=none \ diff --git a/tcserver/conf/home/fluxbox/telecaster/x264_relay_x.sh b/tcserver/conf/home/fluxbox/telecaster/x264_relay_x.sh deleted file mode 100755 index 3a30d1b..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/x264_relay_x.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -gst-launch tcpclientsrc host=192.168.0.18 port=9000 \ - ! matroskademux \ - ! vp8dec ! ffmpegcolorspace \ - ! queue ! x264enc \ - ! queue ! vdpauh264dec ! ffmpegcolorspace ! ximagesink - -# tcpclientsrc host=192.168.0.18 port=9000 protocol=none \ \ No newline at end of file diff --git a/tcserver/conf/home/fluxbox/telecaster/x_jack_webm.sh b/tcserver/conf/home/fluxbox/telecaster/x_jack_webm.sh deleted file mode 100755 index 8abeab6..0000000 --- a/tcserver/conf/home/fluxbox/telecaster/x_jack_webm.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -# Start TeleCaster video channel - -gst-launch ximagesrc ! video/x-raw-rgb,framerate=30/1 \ - ! queue ! ffmpegcolorspace \ - ! queue ! vp8enc speed=2 threads=2 quality=9.0 ! queue ! muxout. \ - jackaudiosrc connect=1 \ - ! queue ! audioconvert ! queue ! vorbisenc quality=0.3 ! queue ! muxout. \ - webmmux streamable=true name=muxout \ - ! queue ! filesink location=/home/momo/tmp/desktop.webm - - diff --git a/tcserver/conf/home/telecaster/media/mp3/silence.mp3 b/tcserver/conf/home/telecaster/media/mp3/silence.mp3 deleted file mode 100644 index 17538c9..0000000 Binary files a/tcserver/conf/home/telecaster/media/mp3/silence.mp3 and /dev/null differ diff --git a/tcserver/conf/home/telecaster/media/ogg/silence.ogg b/tcserver/conf/home/telecaster/media/ogg/silence.ogg deleted file mode 100644 index 5cfaddf..0000000 Binary files a/tcserver/conf/home/telecaster/media/ogg/silence.ogg and /dev/null differ diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/old/ffmpeg_dv_jack_fifo_shout b/tcserver/conf/usr/local/share/telecaster/scripts/old/ffmpeg_dv_jack_fifo_shout new file mode 100755 index 0000000..07075a1 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/old/ffmpeg_dv_jack_fifo_shout @@ -0,0 +1,37 @@ +#!/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 + + + + + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/old/ffmpeg_usb_jack_fifo_shout b/tcserver/conf/usr/local/share/telecaster/scripts/old/ffmpeg_usb_jack_fifo_shout new file mode 100755 index 0000000..47fe2ed --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/old/ffmpeg_usb_jack_fifo_shout @@ -0,0 +1,37 @@ +#!/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 diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/tc_audio_mp3_icecast.sh b/tcserver/conf/usr/local/share/telecaster/scripts/tc_audio_mp3_icecast.sh new file mode 100755 index 0000000..0d45ed1 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/tc_audio_mp3_icecast.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +gst-launch jackaudiosrc connect=1 client-name=lamemp3enc ! 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/tcserver/conf/usr/local/share/telecaster/scripts/tc_video_simple_webm_stream.sh b/tcserver/conf/usr/local/share/telecaster/scripts/tc_video_simple_webm_stream.sh new file mode 100755 index 0000000..5753f72 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/tc_video_simple_webm_stream.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +# Start TeleCaster video channel + +WIDTH=640 +HEIGHT=360 +#WIDTH=1280 +#HEIGHT=720 + +v4l2-ctl -d 1 -c power_line_frequency=1 + +gst-launch v4l2src device=/dev/video1 ! video/x-raw-rgb, width=$WIDTH, height=$HEIGHT, framerate={24/1} \ + ! queue ! ffmpegcolorspace \ + ! queue ! vp8enc speed=2 threads=4 quality=10.0 max-latency=25 max-keyframe-distance=96 auto-alt-ref-frames=true ! queue ! muxout. \ + jackaudiosrc connect=2 client-name=webmenc ! audio/x-raw-float, channels=2 \ + ! queue ! audioconvert ! queue ! vorbisenc quality=0.3 ! queue ! muxout. \ + webmmux streamable=true name=muxout \ + ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none blocksize=65536 sync-method=1 \ + > /dev/null + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_dv_jack_shout b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_dv_jack_shout new file mode 100755 index 0000000..ef59dfc --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_dv_jack_shout @@ -0,0 +1,7 @@ +#!/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 \ diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_osc_multi.py b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_osc_multi.py new file mode 100755 index 0000000..d47e17f --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_osc_multi.py @@ -0,0 +1,175 @@ +#!/usr/bin/python +import gobject; gobject.threads_init() +import pygst; pygst.require("0.10") +import gst +from threading import Thread + + +class OSCController(Thread): + + def __init__(self, port): + Thread.__init__(self) + import liblo + self.port = port + try: + self.server = liblo.Server(self.port) + except liblo.ServerError, err: + print str(err) + + def add_method(self, path, type, method): + self.server.add_method(path, type, method) + + def run(self): + while True: + self.server.recv(100) + + +class GSTSrcVideo(object): + + def __init__(self, pipe=None, mime_type='video/x-raw-yuv', framerate='24/1', + width=160, height=90, xpos=0, ypos=0): + self.mime_type = mime_type + self.framerate = framerate + self.width = width + self.height = height + self.xpos = xpos + self.ypos = ypos + if not pipe: + pipe = 'videotestsrc pattern="snow"' + self.pipe = pipe + ' ! %s, framerate=%s, width=%s, height=%s' \ + % (self.mime_type, self.framerate, str(self.width), str(self.height)) + + +class GSTSrcAudio(object): + + def __init__(self, pipe=None, mime_type='audio/x-raw-float', channels=2): + self.mime_type = mime_type + self.channels = channels + if not pipe: + pipe = 'jackaudiosrc connect=2' + self.pipe = pipe + ' ! %s, channels=%s' % (self.mime_type, str(self.channels)) + + +class V4lControl(object): + + def __init__(self, device=0): + self.program = 'v4l2-ctl' + self.device = device + + def execute(self, args): + command = ' '.join([self.program, '-d', self.device, '-c', args]) + os.system(command) + + def power_line_frequency(self, value): + arg = 'power_line_frequency=' + value + self.execute(arg) + + +class GSTWebmStreamer(object): + + def __init__(self, host='127.0.0.1', port=9000, blocksize=65536): + self.host = host + self.port = port + self.blocksize = blocksize + self.muxer = """webmmux streamable=true name=muxer \ + ! queue ! tcpserversink host=%s port=%s protocol=none blocksize=%s sync-method=1 + """ % (self.host, str(self.port), str(self.blocksize)) + + def video_setup(self, threads=4, quality=10): + self.video = """! queue ! ffmpegcolorspace ! queue ! vp8enc speed=2 threads=%s quality=%s \ + max-latency=25 max-keyframe-distance=96 auto-alt-ref-frames=true \ + ! queue ! muxer.""" % (str(threads), str(quality)) + + def audio_setup(self, quality=0.3): + self.audio = "! queue ! audioconvert ! queue ! vorbisenc quality=%s ! queue ! muxer." % str(self.quality) + + @property + def pipe(self): + return ' '.join([self.video, self.audio, self.muxer]) + + +class GSTMixer(object): + + def __init__(self, osc_port=8338): + self.name = 'mixer' + self.pipe = ['videomixer name=mixer ! ffmpegcolorspace ! xvimagesink'] + self.srcs = [] + self.i= 0 + self.osc_port = osc_port + self.osc = OSCController(self.osc_port) + + def osc_callback(self, path, value): + paths = path.split('/') + sink = paths[1] + param = paths[2] + for src in self.srcs: + if src['sink'] == sink: + break + src['control'].set(param, 5 * gst.SECOND, value[0]) + + def osc_alpha_callback(self, path, value): + paths = path.split('/') + layer = paths[1] + param = paths[2] + id = int(param[-1])-1 + for src in self.srcs: + if src['id'] == id: + break + src['control'].set('alpha', 5 * gst.SECOND, value[0]) + + def osc_xy_callback(self, path, value): + for src in self.srcs: + if src['id'] == 2: + break + src['control'].set("xpos", 5 * gst.SECOND, int(value[0]*480)) + src['control'].set("ypos", 5 * gst.SECOND, int(value[1]*270)) + + def add_src(self, src): + self.srcs.append({'id': self.i, 'src': src, 'sink': 'sink_' + str(self.i)}) + self.i += 1 + + def setup(self): + self.srcs.reverse() + + for src in self.srcs: + self.pipe.append(' '.join([src['src'].pipe, '! ' + self.name + '.' + src['sink']])) + + print ' '.join(self.pipe) + self.process = gst.parse_launch(' '.join(self.pipe)) + mixer = self.process.get_by_name("mixer") + + for src in self.srcs: + src['pad'] = mixer.get_pad(src['sink']) + src['control'] = gst.Controller(src['pad'], "xpos", "ypos", "alpha") + + src['control'].set_interpolation_mode("xpos", gst.INTERPOLATE_LINEAR) + src['control'].set("xpos", 5 * gst.SECOND, src['src'].xpos) + + src['control'].set_interpolation_mode("ypos", gst.INTERPOLATE_LINEAR) + src['control'].set("ypos", 5 * gst.SECOND, src['src'].ypos) + + src['control'].set_interpolation_mode("alpha", gst.INTERPOLATE_LINEAR) + src['control'].set("alpha", 5 * gst.SECOND, 1.0) + + self.osc.add_method('/1/fader'+str(src['id']+1), 'f', self.osc_alpha_callback) + + self.osc.add_method('/3/xy', 'ff', self.osc_xy_callback) + + def run(self): + self.osc.start() + self.process.set_state(gst.STATE_PLAYING) + gobject.MainLoop().run() + + +if __name__ == '__main__': + src1 = GSTSrcVideo(width=640, height=360, framerate='24/1', pipe='videotestsrc pattern="black" ') + src2 = GSTSrcVideo(width=640, height=360, framerate='24/1', pipe='videotestsrc ') + src3 = GSTSrcVideo(width=160, height=90, framerate='24/1', xpos=200, ypos=150) + src4 = GSTSrcVideo(width=160, height=90, framerate='24/1', xpos=300, ypos=250) + mixer = GSTMixer() + mixer.add_src(src1) + mixer.add_src(src2) + mixer.add_src(src3) + mixer.add_src(src4) + mixer.setup() + mixer.run() diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_double_shout b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_double_shout new file mode 100755 index 0000000..246d01e --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_double_shout @@ -0,0 +1,3 @@ +#!/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. diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_double_shout2.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_double_shout2.sh new file mode 100755 index 0000000..cd25b51 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_double_shout2.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +# 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 + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_jack_fifo_shout b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_jack_fifo_shout new file mode 100755 index 0000000..1c19e27 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_jack_fifo_shout @@ -0,0 +1,24 @@ +#!/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 diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_jack_shout b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_jack_shout new file mode 100755 index 0000000..f5d25ba --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_jack_shout @@ -0,0 +1,24 @@ +#!/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 diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_simple_ogg b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_simple_ogg new file mode 100755 index 0000000..af63af4 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_simple_ogg @@ -0,0 +1,11 @@ +#!/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 diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_simple_ogg_jack b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_simple_ogg_jack new file mode 100755 index 0000000..69d2091 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_simple_ogg_jack @@ -0,0 +1,9 @@ +#!/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 \ diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_triple_shout b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_triple_shout new file mode 100755 index 0000000..d6aeec8 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/gst_video_triple_shout @@ -0,0 +1,11 @@ +#!/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 diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/rtpx264.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/rtpx264.sh new file mode 100755 index 0000000..e3ca8cf --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/rtpx264.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +gst-launch -v gstrtpbin name=rtpbin \ + v4l2src ! video/x-raw-yuv,width=640,height=480 \ + ! queue ! x264enc byte-stream=true bitrate=500 bframes=4 ref=4 me=hex subme=4 weightb=true threads=4 ! rtph264pay \ + ! rtpbin.send_rtp_sink_0 \ + rtpbin.send_rtp_src_0 ! udpsink port=5000 host=127.0.0.1 \ + rtpbin.send_rtcp_src_0 ! udpsink port=5001 host=127.0.0.1 sync=false async=false \ + udpsrc port=5002 ! rtpbin.recv_rtcp_sink_0 + \ No newline at end of file diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/rtpx264_pl.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/rtpx264_pl.sh new file mode 100755 index 0000000..c4445cd --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/rtpx264_pl.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +gst-launch -v gstrtpbin name=rtpbin latency=200 \ + udpsrc caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" port=5000 \ + ! rtpbin.recv_rtp_sink_0 \ + rtpbin. ! rtph264depay ! queue ! tee name=t ! ffdec_h264 ! xvimagesink \ + t. ! queue ! filesink location=/tmp/video.mp4 \ + udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 \ + rtpbin.send_rtcp_src_0 ! udpsink port=5002 host=127.0.0.1 sync=false async=false \ + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_flu_simple_webm.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_flu_simple_webm.sh new file mode 100755 index 0000000..e86ca98 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_flu_simple_webm.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# Start TeleCaster video channel + +WIDTH=640 +HEIGHT=360 +#WIDTH=1024 +#HEIGHT=576 + + +pipe="v4l2src device=/dev/video0 \ + ! vp8-encoder ! muxout. \ + jackaudiosrc ! vorbis-encoder ! muxout. \ + webmmux streamable=true name=muxout" + +flumotion-launch pipeline-producer pipeline=$pipe ! http-streamer port=8800 + +sleep 2 + +jack_disconnect system:capture_1 flumotion-launch:in_jackaudiosrc0_1 +jack_connect jack_rack:out_1 flumotion-launch:in_jackaudiosrc0_1 + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_alsa_webm_stream.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_alsa_webm_stream.sh new file mode 100755 index 0000000..7754217 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_alsa_webm_stream.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +# Start TeleCaster video channel + +WIDTH=320 +HEIGHT=240 +#WIDTH=1024 +#HEIGHT=576 + +gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \ + ! queue ! ffmpegcolorspace \ + ! queue ! vp8enc speed=2 threads=2 quality=9.0 ! queue ! muxout. \ + alsasrc device=hw:0 \ + ! queue ! audioconvert ! queue ! vorbisenc quality=0.3 ! queue ! muxout. \ + webmmux streamable=true name=muxout \ + ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none \ + > /dev/null + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_dv_webm_stream.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_dv_webm_stream.sh new file mode 100755 index 0000000..054abc6 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_dv_webm_stream.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# Start TeleCaster video channel + +#WIDTH=640 +#HEIGHT=360 +#WIDTH=1024 +#HEIGHT=576 +WIDTH=480 +HEIGHT=320 + +gst-launch dv1394src ! dvdemux ! queue ! dvdec ! queue ! deinterlace \ + ! queue ! videoscale ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \ + ! queue ! ffmpegcolorspace \ + ! queue ! vp8enc speed=2 threads=2 quality=10.0 max-latency=25 max-keyframe-distance=96 \ + ! queue ! muxout. \ + jackaudiosrc connect=1 ! audio/x-raw-float, channels=2 \ + ! queue ! audioconvert ! queue ! vorbisenc quality=0.6 ! queue ! muxout. \ + webmmux streamable=true name=muxout \ + ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none blocksize=65536 sync-method=1 + + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_only_simple_webm.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_only_simple_webm.sh new file mode 100755 index 0000000..7c92b88 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_only_simple_webm.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +# Start TeleCaster video channel + +WIDTH=640 +HEIGHT=480 +#WIDTH=1024 +#HEIGHT=576 + +gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \ + ! queue ! ffmpegcolorspace \ + ! queue ! vp8enc speed=2 threads=4 quality=5.0 ! queue ! muxout. \ + webmmux streamable=true name=muxout \ + ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_file.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_file.sh new file mode 100755 index 0000000..181dd2f --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_file.sh @@ -0,0 +1,20 @@ +#!/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 + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_file_webm.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_file_webm.sh new file mode 100755 index 0000000..d08dc06 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_file_webm.sh @@ -0,0 +1,23 @@ +#!/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 + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_start.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_start.sh new file mode 100755 index 0000000..061e290 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_start.sh @@ -0,0 +1,20 @@ +#!/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 + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_ice.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_ice.sh new file mode 100755 index 0000000..58c1573 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_ice.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +# Start TeleCaster video channel + +WIDTH=640 +HEIGHT=360 + +gst-launch v4l2src device=/dev/video0 ! video/x-raw-rgb, width=$WIDTH, height=$HEIGHT \ + ! queue ! ffmpegcolorspace \ + ! queue ! vp8enc speed=2 threads=2 quality=9.0 \ + ! webmmux streamable=true \ + ! shout2send mount=/telecaster_live_video.webm port=8000 password=source2parisson ip=127.0.0.1 \ No newline at end of file diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_hd.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_hd.sh new file mode 100755 index 0000000..7afd26c --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_hd.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +# Start TeleCaster video channel + +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 & + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_hd_alsa_test.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_hd_alsa_test.sh new file mode 100755 index 0000000..3894ae2 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_hd_alsa_test.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +# Start TeleCaster video channel + +WIDTH=1280 +HEIGHT=720 + +gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \ + ! queue ! ffmpegcolorspace \ + ! queue ! vp8enc speed=2 threads=1 quality=9.0 ! queue ! muxout. \ + alsasrc \ + ! queue ! audioconvert ! queue ! vorbisenc quality=0.3 ! queue ! muxout. \ + webmmux streamable=true name=muxout \ + ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none + + + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_hd_jack_test.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_hd_jack_test.sh new file mode 100755 index 0000000..0cfb252 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_hd_jack_test.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +# Start TeleCaster video channel + +WIDTH=1280 +HEIGHT=720 + +gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \ + ! queue ! ffmpegcolorspace \ + ! queue ! vp8enc speed=2 threads=4 quality=9.0 ! queue ! muxout. \ + jackaudiosrc connect=1 \ + ! queue ! audioconvert ! queue ! vorbisenc quality=0.3 ! queue ! muxout. \ + webmmux streamable=true name=muxout \ + ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none + + + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_hd_test.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_hd_test.sh new file mode 100755 index 0000000..8522473 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_hd_test.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# Start TeleCaster video channel + +WIDTH=1280 +HEIGHT=720 + +gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \ + ! queue ! ffmpegcolorspace \ + ! queue ! vp8enc speed=2 threads=4 quality=9.0 \ + ! queue ! webmmux streamable=true name=muxout \ + ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_m.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_m.sh new file mode 100755 index 0000000..b4d8403 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_m.sh @@ -0,0 +1,25 @@ +#!/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 ! multifdsink name=sink sync=false recover-policy=3 \ + 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 + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_sd_test.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_sd_test.sh new file mode 100755 index 0000000..0fb2ce0 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_stream_sd_test.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# Start TeleCaster video channel + +WIDTH=800 +HEIGHT=600 + +gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \ + ! queue ! ffmpegcolorspace \ + ! queue ! vp8enc speed=2 threads=4 quality=9.0 \ + ! queue ! webmmux streamable=true name=muxout \ + ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_tee.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_tee.sh new file mode 100755 index 0000000..d006917 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tc_video_simple_webm_tee.sh @@ -0,0 +1,25 @@ +#!/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=9.0 ! queue ! muxout. \ + jackaudiosrc connect=1 \ + ! queue ! audioconvert ! queue ! vorbisenc quality=0.3 ! queue ! muxout. \ + webmmux streamable=true name=muxout \ + ! tee name=t ! queue ! tcpserversink host=127.0.0.1 port=9000 protocol=none \ + t. ! queue ! filesink location=/home/telecaster/trash/test.webm \ + > /dev/null & + +sleep 4 + +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 + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/tcp2x.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/tcp2x.sh new file mode 100755 index 0000000..8e61926 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/tcp2x.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +gst-launch tcpclientsrc host=192.168.0.18 port=9000 \ + ! matroskademux \ + ! vp8dec ! ffmpegcolorspace \ + ! ximagesink + +# tcpclientsrc host=192.168.0.18 port=9000 protocol=none \ \ No newline at end of file diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/x264_2.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/x264_2.sh new file mode 100755 index 0000000..ae35e7c --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/x264_2.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +gst-launch v4l2src ! video/x-raw-yuv,width=640,height=480 \ + ! queue ! x264enc byte-stream=true bitrate=500 bframes=4 ref=4 me=hex subme=4 weightb=true threads=4 \ + ! tcpserversink host=127.0.0.1 port=9000 protocol=none diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/x264_pl2.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/x264_pl2.sh new file mode 100755 index 0000000..8595bed --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/x264_pl2.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +gst-launch tcpclientsrc host=127.0.0.1 port=9000 \ + ! ffdec_h264 ! xvimagesink + diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/x264_relay.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/x264_relay.sh new file mode 100755 index 0000000..8d1a65b --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/x264_relay.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +gst-launch tcpclientsrc host=192.168.0.18 port=9000 \ + ! matroskademux \ + ! queue ! vp8dec \ + ! queue ! ffmpegcolorspace \ + ! queue ! x264enc bitrate=200 bframes=4 ref=4 me=hex subme=4 weightb=true threads=0 ! muxout. \ + mp4mux name=muxout \ + ! queue ! filesink location=/tmp/video.mp4 + +# tcpclientsrc host=192.168.0.18 port=9000 protocol=none \ diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/x264_relay_x.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/x264_relay_x.sh new file mode 100755 index 0000000..3a30d1b --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/x264_relay_x.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +gst-launch tcpclientsrc host=192.168.0.18 port=9000 \ + ! matroskademux \ + ! vp8dec ! ffmpegcolorspace \ + ! queue ! x264enc \ + ! queue ! vdpauh264dec ! ffmpegcolorspace ! ximagesink + +# tcpclientsrc host=192.168.0.18 port=9000 protocol=none \ \ No newline at end of file diff --git a/tcserver/conf/usr/local/share/telecaster/scripts/test/x_jack_webm.sh b/tcserver/conf/usr/local/share/telecaster/scripts/test/x_jack_webm.sh new file mode 100755 index 0000000..8abeab6 --- /dev/null +++ b/tcserver/conf/usr/local/share/telecaster/scripts/test/x_jack_webm.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# Start TeleCaster video channel + +gst-launch ximagesrc ! video/x-raw-rgb,framerate=30/1 \ + ! queue ! ffmpegcolorspace \ + ! queue ! vp8enc speed=2 threads=2 quality=9.0 ! queue ! muxout. \ + jackaudiosrc connect=1 \ + ! queue ! audioconvert ! queue ! vorbisenc quality=0.3 ! queue ! muxout. \ + webmmux streamable=true name=muxout \ + ! queue ! filesink location=/home/momo/tmp/desktop.webm + + diff --git a/tcserver/conf/usr/share/applications/rotate_desktop.desktop b/tcserver/conf/usr/share/applications/rotate_desktop.desktop deleted file mode 100644 index aa85a41..0000000 --- a/tcserver/conf/usr/share/applications/rotate_desktop.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=Rotate Desktop -Exec=/usr/local/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 - diff --git a/tcserver/conf/usr/share/icons/oxygen/128x128/apps/preferences-desktop-rotate.png b/tcserver/conf/usr/share/icons/oxygen/128x128/apps/preferences-desktop-rotate.png deleted file mode 100644 index bfb895a..0000000 Binary files a/tcserver/conf/usr/share/icons/oxygen/128x128/apps/preferences-desktop-rotate.png and /dev/null differ diff --git a/tcserver/conf/usr/share/icons/oxygen/16x16/apps/preferences-desktop-rotate.png b/tcserver/conf/usr/share/icons/oxygen/16x16/apps/preferences-desktop-rotate.png deleted file mode 100644 index 9462513..0000000 Binary files a/tcserver/conf/usr/share/icons/oxygen/16x16/apps/preferences-desktop-rotate.png and /dev/null differ diff --git a/tcserver/conf/usr/share/icons/oxygen/22x22/apps/preferences-desktop-rotate.png b/tcserver/conf/usr/share/icons/oxygen/22x22/apps/preferences-desktop-rotate.png deleted file mode 100644 index 5fe835e..0000000 Binary files a/tcserver/conf/usr/share/icons/oxygen/22x22/apps/preferences-desktop-rotate.png and /dev/null differ diff --git a/tcserver/conf/usr/share/icons/oxygen/32x32/apps/preferences-desktop-rotate.png b/tcserver/conf/usr/share/icons/oxygen/32x32/apps/preferences-desktop-rotate.png deleted file mode 100644 index a89a5fa..0000000 Binary files a/tcserver/conf/usr/share/icons/oxygen/32x32/apps/preferences-desktop-rotate.png and /dev/null differ diff --git a/tcserver/conf/usr/share/icons/oxygen/48x48/apps/preferences-desktop-rotate.png b/tcserver/conf/usr/share/icons/oxygen/48x48/apps/preferences-desktop-rotate.png deleted file mode 100644 index 5e909be..0000000 Binary files a/tcserver/conf/usr/share/icons/oxygen/48x48/apps/preferences-desktop-rotate.png and /dev/null differ diff --git a/tcserver/conf/usr/share/icons/oxygen/64x64/apps/preferences-desktop-rotate.png b/tcserver/conf/usr/share/icons/oxygen/64x64/apps/preferences-desktop-rotate.png deleted file mode 100644 index 0c96c53..0000000 Binary files a/tcserver/conf/usr/share/icons/oxygen/64x64/apps/preferences-desktop-rotate.png and /dev/null differ diff --git a/tcserver/conf/usr/share/icons/oxygen/8x8/apps/preferences-desktop-rotate.png b/tcserver/conf/usr/share/icons/oxygen/8x8/apps/preferences-desktop-rotate.png deleted file mode 100644 index e89cb80..0000000 Binary files a/tcserver/conf/usr/share/icons/oxygen/8x8/apps/preferences-desktop-rotate.png and /dev/null differ