Roedd angen i mi arddangos dangosfwrdd gyda monitro ar sawl sgrin yn y swyddfa. Mae yna nifer o hen Raspberry Pi Model B + a hypervisor gyda swm bron yn ddiderfyn o adnoddau.
Mae'n debyg nad oes gan y Raspberry Pi Model B + ddigon o hap i gadw'r porwr yn rhedeg yn gyson ac yn rendro llawer o graffeg ynddo, ac oherwydd hynny mae'n digwydd bod y dudalen yn rhannol yn bygi ac yn aml yn damweiniau.
Roedd yna ateb eithaf syml a chain, yr wyf am ei rannu gyda chi.
Fel y gwyddoch, mae gan bob Mafon brosesydd fideo eithaf pwerus, sy'n wych ar gyfer datgodio fideo caledwedd. Felly daeth y syniad i fyny i lansio porwr gyda dangosfwrdd yn rhywle arall, a throsglwyddo ffrwd parod gyda llun wedi'i rendro i'r mafon.
Hefyd, dylai hyn fod wedi symleiddio rheolaeth, oherwydd yn yr achos hwn bydd yr holl gyfluniad yn cael ei berfformio ar un peiriant rhithwir, sy'n haws ei ddiweddaru a'i wneud wrth gefn.
Nid cynt wedi dweud na gwneud.
Rhan gweinydd
Rydym yn defnyddio parod
Rydym yn defnyddio peiriant rhithwir newydd ac yn gyntaf oll yn ei osod arno
apt-get update
apt-get install -y xserver-xorg nodm fluxbox
sed -i 's/^NODM_USER=.*/NODM_USER=ubuntu/' /etc/default/nodm
Byddwn hefyd yn defnyddio'r ffurfwedd ar gyfer Xorg, yn garedig
cat > /etc/X11/xorg.conf <<EOT
Section "Device"
Identifier "device"
Driver "vesa"
EndSection
Section "Screen"
Identifier "screen"
Device "device"
Monitor "monitor"
DefaultDepth 16
SubSection "Display"
Modes "1920x1080" "1280x1024" "1024x768" "800x600"
EndSubSection
EndSection
Section "Monitor"
Identifier "monitor"
HorizSync 20.0 - 50.0
VertRefresh 40.0 - 80.0
Option "DPMS"
EndSection
Section "ServerLayout"
Identifier "layout"
Screen "screen"
EndSection
EOT
systemctl restart nodm
Nawr byddwn yn gosod Firefox, byddwn yn ei redeg fel gwasanaeth system, felly am un peth byddwn yn ysgrifennu ffeil uned ar ei gyfer:
apt-get install -y firefox xdotool
cat > /etc/systemd/system/firefox.service <<EOT
[Unit]
Description=Firefox
After=network.target
[Service]
Restart=always
User=ubuntu
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/ubuntu/.Xauthority"
ExecStart=/usr/bin/firefox -url 'http://example.org/mydashboard'
ExecStartPost=/usr/bin/xdotool search --sync --onlyvisible --class "Firefox" windowactivate key F11
[Install]
WantedBy=graphical.target
EOT
systemctl enable firefox
systemctl start firefox
Mae angen Xdotool er mwyn rhedeg firefox ar unwaith yn y modd sgrin lawn.
Gan ddefnyddio'r paramedr -url
gallwch chi nodi unrhyw dudalen fel ei bod yn agor yn awtomatig pan fydd y porwr yn cychwyn.
Ar y cam hwn, mae ein ciosg yn barod, ond nawr mae angen i ni allforio'r ddelwedd dros y rhwydwaith i fonitorau a dyfeisiau eraill. I wneud hyn, byddwn yn defnyddio'r posibiliadau
Ar gyfer hyn mae angen dau beth arnom:
apt-get install -y make gcc ffmpeg
cd /tmp/
wget https://github.com/ccrisan/streameye/archive/master.tar.gz
tar xvf master.tar.gz
cd streameye-master/
make
make install
cat > /etc/systemd/system/streameye.service <<EOT
[Unit]
Description=streamEye
After=network.target
[Service]
Restart=always
User=ubuntu
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/ubuntu/.Xauthority"
ExecStart=/bin/sh -c 'ffmpeg -f x11grab -s 1920x1080 -i :0 -r 1 -f mjpeg -q:v 5 - 2>/dev/null | streameye'
[Install]
WantedBy=graphical.target
EOT
systemctl enable streameye
systemctl start streameye
Gan nad oes angen diweddariad cyflym ar ein llun, nodais y gyfradd adnewyddu: 1 ffrΓ’m yr eiliad (paramedr -r 1
) ac ansawdd cywasgu: 5 (paramedr -q:v 5
)
Nawr gadewch i ni geisio mynd i
Ochr y cleient
Mae'n dal yn haws yma, fel y dywedais, byddwn yn defnyddio'r Raspberry Pi Model B +.
Yn gyntaf oll, gadewch i ni ei osod
Bydd angen i ni hefyd neilltuo mwy o gof ar gyfer ein sglodyn fideo, ar gyfer hyn byddwn yn golygu /boot/config.txt
gpu_mem=128
Gadewch i ni gychwyn ein system newydd a pheidiwch ag anghofio cychwyn cylch allweddi pacman, gosodwch
pacman -Sy omxplayer
Yn rhyfeddol, gall OMXPlayer weithio heb x, felly y cyfan sydd ei angen arnom yw ysgrifennu ffeil uned ar ei gyfer a rhedeg:
cat > /etc/systemd/system/omxplayer.service <<EOT
[Unit]
Description=OMXPlayer
Wants=network-online.target
After=network-online.target
[Service]
Type=simple
Restart=always
ExecStart=/usr/bin/omxplayer -r --live -b http://your-vm:8080/ --aspect-mode full
[Install]
WantedBy=multi-user.target
EOT
systemctl enable omxplayer
systemctl start omxplayer
Fel paramedr -b http://your-vm:8080/
rydym yn pasio'r url o'n gweinydd.
Dyna i gyd, dylai llun o'n gweinydd ymddangos ar unwaith ar y sgrin gysylltiedig. Yn achos unrhyw broblemau, bydd y ffrwd yn cael ei ailgychwyn yn awtomatig a bydd cleientiaid yn ailgysylltu ag ef.
Fel bonws, gallwch osod y llun canlyniadol fel arbedwr sgrin ar bob cyfrifiadur yn y swyddfa. Ar gyfer hyn bydd angen
mode: one
selected: 0
programs:
"Monitoring Screen" mpv --really-quiet --no-audio --fs
--loop=inf --no-stop-screensaver
--wid=$XSCREENSAVER_WINDOW
http://your-vm:8080/ n
maze -root n
electricsheep --root 1 n
Nawr bydd eich cydweithwyr yn hapus iawn π
Ffynhonnell: hab.com