Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • justJanne/voctomix-config
1 result
Show changes
Commits on Source (12)
......@@ -7,14 +7,14 @@ livesources=slides
[programoutput]
enabled = true
videosink = kmssink
videosink = glimagesink
audiosink = alsasink device="hw:CARD=U192k,DEV=0"
[source.usbaudio]
kind = alsa
volume = 1.0
device = hw:CARD=U192k,DEV=0
audio.usbaudio = 1+0
audio.usbaudio = 0+1
[source.slides]
kind = v4l2
......@@ -46,9 +46,9 @@ enabled=true
live=true
videodecoder=vaapi
videoencoder=vaapi
videocodec=h264
videocodec=h264,bitrate=25000,rate-control=cbr,quality-level=7,tune=1
videocaps=video/x-h264,width=960,height=540,framerate=30/1
sources=cam1,slides
sources=cam1,slides,mix,mix-blinded
[blinder]
enabled=true
......
......@@ -7,13 +7,14 @@ livesources=slides
[programoutput]
enabled = true
videosink = kmssink
videosink = glimagesink
audiosink = alsasink device="hw:CARD=U192k,DEV=0"
[source.usbaudio]
kind = alsa
volume = 1.0
device = hw:CARD=U192k,DEV=0
audio.usbaudio = 1+0
audio.usbaudio = 0+1
[source.slides]
kind = v4l2
......@@ -53,7 +54,7 @@ enabled=true
live=true
videodecoder=vaapi
videoencoder=vaapi
videocodec=h264
videocodec=h264,bitrate=25000,rate-control=cbr,quality-level=7,tune=1
videocaps=video/x-h264,width=960,height=540,framerate=30/1
sources=cam1,cam2,slides,mix,mix-blinded
......
......@@ -11,17 +11,11 @@ width=320
use=true
[videodisplay]
# Use VAAPI's renderer, requires VAAPI-based previews
#system=vaapi
# Gtk
#system=gtk
# Use OpenGL - most performant
#system=gl
# Use XVideo - oldschool
system=xv
# Use simple X-Images - least performant
#system=xv
system=gtkgl
[toolbar]
close=true
......
[core]
idle-time=0
shell=kiosk
backend=drm
renderer=gl
require-input=false
xwayland=false
[shell]
background-type=scale
background-image=/opt/voc/assets/bg1080.png
[output]
name=HDMI-A-5
transform=normal
mode=1920x1080@120
allow_hdcp=false
force-on=true
......@@ -9,6 +9,8 @@ apt install -y \
gir1.2-gst-plugins-base-1.0 \
gir1.2-gstreamer-1.0 \
gstreamer1.0-alsa \
gstreamer1.0-gl \
gstreamer1.0-libav \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
......@@ -27,15 +29,15 @@ apt install -y \
usermod -aG audio voc
usermod -aG render voc
usermod -aG video voc
usermod -aG weston-launch voc
ln -s /opt/voc/configs/udev.rules /etc/udev/rules.d/v4l2-voc.rules
ln -s /opt/voc/services/voctomix2-recording-sink.service /etc/systemd/system/voctomix2-recording-sink.service
ln -s /opt/voc/services/voctomix2-streaming-sink.service /etc/systemd/system/voctomix2-streaming-sink.service
ln -s /opt/voc/services/voctomix2-playout-mix.service /etc/systemd/system/voctomix2-playout-mix.service
ln -s /opt/voc/services/voctomix2-playout-premix.service /etc/systemd/system/voctomix2-playout-premix.service
ln -s /opt/voc/services/voctomix2-voctocore.service /etc/systemd/system/voctomix2-voctocore.service
ln -s /opt/voc/services/voctomix2-recording-sink.service /usr/lib/systemd/system/voctomix2-recording-sink.service
ln -s /opt/voc/services/voctomix2-streaming-sink.service /usr/lib/systemd/system/voctomix2-streaming-sink.service
ln -s /opt/voc/services/voctomix2-voctocore.service /usr/lib/systemd/system/voctomix2-voctocore.service
ln -s /opt/voc/services/weston.service /usr/lib/systemd/system/weston.service
systemctl enable voctomix2-recording-sink.service
systemctl enable voctomix2-streaming-sink.service
systemctl enable voctomix2-playout-mix.service
systemctl enable voctomix2-voctocore.service
systemctl enable weston.service
\ No newline at end of file
#!/bin/bash
port=$1
fbset -g 1920 1080 1920 1080 32
echo 0 > /sys/class/graphics/fbcon/cursor_blink
export SDL_AUDIODRIVER="alsa"
export AUDIODEV="hdmi:CARD=PCH,DEV=0"
ffplay \
-v verbose \
-fflags nobuffer \
-flags low_delay \
-probesize 32 \
-analyzeduration 50 \
-framedrop \
-f matroska \
-i tcp://localhost:${port} \
-vf "setpts=0"
#!/bin/sh
set
echo "[INFO] Recording to /storage/capture/${EVENT}/${ROOM} started…"
mkdir -p "/storage/capture/${EVENT}"
ffmpeg -y -nostdin -hide_banner -re \
-init_hw_device vaapi=vaapi0:/dev/dri/renderD129 \
-hwaccel vaapi \
-hwaccel_output_format vaapi \
-thread_queue_size 512 -i tcp://localhost:11000?timeout=3000000 \
-map 0:v -c:v:0 mpeg2video -pix_fmt:v:0 yuv420p -qscale:v:0 4 -qmin:v:0 4 -qmax:v:0 4 -keyint_min:v:0 5 -bf:v:0 0 -g:v:0 5 -me_method:v:0 dia -metadata:s:v:0 title="HD" \
-map 0:a:0 -c:a s302m -metadata:s:a:0 title="Native" \
-filter_hw_device vaapi0 \
-filter_complex "[0:v]format=nv12,hwupload[hd];" \
-c:v h264_vaapi \
-flags +cgop -aspect 16:9 \
-r:v:0 60 -g:v:0 180 \
-map "[hd]" \
-metadata:s:v:0 title="HD" \
-map "0:a:0" -metadata:s:a:0 title="native" \
-c:a s302m \
-strict -2 \
-flags +global_header \
-f segment \
......
......@@ -15,15 +15,15 @@ else
fi
ffmpeg -y -nostdin -hide_banner -re \
-init_hw_device vaapi=vaapi0:/dev/dri/renderD128 \
-init_hw_device vaapi=vaapi0:/dev/dri/renderD129 \
-hwaccel vaapi \
-hwaccel_output_format vaapi \
-thread_queue_size 512 -i tcp://localhost:15000?timeout=3000000 \
-filter_hw_device vaapi0 \
-filter_complex "[0:v]hqdn3d,format=nv12,hwupload[hd];" \
-filter_complex "[0:v]format=nv12,hwupload[hd];" \
-c:v h264_vaapi \
-flags +cgop -aspect 16:9 \
-r:v:0 30 -g:v:0 90 -crf:v:0 21 -maxrate:v:0 6M -bufsize:v:0 24M \
-r:v:0 30 -g:v:0 60 -b:v 6M -maxrate:v:0 8M \
-c:a aac -b:a 192k -ar 48000 \
-map "[hd]" \
-metadata:s:v:0 title="HD" \
......
......@@ -15,3 +15,4 @@ StartLimitInterval=0
[Install]
WantedBy=voctomix2-voctocore.service
......@@ -15,3 +15,4 @@ StartLimitInterval=0
[Install]
WantedBy=voctomix2-voctocore.service
[Unit]
Description=voctomix2 core
After=network.target
After=weston.service network.target
[Service]
User=voc
Group=voc
Type=notify
WorkingDirectory=/opt/voc/voctomix
ExecStart=/opt/voc/voctomix/voctocore/voctocore.py --ini-file /opt/voc/configs/voctocore-cam2.ini -vv
Environment=WAYLAND_DISPLAY=/run/user/1000/wayland-1
Environment=XDG_RUNTIME_DIR=/run/user/1000
ExecStart=/opt/voc/voctomix/voctocore/voctocore.py --ini-file /opt/voc/configs/voctocore-cam2.ini --pipeline -vv
Restart=always
RestartSec=1s
StartLimitInterval=0
LimitRTPRIO=95
LimitRTTIME=infinity
LimitMEMLOCK=infinity
[Install]
WantedBy=multi-user.target
[Unit]
Description=Weston Wayland compositor startup
After=systemd-user-sessions.service
[Service]
Type=simple
Environment=XDG_SESSION_TYPE=wayland
User=voc
PAMName=login
TTYPath=/dev/tty7
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
StandardInput=tty-fail
StandardError=journal
UtmpIdentifier=tty7
UtmpMode=user
ExecStart=/usr/bin/weston --config /opt/voc/configs/weston.ini
[Install]
WantedBy=multi-user.target
[Desktop Entry]
Comment=
Exec=env GDK_BACKEND=x11 /opt/voc/voctomix/voctogui/voctogui.py -vv -i /opt/voc/configs/voctogui.ini
Exec=/opt/voc/voctomix/voctogui/voctogui.py -v -i /opt/voc/configs/voctogui.ini
GenericName=Full-HD Software Live-Video-Mixer in python
Icon=/opt/voc/voctomix/voctogui/ui/voc.svg
Name=Voctomix
......