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
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
+
+++ /dev/null
-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}
--- /dev/null
+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}
--- /dev/null
+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}
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
#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 &
# 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 &
+++ /dev/null
-#!/bin/bash
-
-set -e
-
-case "$1" in
- start)
- fifo=/tmp/video_fifo
- if [ ! -e $fifo ]; then
- mkfifo $fifo
- fi
-
- dir=/mnt/data1/video_tests
- now=`date -R`
-
- dvgrab -buffers 1 - | ffmpeg -f dv -i - -f jack -i ffmpeg -vcodec libtheora -s 480x320 -aspect 16:9 -acodec libvorbis -b 300k -f ogg -y $fifo -map 0.0 -map 1.0 &
-
- sleep 5
- jack_connect jack_rack:out_1 ffmpeg:input_1
- jack_connect jack_rack:out_2 ffmpeg:input_2
- #jack_connect jack_rack:out_1 ffmpeg:input_1
- #jack_connect jack_rack:out_2 ffmpeg:input_2
-
- sleep 1
- cat $fifo | tee "$dir/Pre-Barreau_-_Augustins_-_Video_Live_-_$now.ogg" | oggfwd -d "pb_video_live" -g "Teaching" -n "pb_video_live" localhost 8000 source2parisson /pb_video_live.ogg &
- ;;
-
- stop)
- jack_disconnect jack_rack:out_1 ffmpeg:input_1
- jack_disconnect jack_rack:out_2 ffmpeg:input_2
- pkill ffmpeg
- ;;
-esac
-
-
-
-
-
+++ /dev/null
-#!/bin/bash
-
- set -e
-
-case "$1" in
- start)
- fifo=/tmp/video_fifo2
- if [ ! -e $fifo ]; then
- mkfifo $fifo
- fi
-
- dir=$HOME/archives/2011
- now=`date -R`
- file=$dir/video_test2.ogg
-
- ffmpeg -f video4linux2 -i /dev/video0 -f jack -i ffmpeg -itsoffset 00:00:00.8 -r 20 -f ogg -vcodec libtheora -s 320x240 -b 380k -acodec libvorbis -ab 64k -ar 44100 -ac 1 -y $file -map 0.0 -map 1.0 &
-
- sleep 3
- jack_connect jack_rack:out_1 ffmpeg:input_1
- #jack_connect jack_rack:out_1 ffmpeg:input_2
-
- sleep 2
- cat $file | tee $file.ogg | oggfwd -d "TeleCaster Live Video Services" -g "Vocal" -n "TeleCaster Live Video" localhost 8000 source2parisson /telecaster_live_video.ogg &
- ;;
-
- stop)
- jack_disconnect jack_rack:out_1 ffmpeg:input_1
-# jack_disconnect jack_rack:out_1 ffmpeg:input_2
- pkill -9 ffmpeg
- ;;
-esac
-
-
-
-
-
-# http://www.kkoncepts.net/node/69
\ No newline at end of file
+++ /dev/null
-#!/bin/bash
-
-gst-launch-0.10 dv1394src ! queue ! dvdemux name=d ! queue ! dvdec \
- ! queue ! videoscale ! video/x-raw-yuv, width=480, height=368 \
- ! queue ! ffmpegcolorspace ! theoraenc bitrate=500 ! muxout. \
- oggmux name=muxout \
- ! queue ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 \
+++ /dev/null
-#!/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()
+++ /dev/null
-#!/bin/bash
-
-gst-launch v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv, width=160, height=120 ! videomixer name=mix sink_1::xpos=20 sink_1::ypos=20 sink_1::alpha=0.9 ! queue ! ffmpegcolorspace ! theoraenc quality=40 ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! tee name=t ! queue ! filesink location="video_test.ogg" t. ! queue ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv, width=480, height=270 ! mix.
+++ /dev/null
-#!/bin/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
-
+++ /dev/null
-#!/bin/bash
-
-set -e
-
-case "$1" in
- start)
- dir=/home/$USER/trash
- dat=`date '+%y-%m-%d-%H:%M:%S'`
- file=$dir/video_test_$dat.ogg
-
- gst-launch-0.10 v4l2src device=/dev/video0 ! queue ! videorate ! video/x-raw-yuv,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! filesink location=$file sync=true &
-
-# gst-launch v4l2src ! queue ! videorate ! video/x-raw-yuv,fps=30,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 &
-
-#
- sleep 10
- cat $file | oggfwd -d "TeleCaster Live Video Services" -g "Vocal" -n "TeleCaster Live Video" localhost 8000 source2parisson /telecaster_live_video.ogg &
- ;;
-
- stop)
- pkill -9 oggfwd
- pkill -9 gst-launch-0.10
- ;;
-esac
+++ /dev/null
-#!/bin/bash
-
-set -e
-
-case "$1" in
- start)
- dir=/home/$USER/trash
- dat=`date '+%y-%m-%d-%H:%M:%S'`
- file=$dir/video_test_$dat.ogg
-
-# gst-launch-0.10 v4l2src device=/dev/video0 ! queue ! videorate ! video/x-raw-yuv,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! filesink location=$file sync=true &
-
- gst-launch-0.10 v4l2src ! queue ! videorate ! video/x-raw-yuv,fps=30,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 &
-
-#
-# sleep 10
-# cat $file | oggfwd -d "TeleCaster Live Video Services" -g "Vocal" -n "TeleCaster Live Video" localhost 8000 source2parisson /telecaster_live_video.ogg &
- ;;
-
- stop)
- pkill -9 oggfwd
- pkill -9 gst-launch-0.10
- ;;
-esac
+++ /dev/null
-#!/bin/bash
-
-gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv,width=640, height=480 \
- ! queue ! ffmpegcolorspace \
- ! queue ! theoraenc quality=20 ! mux. \
- alsasrc device=hw:0,0 ! audio/x-raw-int,rate=44100,channels=2,depth=16 \
- ! queue ! audioconvert ! audio/x-raw-float,rate=44100,channels=2,depth=16 ! queue ! vorbisenc ! mux. \
- oggmux name=mux ! filesink location=/var/www/test/test.ogg \
-
-# ! queue ! videorate ! video/x-raw-yuv, framerate=25/1 \
-#jackaudiosrc connect=1 ! queue ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16
\ No newline at end of file
+++ /dev/null
-#!/bin/bash
-
-gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv,width=640, height=480 \
- ! queue ! ffmpegcolorspace \
- ! queue ! theoraenc quality=25 ! mux. \
- jackaudiosrc connect=1 ! queue ! audioconvert ! queue ! vorbisenc ! mux. \
- oggmux name=mux ! filesink location=/var/www/test/test.ogg \
-
-# ! queue ! videorate ! video/x-raw-yuv, framerate=25/1 \
+++ /dev/null
-#!/bin/bash
-
-gst-launch v4l2src device=/dev/video0 ! queue ! videoscale ! video/x-raw-yuv, width=160, height=120 \
- ! queue ! ffmpegcolorspace ! video/x-raw-rgb \
- ! queue ! videomixer name=mix \
- sink_1::xpos=40 sink_1::ypos=60 sink_1::alpha=0.9 sink_2::xpos=40 sink_2::ypos=180 sink_2::alpha=0.9 \
- ! queue ! videoscale ! video/x-raw-rgb, width=480, height=270 \
- ! queue ! ffmpegcolorspace ! theoraenc quality=10 ! oggmux name=muxout \
- ! queue ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 \
- ximagesrc ! queue ! videorate ! video/x-raw-rgb, framerate=30/1 ! videoscale ! video/x-raw-rgb, width=160, height=120 ! mix. \
- v4l2src device=/dev/video1 ! queue ! ffmpegcolorspace ! video/x-raw-rgb ! videoscale ! video/x-raw-rgb, width=640, height=360 ! mix. \
\ No newline at end of file
+++ /dev/null
-#!/bin/sh
-
-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
+++ /dev/null
-#!/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 \
-
+++ /dev/null
-#!/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
+++ /dev/null
-#!/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
-
+++ /dev/null
-#!/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
-
+++ /dev/null
-#!/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
-
-
+++ /dev/null
-#!/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
-
+++ /dev/null
-#!/bin/sh
-
-# Start TeleCaster video channel
-
-WIDTH=432
-HEIGHT=240
-
-gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
- ! queue ! ffmpegcolorspace \
- ! queue ! theoraenc bitrate=400 speed-level=0 ! queue ! muxout. \
- jackaudiosrc connect=1 \
- ! queue ! audioconvert ! queue ! vorbisenc ! queue ! muxout. \
- oggmux name=muxout ! filesink location=/home/telecaster/archives/test.ogg \
- > /dev/null &
-
-sleep 2
-
-jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
-jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
-
+++ /dev/null
-#!/bin/sh
-
-# Start TeleCaster video channel
-
-WIDTH=640
-HEIGHT=360
-#WIDTH=1024
-#HEIGHT=576
-
-gst-launch v4l2src device=/dev/video1 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
- ! queue ! videoflip method=rotate-180 \
- ! queue ! ffmpegcolorspace \
- ! queue ! vp8enc speed=2 threads=2 quality=5 ! queue ! muxout. \
- jackaudiosrc connect=1 \
- ! queue ! audioconvert ! queue ! vorbisenc quality=3 ! queue ! muxout. \
- webmmux streamable=true name=muxout ! filesink location=/home/telecaster/trash/test.webm \
- > /dev/null &
-
-sleep 2
-
-jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
-jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
-
+++ /dev/null
-#!/bin/sh
-
-# Start TeleCaster video channel
-
-WIDTH=432
-HEIGHT=240
-
-gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
- ! queue ! ffmpegcolorspace \
- ! queue ! theoraenc quality=10 ! queue ! muxout. \
- jackaudiosrc connect=1 \
- ! queue ! audioconvert ! queue ! vorbisenc quality=3 ! queue ! muxout. \
- oggmux name=muxout ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 \
- > /dev/null &
-
-sleep 2
-
-jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
-jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
-
+++ /dev/null
-#!/bin/sh
-
-# Start TeleCaster video channel
-
-WIDTH=640
-HEIGHT=360
-#WIDTH=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
-
+++ /dev/null
-#!/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 &
-
+++ /dev/null
-#!/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
-
-
-
+++ /dev/null
-#!/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
-
-
-
+++ /dev/null
-#!/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
-
+++ /dev/null
-#!/bin/sh
-
-# Start TeleCaster video channel
-
-WIDTH=640
-HEIGHT=360
-#WIDTH=1024
-#HEIGHT=576
-
-gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
- ! queue ! videoflip method=rotate-180 \
- ! queue ! ffmpegcolorspace \
- ! queue ! vp8enc speed=2 threads=2 quality=5 ! queue ! muxout. \
- jackaudiosrc connect=1 \
- ! queue ! audioconvert ! queue ! vorbisenc quality=3 ! queue ! muxout. \
- webmmux streamable=true name=muxout \
- ! tee name=t ! queue ! 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
-
+++ /dev/null
-#!/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
-
+++ /dev/null
-#!/bin/sh
-
-# Start TeleCaster video channel
-
-WIDTH=640
-HEIGHT=360
-#WIDTH=1024
-#HEIGHT=576
-
-gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
- ! queue ! videoflip method=rotate-180 \
- ! queue ! ffmpegcolorspace \
- ! queue ! vp8enc speed=2 threads=2 quality=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
-
+++ /dev/null
-#!/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
+++ /dev/null
-#!/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
+++ /dev/null
-#!/bin/sh
-
-gst-launch tcpclientsrc host=127.0.0.1 port=9000 \
- ! ffdec_h264 ! xvimagesink
-
+++ /dev/null
-#!/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 \
+++ /dev/null
-#!/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
+++ /dev/null
-#!/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
-
-
--- /dev/null
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ start)
+ fifo=/tmp/video_fifo
+ if [ ! -e $fifo ]; then
+ mkfifo $fifo
+ fi
+
+ dir=/mnt/data1/video_tests
+ now=`date -R`
+
+ dvgrab -buffers 1 - | ffmpeg -f dv -i - -f jack -i ffmpeg -vcodec libtheora -s 480x320 -aspect 16:9 -acodec libvorbis -b 300k -f ogg -y $fifo -map 0.0 -map 1.0 &
+
+ sleep 5
+ jack_connect jack_rack:out_1 ffmpeg:input_1
+ jack_connect jack_rack:out_2 ffmpeg:input_2
+ #jack_connect jack_rack:out_1 ffmpeg:input_1
+ #jack_connect jack_rack:out_2 ffmpeg:input_2
+
+ sleep 1
+ cat $fifo | tee "$dir/Pre-Barreau_-_Augustins_-_Video_Live_-_$now.ogg" | oggfwd -d "pb_video_live" -g "Teaching" -n "pb_video_live" localhost 8000 source2parisson /pb_video_live.ogg &
+ ;;
+
+ stop)
+ jack_disconnect jack_rack:out_1 ffmpeg:input_1
+ jack_disconnect jack_rack:out_2 ffmpeg:input_2
+ pkill ffmpeg
+ ;;
+esac
+
+
+
+
+
--- /dev/null
+#!/bin/bash
+
+ set -e
+
+case "$1" in
+ start)
+ fifo=/tmp/video_fifo2
+ if [ ! -e $fifo ]; then
+ mkfifo $fifo
+ fi
+
+ dir=$HOME/archives/2011
+ now=`date -R`
+ file=$dir/video_test2.ogg
+
+ ffmpeg -f video4linux2 -i /dev/video0 -f jack -i ffmpeg -itsoffset 00:00:00.8 -r 20 -f ogg -vcodec libtheora -s 320x240 -b 380k -acodec libvorbis -ab 64k -ar 44100 -ac 1 -y $file -map 0.0 -map 1.0 &
+
+ sleep 3
+ jack_connect jack_rack:out_1 ffmpeg:input_1
+ #jack_connect jack_rack:out_1 ffmpeg:input_2
+
+ sleep 2
+ cat $file | tee $file.ogg | oggfwd -d "TeleCaster Live Video Services" -g "Vocal" -n "TeleCaster Live Video" localhost 8000 source2parisson /telecaster_live_video.ogg &
+ ;;
+
+ stop)
+ jack_disconnect jack_rack:out_1 ffmpeg:input_1
+# jack_disconnect jack_rack:out_1 ffmpeg:input_2
+ pkill -9 ffmpeg
+ ;;
+esac
+
+
+
+
+
+# http://www.kkoncepts.net/node/69
\ No newline at end of file
--- /dev/null
+#!/bin/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
--- /dev/null
+#!/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
+
--- /dev/null
+#!/bin/bash
+
+gst-launch-0.10 dv1394src ! queue ! dvdemux name=d ! queue ! dvdec \
+ ! queue ! videoscale ! video/x-raw-yuv, width=480, height=368 \
+ ! queue ! ffmpegcolorspace ! theoraenc bitrate=500 ! muxout. \
+ oggmux name=muxout \
+ ! queue ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 \
--- /dev/null
+#!/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()
--- /dev/null
+#!/bin/bash
+
+gst-launch v4l2src device=/dev/video0 ! videoscale ! video/x-raw-yuv, width=160, height=120 ! videomixer name=mix sink_1::xpos=20 sink_1::ypos=20 sink_1::alpha=0.9 ! queue ! ffmpegcolorspace ! theoraenc quality=40 ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! tee name=t ! queue ! filesink location="video_test.ogg" t. ! queue ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv, width=480, height=270 ! mix.
--- /dev/null
+#!/bin/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
+
--- /dev/null
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ start)
+ dir=/home/$USER/trash
+ dat=`date '+%y-%m-%d-%H:%M:%S'`
+ file=$dir/video_test_$dat.ogg
+
+ gst-launch-0.10 v4l2src device=/dev/video0 ! queue ! videorate ! video/x-raw-yuv,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! filesink location=$file sync=true &
+
+# gst-launch v4l2src ! queue ! videorate ! video/x-raw-yuv,fps=30,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 &
+
+#
+ sleep 10
+ cat $file | oggfwd -d "TeleCaster Live Video Services" -g "Vocal" -n "TeleCaster Live Video" localhost 8000 source2parisson /telecaster_live_video.ogg &
+ ;;
+
+ stop)
+ pkill -9 oggfwd
+ pkill -9 gst-launch-0.10
+ ;;
+esac
--- /dev/null
+#!/bin/bash
+
+set -e
+
+case "$1" in
+ start)
+ dir=/home/$USER/trash
+ dat=`date '+%y-%m-%d-%H:%M:%S'`
+ file=$dir/video_test_$dat.ogg
+
+# gst-launch-0.10 v4l2src device=/dev/video0 ! queue ! videorate ! video/x-raw-yuv,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! filesink location=$file sync=true &
+
+ gst-launch-0.10 v4l2src ! queue ! videorate ! video/x-raw-yuv,fps=30,width=320 ! queue ! theoraenc quality=60 ! queue ! muxout. jackaudiosrc connect=1 ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16 ! queue ! audioconvert ! vorbisenc ! queue ! muxout. oggmux name=muxout ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 &
+
+#
+# sleep 10
+# cat $file | oggfwd -d "TeleCaster Live Video Services" -g "Vocal" -n "TeleCaster Live Video" localhost 8000 source2parisson /telecaster_live_video.ogg &
+ ;;
+
+ stop)
+ pkill -9 oggfwd
+ pkill -9 gst-launch-0.10
+ ;;
+esac
--- /dev/null
+#!/bin/bash
+
+gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv,width=640, height=480 \
+ ! queue ! ffmpegcolorspace \
+ ! queue ! theoraenc quality=20 ! mux. \
+ alsasrc device=hw:0,0 ! audio/x-raw-int,rate=44100,channels=2,depth=16 \
+ ! queue ! audioconvert ! audio/x-raw-float,rate=44100,channels=2,depth=16 ! queue ! vorbisenc ! mux. \
+ oggmux name=mux ! filesink location=/var/www/test/test.ogg \
+
+# ! queue ! videorate ! video/x-raw-yuv, framerate=25/1 \
+#jackaudiosrc connect=1 ! queue ! audioconvert ! audio/x-raw-int,rate=44100,channels=1,width=16
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+
+gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv,width=640, height=480 \
+ ! queue ! ffmpegcolorspace \
+ ! queue ! theoraenc quality=25 ! mux. \
+ jackaudiosrc connect=1 ! queue ! audioconvert ! queue ! vorbisenc ! mux. \
+ oggmux name=mux ! filesink location=/var/www/test/test.ogg \
+
+# ! queue ! videorate ! video/x-raw-yuv, framerate=25/1 \
--- /dev/null
+#!/bin/bash
+
+gst-launch v4l2src device=/dev/video0 ! queue ! videoscale ! video/x-raw-yuv, width=160, height=120 \
+ ! queue ! ffmpegcolorspace ! video/x-raw-rgb \
+ ! queue ! videomixer name=mix \
+ sink_1::xpos=40 sink_1::ypos=60 sink_1::alpha=0.9 sink_2::xpos=40 sink_2::ypos=180 sink_2::alpha=0.9 \
+ ! queue ! videoscale ! video/x-raw-rgb, width=480, height=270 \
+ ! queue ! ffmpegcolorspace ! theoraenc quality=10 ! oggmux name=muxout \
+ ! queue ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 \
+ ximagesrc ! queue ! videorate ! video/x-raw-rgb, framerate=30/1 ! videoscale ! video/x-raw-rgb, width=160, height=120 ! mix. \
+ v4l2src device=/dev/video1 ! queue ! ffmpegcolorspace ! video/x-raw-rgb ! videoscale ! video/x-raw-rgb, width=640, height=360 ! mix. \
\ No newline at end of file
--- /dev/null
+#!/bin/sh
+
+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
--- /dev/null
+#!/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 \
+
--- /dev/null
+#!/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
+
--- /dev/null
+#!/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
+
--- /dev/null
+#!/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
+
+
--- /dev/null
+#!/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
+
--- /dev/null
+#!/bin/sh
+
+# Start TeleCaster video channel
+
+WIDTH=432
+HEIGHT=240
+
+gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
+ ! queue ! ffmpegcolorspace \
+ ! queue ! theoraenc bitrate=400 speed-level=0 ! queue ! muxout. \
+ jackaudiosrc connect=1 \
+ ! queue ! audioconvert ! queue ! vorbisenc ! queue ! muxout. \
+ oggmux name=muxout ! filesink location=/home/telecaster/archives/test.ogg \
+ > /dev/null &
+
+sleep 2
+
+jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
+jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
+
--- /dev/null
+#!/bin/sh
+
+# Start TeleCaster video channel
+
+WIDTH=640
+HEIGHT=360
+#WIDTH=1024
+#HEIGHT=576
+
+gst-launch v4l2src device=/dev/video1 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
+ ! queue ! videoflip method=rotate-180 \
+ ! queue ! ffmpegcolorspace \
+ ! queue ! vp8enc speed=2 threads=2 quality=5 ! queue ! muxout. \
+ jackaudiosrc connect=1 \
+ ! queue ! audioconvert ! queue ! vorbisenc quality=3 ! queue ! muxout. \
+ webmmux streamable=true name=muxout ! filesink location=/home/telecaster/trash/test.webm \
+ > /dev/null &
+
+sleep 2
+
+jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
+jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
+
--- /dev/null
+#!/bin/sh
+
+# Start TeleCaster video channel
+
+WIDTH=432
+HEIGHT=240
+
+gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
+ ! queue ! ffmpegcolorspace \
+ ! queue ! theoraenc quality=10 ! queue ! muxout. \
+ jackaudiosrc connect=1 \
+ ! queue ! audioconvert ! queue ! vorbisenc quality=3 ! queue ! muxout. \
+ oggmux name=muxout ! shout2send mount=/telecaster_live_video.ogg port=8000 password=source2parisson ip=127.0.0.1 \
+ > /dev/null &
+
+sleep 2
+
+jack_disconnect system:capture_1 gst-launch-0.10:in_jackaudiosrc0_1
+jack_connect jack_rack:out_1 gst-launch-0.10:in_jackaudiosrc0_1
+
--- /dev/null
+#!/bin/sh
+
+# Start TeleCaster video channel
+
+WIDTH=640
+HEIGHT=360
+
+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
--- /dev/null
+#!/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 &
+
--- /dev/null
+#!/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
+
+
+
--- /dev/null
+#!/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
+
+
+
--- /dev/null
+#!/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
+
--- /dev/null
+#!/bin/sh
+
+# Start TeleCaster video channel
+
+WIDTH=640
+HEIGHT=360
+#WIDTH=1024
+#HEIGHT=576
+
+gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
+ ! queue ! videoflip method=rotate-180 \
+ ! queue ! ffmpegcolorspace \
+ ! queue ! vp8enc speed=2 threads=2 quality=5 ! queue ! muxout. \
+ jackaudiosrc connect=1 \
+ ! queue ! audioconvert ! queue ! vorbisenc quality=3 ! queue ! muxout. \
+ webmmux streamable=true name=muxout \
+ ! tee name=t ! queue ! 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
+
--- /dev/null
+#!/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
+
--- /dev/null
+#!/bin/sh
+
+# Start TeleCaster video channel
+
+WIDTH=640
+HEIGHT=360
+#WIDTH=1024
+#HEIGHT=576
+
+gst-launch v4l2src device=/dev/video0 ! video/x-raw-yuv, width=$WIDTH, height=$HEIGHT \
+ ! queue ! videoflip method=rotate-180 \
+ ! queue ! ffmpegcolorspace \
+ ! queue ! vp8enc speed=2 threads=2 quality=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
+
--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+#!/bin/sh
+
+gst-launch tcpclientsrc host=127.0.0.1 port=9000 \
+ ! ffdec_h264 ! xvimagesink
+
--- /dev/null
+#!/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 \
--- /dev/null
+#!/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
--- /dev/null
+#!/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
+
+
+++ /dev/null
-[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
-