From 5d6d46642fbf6e983fad43407f948d4c8c3e1c54 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Sun, 14 Jul 2013 10:27:45 +0200 Subject: [PATCH] add gstreamer based JACK to icecast MP3 lame encoder, add YAML deefuzzer audio conf file --- .../telecaster/telecaster_audio_monitor.xml | 62 +++++++++++++++++++ .../telecaster/telecaster_audio_monitor.yaml | 25 ++++++++ tcserver/conf/home/fluxbox/tc_audio_start.sh | 13 ++-- tcserver/conf/home/fluxbox/tc_video_start.sh | 8 +-- .../home/fluxbox/telecaster/gst_osc_multi.py | 5 +- .../home/fluxbox/telecaster/tc_audio_mp3.sh | 6 ++ .../telecaster/tc_video_simple_webm_stream.sh | 6 +- 7 files changed, 108 insertions(+), 17 deletions(-) create mode 100644 tcserver/conf/etc/telecaster/telecaster_audio_monitor.xml create mode 100644 tcserver/conf/etc/telecaster/telecaster_audio_monitor.yaml create mode 100755 tcserver/conf/home/fluxbox/telecaster/tc_audio_mp3.sh diff --git a/tcserver/conf/etc/telecaster/telecaster_audio_monitor.xml b/tcserver/conf/etc/telecaster/telecaster_audio_monitor.xml new file mode 100644 index 0000000..56ba762 --- /dev/null +++ b/tcserver/conf/etc/telecaster/telecaster_audio_monitor.xml @@ -0,0 +1,62 @@ + + /var/log/telecaster/telecaster_audio_monitor.log + /var/www/m3u/telecaster_audio_monitor.m3u + + + + 0 + 1236 + + + http://127.0.0.1:8000/telecaster_live.mp3 + 1 + Inconnu + + + 0 + mp3 + 2 + 4 + 48000 + 96 + /home/telecaster/media/mp3 + + + 4egZs1dSM37XVY8zXa016Yueku2fleXF2bx8k25V4 + 0 + 76728330-OjKgbHtn4II86Ad7pNUGEzfNAkGTW5Wvw38qUmLE + bla bla + + + icecast + 127.0.0.1 + 8000 + source2parisson + 0 + telecaster_mp3_monitor + + + 1 + /home/telecaster/trash/mp3 + + + 1 + 0 + /path/to/jingles + + + http://parisson.com.com + Vocal + telecaster_mp3_monitor + TeleCaster MP3 monitor + + + 0 + /var/www/rss + http://my.domain.com/rss/ + + + + + + diff --git a/tcserver/conf/etc/telecaster/telecaster_audio_monitor.yaml b/tcserver/conf/etc/telecaster/telecaster_audio_monitor.yaml new file mode 100644 index 0000000..0e45d94 --- /dev/null +++ b/tcserver/conf/etc/telecaster/telecaster_audio_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: 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/home/fluxbox/tc_audio_start.sh b/tcserver/conf/home/fluxbox/tc_audio_start.sh index b1fde28..08ab71b 100755 --- a/tcserver/conf/home/fluxbox/tc_audio_start.sh +++ b/tcserver/conf/home/fluxbox/tc_audio_start.sh @@ -15,20 +15,21 @@ fi qjackctl & -edcast_jack -c /etc/telecaster/edcast_jack_local.cfg -n LIVE -p jack_rack > /dev/null & +telecaster/tc_audio_mp3.sh & +#edcast_jack -c /etc/telecaster/edcast_jack_local.cfg -n lamemp3enc -p jack_rack > /dev/null & sleep 3 # MONO setup -jack_disconnect jack_rack:out_2 LIVE:in_2 -jack_connect jack_rack:out_1 LIVE:in_1 -jack_connect jack_rack:out_1 LIVE:in_2 +jack_disconnect jack_rack:out_2 lamemp3enc:in_2 +jack_connect jack_rack:out_1 lamemp3enc:in_1 +jack_connect jack_rack:out_1 lamemp3enc:in_2 #jack_connect jack_rack:out_1 system:playback_1 #jack_connect jack_rack:out_1 system:playback_2 # STEREO setup -#jack_connect jack_rack:out_1 LIVE:in_1 -#jack_connect jack_rack:out_2 LIVE:in_2 +#jack_connect jack_rack:out_1 lamemp3enc:in_1 +#jack_connect jack_rack:out_2 lamemp3enc:in_2 #jack_connect jack_rack:out_1 system:playback_1 #jack_connect jack_rack:out_2 system:playback_2 diff --git a/tcserver/conf/home/fluxbox/tc_video_start.sh b/tcserver/conf/home/fluxbox/tc_video_start.sh index 07783ee..bdac632 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 -/home/telecaster/.fluxbox/telecaster/tc_video_simple_webm_stream.sh > /dev/null & +telecaster/tc_video_simple_webm_stream.sh > /dev/null & sleep 3 -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 +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/deefuzzer_video_safe.xml > /dev/null & diff --git a/tcserver/conf/home/fluxbox/telecaster/gst_osc_multi.py b/tcserver/conf/home/fluxbox/telecaster/gst_osc_multi.py index c551661..d47e17f 100644 --- a/tcserver/conf/home/fluxbox/telecaster/gst_osc_multi.py +++ b/tcserver/conf/home/fluxbox/telecaster/gst_osc_multi.py @@ -75,13 +75,10 @@ class GSTWebmStreamer(object): ! 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)) + ! 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) diff --git a/tcserver/conf/home/fluxbox/telecaster/tc_audio_mp3.sh b/tcserver/conf/home/fluxbox/telecaster/tc_audio_mp3.sh new file mode 100755 index 0000000..0d45ed1 --- /dev/null +++ b/tcserver/conf/home/fluxbox/telecaster/tc_audio_mp3.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/home/fluxbox/telecaster/tc_video_simple_webm_stream.sh b/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream.sh index b5d2704..5753f72 100755 --- a/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream.sh +++ b/tcserver/conf/home/fluxbox/telecaster/tc_video_simple_webm_stream.sh @@ -7,14 +7,14 @@ HEIGHT=360 #WIDTH=1280 #HEIGHT=720 -v4l2-ctl -d 1 -c power_line_frequency=1 +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 ! audio/x-raw-float, channels=2 \ + 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 -- 2.39.5