Ver código fonte

adjust widths and heights

David 9 anos atrás
pai
commit
dbad47bf5e
4 arquivos alterados com 37 adições e 9 exclusões
  1. 26 5
      camera1/cam.py
  2. 1 1
      camera1/slide_syncer.sh
  3. 6 2
      camera1/slides.sh
  4. 4 1
      mic1/feed-mic.sh

+ 26 - 5
camera1/cam.py

@@ -2,7 +2,8 @@
 import sys
 import gi
 gi.require_version('Gst', '1.0')
-from gi.repository import Gst
+gi.require_version('GstNet', '1.0')
+from gi.repository import Gst, GstNet
 import time
 import threading
 import os
@@ -11,9 +12,18 @@ import stat
 WIDTH  = 1280
 HEIGHT = 720
 
+WIDTH  = 1024
+HEIGHT = 576
+
 SCREEN_WIDTH = 800
 SCREEN_HEIGHT = 600
 
+SCREEN_WIDTH = 1280
+SCREEN_HEIGHT = 720
+
+SCREEN_WIDTH = 1920
+SCREEN_HEIGHT = 1080
+
 def bus_call(bus, msg, *args):
 	if msg.type == Gst.MessageType.EOS:
 		print("End-of-stream")
@@ -94,19 +104,30 @@ if __name__ == "__main__":
 	Gst.init(None)
 
 	videocodec = "video/x-h264, width=%d, height=%d, framerate=25/1, profile=high ! h264parse" % (WIDTH, HEIGHT)
-	p = "rpicamsrc sensor-mode=4 do-timestamp=true name=src ! "+videocodec+" ! matroskamux ! tcpserversink host=0.0.0.0 port=5000 sync-method=burst-keyframe"
+	p = "rpicamsrc sensor-mode=4 bitrate=0 quantisation-parameter=12 do-timestamp=true keyframe-interval=5 name=src ! "+videocodec+" ! matroskamux streamable=true ! tcpserversink host=0.0.0.0 port=5000 sync-method=next-keyframe blocksize=16384"
 	print(p)
+    # 
 	pipeline = Gst.parse_launch (p)
 	if pipeline == None:
 		print ("Failed to create pipeline")
 		sys.exit(0)
 
+	clock = GstNet.NetClientClock.new('CamVoctoClock', '192.168.2.123', 9998, 0)
+	#print("Waiting for clock sync")
+	#clock.wait_for_sync(Gst.CLOCK_TIME_NONE)
+	#clock.do_wait(Gst.CLOCK_TIME_NONE)
+	#print("Clock synced")
+	pipeline.set_start_time(Gst.CLOCK_TIME_NONE)
+	if clock is not None:
+		pass
+		#pipeline.use_clock(clock)
+
 	videosrc = pipeline.get_by_name ("src")
 	videosrc.set_property("preview", 1)
-	videosrc.set_property("preview-w", WIDTH)
-	videosrc.set_property("preview-h", HEIGHT)
+	videosrc.set_property("preview-w", SCREEN_WIDTH)
+	videosrc.set_property("preview-h", SCREEN_HEIGHT)
 	videosrc.set_property("fullscreen", False)
-	videosrc.set_property("bitrate", 16000000)
+	#videosrc.set_property("bitrate", 14000000)
 	# videosrc.set_property("bitrate", 25000000)
 	videosrc.set_property("rotation", 180)
 	set_preview(0)

+ 1 - 1
camera1/slide_syncer.sh

@@ -1,3 +1,3 @@
 #!/bin/bash
-rsync -avz --files-from=<( ssh especificosba.com.ar "cd /var/www/cursos-ng/diapo/ && find . -mtime -7 " ) especificosba.com.ar:/var/www/cursos-ng/diapo/ /home/curso/slides/
+rsync -avz --files-from=<( ssh especificosba.com.ar 'cd /var/www/cursos-ng/diapo/ && find . -mtime -7 -not -name "*fs8*"' ) especificosba.com.ar:/var/www/cursos-ng/diapo/ /home/curso/slides/
 

+ 6 - 2
camera1/slides.sh

@@ -3,11 +3,15 @@
 HOST="192.168.2.84"
 HOST="192.168.2.21"
 HOST="192.168.2.123"
-
+export LD_LIBRARY_PATH=/usr/local/lib 
 while true; do
     date
 	#~/code/telepi/telepi - 2>/dev/null | netcat $HOST 5001
-	~/code/telepi/telepi -  | nc $HOST 5001
+	~/code/telepi/telepi - |
+    gst-launch-1.0 -v fdsrc do-timestamp=true !\
+        h264parse ! matroskamux streamable=true !\
+        tcpserversink blocksize=16384 host=192.168.2.208 port=5002
+
 	sleep 3
 	echo "the fb grabber died"
 done

+ 4 - 1
mic1/feed-mic.sh

@@ -3,4 +3,7 @@ set -euo pipefail
 HOST="192.168.2.123:5003"
 SRC="alsasrc device=hw:CARD=CODEC,DEV=0 slave-method=resample provide-clock=true do-timestamp=true buffer-time=20000"
 
-gst-launch-1.0 $SRC ! queue ! audioconvert ! audioresample ! audio/x-raw,format=S16LE,channels=2,rate=48000,layout=interleaved ! multiudpsink clients=$HOST
+gst-launch-1.0 -ve $SRC ! queue !\
+	audio/x-raw,format=S16LE,channels=2,rate=48000,layout=interleaved !\
+	audioconvert ! audioresample !\
+	queue ! matroskamux streamable=true ! tcpclientsink host=192.168.2.123 port=10003