ජාලය හරහා විවිධ උපාංග වෙත තිරය ප්‍රවාහ කරන්න

ජාලය හරහා විවිධ උපාංග වෙත තිරය ප්‍රවාහ කරන්න

කාර්යාලයේ තිර කිහිපයක නිරීක්ෂණ සහිත උපකරණ පුවරුවක් ප්‍රදර්ශනය කිරීමට මට අවශ්‍ය විය. අප සතුව පැරණි Raspberry Pi Model B+ කිහිපයක් සහ අසීමිත සම්පත් ප්‍රමාණයක් සහිත හයිපර්වයිසරයක් ඇත.

පෙනෙන විදිහට Raspberry Pi Model B+ හට බ්‍රවුසරය නිරතුරුව ක්‍රියාත්මක කිරීමට සහ එහි විශාල ග්‍රැෆික්ස් ප්‍රමාණයක් ලබා දීමට ප්‍රමාණවත් අහඹු බවක් නොමැත, එම නිසා පිටුව අර්ධ වශයෙන් දෝෂ සහිත වන අතර බොහෝ විට බිඳ වැටේ.

මම ඔබ සමඟ බෙදා ගැනීමට අවශ්‍ය තරමක් සරල හා අලංකාර විසඳුමක් සොයා ගතිමි.

ඔබ දන්නා පරිදි, සියලුම රාස්ප්බෙරි වලට තරමක් බලවත් වීඩියෝ ප්‍රොසෙසරයක් ඇත, එය දෘඩාංග වීඩියෝ විකේතනය සඳහා විශිෂ්ටයි. එබැවින් වෙනත් ස්ථානයක උපකරණ පුවරුවක් සහිත බ්‍රවුසරයක් දියත් කිරීමටත්, විදැහුම් කළ රූපයක් සහිත සූදානම් කළ ප්‍රවාහයක් රාස්ප්බෙරි වෙත මාරු කිරීමටත් අදහස මතු විය.

තවද, මෙය සරල කළමණාකරණයක් තිබිය යුතුය, මන්ද මෙම අවස්ථාවේ දී සියලු සැකසුම් එක් අතථ්‍ය යන්ත්‍රයක සිදු කරනු ලබන අතර, එය යාවත්කාලීන කිරීමට සහ උපස්ථ කිරීමට පහසු වනු ඇත.

කියපු ගමන්ම කරණය කිරීම.

සේවාදායක කොටස

අපි සූදානම් භාවිතා කරන්නෙමු Ubuntu සඳහා Cloud Image. ස්ථාපනය අවශ්‍ය නොවී, ඔබට ඉක්මනින් අතථ්‍ය යන්ත්‍රයක් යෙදවීමට අවශ්‍ය සියල්ල එහි අඩංගු වේ, සහ Cloud-Init සහාය ක්ෂණිකව ජාලයක් සැකසීමට, ssh යතුරු එකතු කිරීමට සහ ඉක්මනින් එය ක්රියාත්මක කිරීමට උපකාරී වේ.

අපි නව අථත්‍ය යන්ත්‍රයක් යොදවා ප්‍රථමයෙන් එය එහි ස්ථාපනය කරමු Xorg, nodm и ප්‍රවාහ පෙට්ටිය:

apt-get update
apt-get install -y xserver-xorg nodm fluxbox
sed -i 's/^NODM_USER=.*/NODM_USER=ubuntu/' /etc/default/nodm

අපි Xorg සඳහා වින්‍යාසය ද භාවිතා කරන්නෙමු ලබා දී ඇත us Diego Ongaro, නව යෝජනාවක් පමණක් එක් කරමින් 1920 × 1080, අපගේ සියලුම මොනිටර එය භාවිතා කරන බැවින්:

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

දැන් අපි ෆයර්ෆොක්ස් ස්ථාපනය කරන්නෙමු, අපි එය පද්ධති සේවාවක් ලෙස ක්‍රියාත්මක කරන්නෙමු, එබැවින් අපි ඒ සඳහා ඒකක ගොනුවක් එකවර ලියන්නෙමු:

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

ෆයර්ෆොක්ස් සම්පූර්ණ තිර ආකාරයෙන් වහාම දියත් කිරීමට අපට Xdotool අවශ්‍ය වේ.
පරාමිතිය භාවිතා කිරීම -url බ්රවුසරය ආරම්භ වන විට එය ස්වයංක්රීයව විවෘත වන පරිදි ඔබට ඕනෑම පිටුවක් නියම කළ හැක.

