]> git.parisson.com Git - telecaster-server.git/commitdiff
use video ID as gst arg
authorGuillaume Pellerin <yomguy@parisson.com>
Mon, 29 Jan 2024 11:07:24 +0000 (12:07 +0100)
committerGuillaume Pellerin <yomguy@parisson.com>
Mon, 29 Jan 2024 11:07:24 +0000 (12:07 +0100)
src/etc/telecaster/deefuzzer/telecaster_webm_monitor.yaml
src/home/telecaster/.fluxbox/autostart.sh
src/home/telecaster/.fluxbox/scripts/tc_video_simple_webm_stream-gst1-h264.sh
src/home/telecaster/.fluxbox/scripts/tc_video_simple_webm_stream-gst1.sh
src/home/telecaster/.fluxbox/startup

index 0d7fe357b073cbadf7405b81062e0ab69b83aa7f..8ce7c8422f75534a1aeee2abe4383a9f44a4c1f6 100644 (file)
@@ -3,15 +3,15 @@ deefuzzer:
   m3u: /var/www/m3u/telecaster_webm_monitor.m3u
   station:
     control: {mode: 1, port: 16002}
-    infos: {description: TeleCaster WebM monitor stream, genre: Vocal, name: monitor.webm, short_name: monitor.webm,
+    infos: {description: TeleCaster WebM monitor stream, genre: Vocal, name: monitor_1.webm, short_name: monitor_1.webm,
       url: 'https://www.parisson.com'}
     jingles: {dir: /path/to/jingles, mode: '0', shuffle: '0'}
     media: {bitrate: '512', dir: /usr/local/share/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:8000/telecaster_live.webm'}
+    record: {dir: /home/telecaster/trash/webm/1, mode: 1}
+    relay: {author: TeleCaster, mode: '1', url: 'http://127.0.0.1:8000/telecaster_live_1.webm'}
     rss: {dir: /var/www/rss, enclosure: '0', media_url: 'http://localhost/rss/'}
     server: {host: 127.0.0.1, port: '8000', public: '0', sourcepassword: source2parisson,
-      type: icecast, mountpoint: monitor.webm}
+      type: icecast, mountpoint: monitor_1.webm}
     twitter: {key: 76728330-OjKgbHtn4II86Ad7pNUGEzfNAkGTW5Wvw38qUmLE, mode: '0', secret: 4egZs1dSM37XVY8zXa016Yueku2fleXF2bx8k25V4,
       tags: bla bla}
index 24e92a351513b3e612e97cbe8416e45b04dec693..85cf614b0a51bb149b14c891cc82308664a9819f 100755 (executable)
@@ -8,7 +8,9 @@ qjackctl &
 
 /home/telecaster/.fluxbox/scripts/tc_audio_mp3_icecast-gst1.sh &
 
-/home/telecaster/.fluxbox/scripts/tc_video_simple_webm_stream-gst1.sh &
+/home/telecaster/.fluxbox/scripts/tc_video_simple_webm_stream-gst1-h264.sh 0 &
+
+/home/telecaster/.fluxbox/scripts/tc_video_simple_webm_stream-gst1-h264.sh 2 &
 
 sleep 8
 
index 44043a4e8f91e6a552369f6ac1febb40e11c6086..93bae08534979139bd9181d0bfa7d69c9275e196 100755 (executable)
@@ -8,6 +8,8 @@ set -e
 V4L2_ID=0
 V4L2_ZOOM=140
 V4L2_SHARPNESS=128
+V4L2_FORMAT=image/jpeg
+#V4L2_FORMAT=video/x-h264
 
 # C920
 #VIDEO_WIDTH=864
@@ -15,8 +17,8 @@ V4L2_SHARPNESS=128
 #VIDEO_FRAMERATE=24
 
 # C922
-VIDEO_WIDTH=864
-VIDEO_HEIGHT=480
+VIDEO_WIDTH=1920
+VIDEO_HEIGHT=1080
 VIDEO_FRAMERATE=24
 VIDEO_FLIP=none
 
@@ -28,6 +30,10 @@ AUDIO_GAIN_POST=1.5
 
 source /etc/telecaster/telecaster.conf
 
+# use 1rst arg for webcam ID
+V4L2_ID=$1
+echo $V4L2_ID
+
 # V4L2 setup
 v4l2-ctl -d $V4L2_ID -c power_line_frequency=1
 v4l2-ctl -d $V4L2_ID -c zoom_absolute=$V4L2_ZOOM
@@ -36,7 +42,7 @@ v4l2-ctl -d $V4L2_ID -c focus_absolute=1
 v4l2-ctl -d $V4L2_ID -c sharpness=$V4L2_SHARPNESS
 
 # GST launch
-gst-launch-1.0 v4l2src device=/dev/video$V4L2_ID ! video/x-h264, width=$VIDEO_WIDTH, height=$VIDEO_HEIGHT, framerate=$VIDEO_FRAMERATE/1  \
+gst-launch-1.0 v4l2src device=/dev/video$V4L2_ID ! $V4L2_FORMAT, width=$VIDEO_WIDTH, height=$VIDEO_HEIGHT, framerate=$VIDEO_FRAMERATE/1  \
        ! queue ! avdec_h264 \
        ! queue ! videoflip method=$VIDEO_FLIP \
        ! queue ! videoconvert \
@@ -52,5 +58,5 @@ gst-launch-1.0 v4l2src device=/dev/video$V4L2_ID ! video/x-h264, width=$VIDEO_WI
        ! queue ! opusenc bitrate=$AUDIO_OPUS_BITRATE \
        ! queue ! muxout. \
        webmmux streamable=true name=muxout \
-       ! queue ! shout2send ip=127.0.0.1 port=8000 password=source2parisson mount=telecaster_live.webm
+       ! queue ! shout2send ip=127.0.0.1 port=8000 password=source2parisson mount=telecaster_live_$V4L2_ID.webm
        > /dev/null
index 85c1a8dbde0cc8704e972f8703c7af7bc136e7f8..b6c3c837bddaef0bbae495ac8637b4daf5af1fa8 100755 (executable)
@@ -8,6 +8,10 @@ set -e
 V4L2_ID=0
 V4L2_ZOOM=140
 V4L2_SHARPNESS=128
+V4L2_FORMAT=image/jpeg
+V4L2_DEC=jpegdec
+#V4L2_FORMAT=video/x-h264
+#V4L2_DEC=avdec_h264
 
 # C920
 #VIDEO_WIDTH=864
@@ -15,8 +19,8 @@ V4L2_SHARPNESS=128
 #VIDEO_FRAMERATE=24
 
 # C922
-VIDEO_WIDTH=864
-VIDEO_HEIGHT=480
+VIDEO_WIDTH=1920
+VIDEO_HEIGHT=1080
 VIDEO_FRAMERATE=24
 VIDEO_FLIP=none
 
@@ -28,6 +32,10 @@ AUDIO_GAIN_POST=1.5
 
 source /etc/telecaster/telecaster.conf
 
+# use 1rst arg for webcam ID
+V4L2_ID=$1
+echo $V4L2_ID
+
 # V4L2 setup
 v4l2-ctl -d $V4L2_ID -c power_line_frequency=1
 v4l2-ctl -d $V4L2_ID -c zoom_absolute=$V4L2_ZOOM
@@ -36,7 +44,8 @@ v4l2-ctl -d $V4L2_ID -c focus_absolute=1
 v4l2-ctl -d $V4L2_ID -c sharpness=$V4L2_SHARPNESS
 
 # GST launch
-gst-launch-1.0 v4l2src device=/dev/video$V4L2_ID ! video/x-raw, format=YUY2, width=$VIDEO_WIDTH, height=$VIDEO_HEIGHT, framerate=$VIDEO_FRAMERATE/1  \
+gst-launch-1.0 v4l2src device=/dev/video$V4L2_ID ! $V4L2_FORMAT, width=$VIDEO_WIDTH, height=$VIDEO_HEIGHT, framerate=$VIDEO_FRAMERATE/1  \
+       ! queue ! $V4L2_DEC \
        ! queue ! videoflip method=$VIDEO_FLIP \
        ! queue ! videoconvert \
        ! queue ! vp8enc threads=4 deadline=2 \
@@ -51,5 +60,5 @@ gst-launch-1.0 v4l2src device=/dev/video$V4L2_ID ! video/x-raw, format=YUY2, wid
        ! queue ! opusenc bitrate=$AUDIO_OPUS_BITRATE \
        ! queue ! muxout. \
        webmmux streamable=true name=muxout \
-       ! queue ! shout2send ip=127.0.0.1 port=8000 password=source2parisson mount=telecaster_live.webm
+       ! queue ! shout2send ip=127.0.0.1 port=8000 password=source2parisson mount=telecaster_live_$V4L2_ID.webm
        > /dev/null
index baf3b0820fc6e5eb9b8fa7619f1feaceb97cc7d3..960d0da0cafcae0e7ad178a67084e9dbae3e6606 100644 (file)
@@ -43,10 +43,15 @@ $FLUXBOX_DIR/scripts/tc_audio_mp3_icecast-gst1.sh &
 
 sleep 1
 
-$FLUXBOX_DIR/scripts/tc_video_simple_webm_stream-gst1-h264.sh &
+$FLUXBOX_DIR/scripts/tc_video_simple_webm_stream-gst1.sh 0 &
+
+sleep 3
+
+$FLUXBOX_DIR/scripts/tc_video_simple_webm_stream-gst1.sh 2 &
 
 sleep 1
 
+
 # STEREO setup
 # 1: L
 # 2: R