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 ...@@ -7,14 +7,14 @@ livesources=slides
[programoutput] [programoutput]
enabled = true enabled = true
videosink = kmssink videosink = glimagesink
audiosink = alsasink device="hw:CARD=U192k,DEV=0"
[source.usbaudio] [source.usbaudio]
kind = alsa kind = alsa
volume = 1.0 volume = 1.0
device = hw:CARD=U192k,DEV=0 device = hw:CARD=U192k,DEV=0
audio.usbaudio = 1+0 audio.usbaudio = 0+1
[source.slides] [source.slides]
kind = v4l2 kind = v4l2
...@@ -46,9 +46,9 @@ enabled=true ...@@ -46,9 +46,9 @@ enabled=true
live=true live=true
videodecoder=vaapi videodecoder=vaapi
videoencoder=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 videocaps=video/x-h264,width=960,height=540,framerate=30/1
sources=cam1,slides sources=cam1,slides,mix,mix-blinded
[blinder] [blinder]
enabled=true enabled=true
......
...@@ -7,13 +7,14 @@ livesources=slides ...@@ -7,13 +7,14 @@ livesources=slides
[programoutput] [programoutput]
enabled = true enabled = true
videosink = kmssink videosink = glimagesink
audiosink = alsasink device="hw:CARD=U192k,DEV=0"
[source.usbaudio] [source.usbaudio]
kind = alsa kind = alsa
volume = 1.0 volume = 1.0
device = hw:CARD=U192k,DEV=0 device = hw:CARD=U192k,DEV=0
audio.usbaudio = 1+0 audio.usbaudio = 0+1
[source.slides] [source.slides]
kind = v4l2 kind = v4l2
...@@ -53,7 +54,7 @@ enabled=true ...@@ -53,7 +54,7 @@ enabled=true
live=true live=true
videodecoder=vaapi videodecoder=vaapi
videoencoder=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 videocaps=video/x-h264,width=960,height=540,framerate=30/1
sources=cam1,cam2,slides,mix,mix-blinded sources=cam1,cam2,slides,mix,mix-blinded
......
...@@ -11,17 +11,11 @@ width=320 ...@@ -11,17 +11,11 @@ width=320
use=true use=true
[videodisplay] [videodisplay]
# Use VAAPI's renderer, requires VAAPI-based previews # Gtk
#system=vaapi #system=gtk
# Use OpenGL - most performant # Use OpenGL - most performant
#system=gl system=gtkgl
# Use XVideo - oldschool
system=xv
# Use simple X-Images - least performant
#system=xv
[toolbar] [toolbar]
close=true 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 \ ...@@ -9,6 +9,8 @@ apt install -y \
gir1.2-gst-plugins-base-1.0 \ gir1.2-gst-plugins-base-1.0 \
gir1.2-gstreamer-1.0 \ gir1.2-gstreamer-1.0 \
gstreamer1.0-alsa \ gstreamer1.0-alsa \
gstreamer1.0-gl \
gstreamer1.0-libav \
gstreamer1.0-plugins-bad \ gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-base \ gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \ gstreamer1.0-plugins-good \
...@@ -27,15 +29,15 @@ apt install -y \ ...@@ -27,15 +29,15 @@ apt install -y \
usermod -aG audio voc usermod -aG audio voc
usermod -aG render voc usermod -aG render voc
usermod -aG video 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/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-recording-sink.service /usr/lib/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-streaming-sink.service /usr/lib/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-voctocore.service /usr/lib/systemd/system/voctomix2-voctocore.service
ln -s /opt/voc/services/voctomix2-playout-premix.service /etc/systemd/system/voctomix2-playout-premix.service ln -s /opt/voc/services/weston.service /usr/lib/systemd/system/weston.service
ln -s /opt/voc/services/voctomix2-voctocore.service /etc/systemd/system/voctomix2-voctocore.service
systemctl enable voctomix2-recording-sink.service systemctl enable voctomix2-recording-sink.service
systemctl enable voctomix2-streaming-sink.service systemctl enable voctomix2-streaming-sink.service
systemctl enable voctomix2-playout-mix.service
systemctl enable voctomix2-voctocore.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 #!/bin/sh
set
echo "[INFO] Recording to /storage/capture/${EVENT}/${ROOM} started…" echo "[INFO] Recording to /storage/capture/${EVENT}/${ROOM} started…"
mkdir -p "/storage/capture/${EVENT}"
ffmpeg -y -nostdin -hide_banner -re \ 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 \ -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" \ -filter_hw_device vaapi0 \
-map 0:a:0 -c:a s302m -metadata:s:a:0 title="Native" \ -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 \ -strict -2 \
-flags +global_header \ -flags +global_header \
-f segment \ -f segment \
......
...@@ -15,15 +15,15 @@ else ...@@ -15,15 +15,15 @@ else
fi fi
ffmpeg -y -nostdin -hide_banner -re \ 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 vaapi \
-hwaccel_output_format vaapi \ -hwaccel_output_format vaapi \
-thread_queue_size 512 -i tcp://localhost:15000?timeout=3000000 \ -thread_queue_size 512 -i tcp://localhost:15000?timeout=3000000 \
-filter_hw_device vaapi0 \ -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 \ -c:v h264_vaapi \
-flags +cgop -aspect 16:9 \ -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 \ -c:a aac -b:a 192k -ar 48000 \
-map "[hd]" \ -map "[hd]" \
-metadata:s:v:0 title="HD" \ -metadata:s:v:0 title="HD" \
......
...@@ -15,3 +15,4 @@ StartLimitInterval=0 ...@@ -15,3 +15,4 @@ StartLimitInterval=0
[Install] [Install]
WantedBy=voctomix2-voctocore.service WantedBy=voctomix2-voctocore.service
...@@ -15,3 +15,4 @@ StartLimitInterval=0 ...@@ -15,3 +15,4 @@ StartLimitInterval=0
[Install] [Install]
WantedBy=voctomix2-voctocore.service WantedBy=voctomix2-voctocore.service
[Unit] [Unit]
Description=voctomix2 core Description=voctomix2 core
After=network.target After=weston.service network.target
[Service] [Service]
User=voc User=voc
Group=voc Group=voc
Type=notify Type=notify
WorkingDirectory=/opt/voc/voctomix 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 Restart=always
RestartSec=1s RestartSec=1s
StartLimitInterval=0 StartLimitInterval=0
LimitRTPRIO=95
LimitRTTIME=infinity
LimitMEMLOCK=infinity
[Install] [Install]
WantedBy=multi-user.target 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] [Desktop Entry]
Comment= 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 GenericName=Full-HD Software Live-Video-Mixer in python
Icon=/opt/voc/voctomix/voctogui/ui/voc.svg Icon=/opt/voc/voctomix/voctogui/ui/voc.svg
Name=Voctomix Name=Voctomix
......