මෙම අදියරේදී, අපගේ කියෝස්ක් සූදානම්, නමුත් දැන් අපි ජාලය හරහා වෙනත් මොනිටර සහ උපාංග වෙත රූපය අපනයනය කළ යුතුය. මෙය සිදු කිරීම සඳහා අපි අවස්ථාවන්ගෙන් ප්‍රයෝජන ගනිමු චලිතය JPEG, බොහෝ වෙබ් කැමරා වලින් වීඩියෝ ප්‍රවාහය සඳහා බොහෝ විට භාවිතා කරන ආකෘතියකි.

මෙය සිදු කිරීම සඳහා අපට කරුණු දෙකක් අවශ්ය වේ: FFmpeg මොඩියුලය සමඟ x11grab, X වෙතින් රූප ලබා ගැනීමට සහ streamEye, එය අපගේ ගනුදෙනුකරුවන්ට බෙදාහරින්නේ කවුද:

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

අපගේ රූපය වේගවත් යාවත්කාලීන කිරීම අවශ්‍ය නොවන බැවින්, මම නැවුම් කිරීමේ අනුපාතය නියම කළෙමි: තත්පරයට රාමු 1 (පරාමිතිය -r 1) සහ සම්පීඩන ගුණාත්මකභාවය: 5 (පරාමිතිය -q:v 5)

දැන් අපි යන්න උත්සාහ කරමු http://your-vm:8080/, ප්‍රතිචාරයක් ලෙස ඔබ ඔබේ ඩෙස්ක්ටොප් එකේ නිරන්තරයෙන් යාවත්කාලීන වූ තිර රුවක් දකිනු ඇත. මහා! - ඒක තමයි අවශ්‍ය වුණේ.

සේවාදායකයාගේ පැත්ත

මෙන්න සෑම දෙයක්ම ඊටත් වඩා සරලයි, මම දැනටමත් පවසා ඇති පරිදි, අපි Raspberry Pi Model B+ භාවිතා කරන්නෙමු.

මුලින්ම, අපි එය මත ස්ථාපනය කරමු ආරුක්කු ලිනක්ස් ARM, මේ සඳහා අපි අනුගමනය කරන්නෙමු උපදෙස් නිල වෙබ් අඩවියේ.

අපගේ වීඩියෝ චිපය සඳහා අපට වැඩි මතකයක් වෙන් කිරීමට අවශ්‍ය වනු ඇත, මේ සඳහා අපි සංස්කරණය කරන්නෙමු /boot/config.txt

gpu_mem=128

අපි අපේ නව පද්ධතිය ආරම්භ කර, pacman යතුරුකරණය ආරම්භ කිරීමට මතක තබා, ස්ථාපනය කරමු OMXPlayer:

pacman -Sy omxplayer

සැලකිය යුතු දෙය නම් OMXPlayer X නොමැතිව ක්‍රියා කළ හැකි වීමයි, එබැවින් අපට අවශ්‍ය වන්නේ ඒ සඳහා ඒකක ගොනුවක් ලියා ධාවනය කිරීමයි:

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

පරාමිතියක් ලෙස -b http://your-vm:8080/ අපි අපගේ සේවාදායකයෙන් URL යවමු.

එපමණයි, අපගේ සේවාදායකයේ පින්තූරයක් වහාම සම්බන්ධිත තිරයේ දිස්විය යුතුය. කිසියම් ගැටළුවක් ඇති වුවහොත්, ප්‍රවාහය ස්වයංක්‍රීයව නැවත ආරම්භ වන අතර සේවාදායකයින් එයට නැවත සම්බන්ධ වනු ඇත.

ප්‍රසාද දීමනාවක් ලෙස, ඔබට ලැබෙන රූපය කාර්යාලයේ සියලුම පරිගණකවල තිර සුරැකුමක් ලෙස ස්ථාපනය කළ හැකිය. මේ සඳහා ඔබට අවශ්ය වනු ඇත බහු කාර්ය වාහන и XScreenSaver:

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

දැන් ඔබේ සගයන් ඉතා සතුටු වනු ඇත :)

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න