Si të instaloni Unturned në Linux
Përdorimi i një sistemi të ndryshëm? Hyrje Në këtë udhëzues, do të mësoni se si të konfiguroni dhe instaloni një server Unturned në Linux. Unturned është një mbijetesë popullore
HTTP Live Streaming (HLS) është një protokoll video transmetimi shumë i fortë i zbatuar nga Apple Inc. HLS përdor transaksionet HTTP të cilat përshkojnë muret e zjarrit, proxies dhe mund të shpërndahen me lehtësi përmes CDN-ve. Prandaj, kjo teknologji është në gjendje të arrijë një audiencë shumë më të madhe shikimi sesa RTP ose protokolle të tjera të bazuara në UDP. Shumica e videove të transmetimit të drejtpërdrejtë në internet sot priten nga sisteme të shtrenjta që përdorin HLS, por ato janë përgjithësisht të shtrenjta dhe kërkojnë shumë burime serveri. Ky tutorial do t'ju tregojë se si të konfiguroni një Ubuntu 14.04 VULTR VPS shumë të përballueshme për të kryer ngjarje të transmetimit të drejtpërdrejtë HLS duke përdorur vetëm softuer me burim të hapur.
Hapi i parë është të lexoni dhe konfiguroni serverin tuaj sipas Vultr Doc " Setup Nginx-RTMP në Ubuntu 14.04 ". Udhëzimet në atë dokument ishin më gjithëpërfshirëset për fazën e konfigurimit, në kohën e shkrimit. Do të përmendja se mund të dëshironi të zëvendësoni "nginx-1.7.5" me "nginx-1.9.4" ose çfarëdo versioni më të fundit të Nginx që është i disponueshëm. Sugjerimi tjetër është të përpiloni Nginx me modulin e statusit cung HTTP në mënyrë që t'i jepni vetes mundësinë për të monitoruar sa shikues të drejtpërdrejtë HLS keni më vonë.
Në vend të përpilimit me:
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
Përdoreni këtë varg në procedurën e përshkruar në dokumentin paraprak:
./configure --with-http_ssl_module --with-http_stub_status_module --add-module=../nginx-rtmp-module-master
Shembulli në këtë tutorial do të krijojë transmetime "të drejtpërdrejta" dhe "mobile" (të optimizuara) dhe do të përdorë ffmpeg (instaluar në tutorialin e mëparshëm) për të gjeneruar transmetimin HLS të rregulluar me shpejtësi bit, të optimizuar për celularin. Shembulli do të tregojë gjithashtu se si të detyroni serverin të regjistrojë transmetimet tuaja të drejtpërdrejta automatikisht dhe t'ju lejojë të riprodhoni regjistrimet si një shërbim riprodhimi video sipas kërkesës (VOD).
Së pari, krijoni strukturat e dosjeve të nevojshme për të mbajtur manifestet e drejtpërdrejta dhe të lëvizshme HLS dhe fragmentet e videos:
sudo mkdir /HLS
sudo mkdir /HLS/live
sudo mkdir /HLS/mobile
sudo mkdir /video_recordings
sudo chmod -R 777 /video_recordings
Është ndoshta një ide e mirë të aktivizoni murin e zjarrit nëse nuk e keni bërë tashmë. Nëse po, duhet të lejoni trafikun në portet e përdorura nga Nginx dhe HLS. Nëse dëshironi të vraponi pa murin e zjarrit për momentin, injoroni seksionin ufw më poshtë.
sudo ufw limit ssh
sudo ufw allow 80
sudo ufw allow 1935
sudo ufw enable
Transmetimi HLS kërkon një konfigurim dukshëm të ndryshëm Nginx nga konfigurimi RTMP në artikullin e parë. Ndryshoni nginx.conf
skedarin tuaj për të përdorur sa vijon, duke zëvendësuar "my-ip" dhe "my-stream-key" me informacionin tuaj. Ju mund të përdorni çdo gjë që dëshironi për "my-stream-key" është vetëm një fjalë që është unike dhe e dobishme për ju. Ju mund të dëshironi të kopjoni skedarin tuaj origjinal të konfigurimit fillimisht, më pas ngjisni informacionin tim të dhënë të konfigurimit në redaktues, duke zëvendësuar gjithçka që ishte aty:
sudo cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.original
sudo nano /usr/local/nginx/conf/nginx.conf
Nginx.conf i ri:
worker_processes 1;
error_log logs/error.log debug;
events {
worker_connections 1024;
}
rtmp {
server {
listen 1935;
allow play all;
#creates our "live" full-resolution HLS videostream from our incoming encoder stream and tells where to put the HLS video manifest and video fragments
application live {
allow play all;
live on;
record all;
record_path /video_recordings;
record_unique on;
hls on;
hls_nested on;
hls_path /HLS/live;
hls_fragment 10s;
#creates the downsampled or "trans-rated" mobile video stream as a 400kbps, 480x360 sized video
exec ffmpeg -i rtmp://192.168.254.178:1935/$app/$name -acodec copy -c:v libx264 -preset veryfast -profile:v baseline -vsync cfr -s 480x360 -b:v 400k maxrate 400k -bufsize 400k -threads 0 -r 30 -f flv rtmp://192.168.254.178:1935/mobile/$;
}
#creates our "mobile" lower-resolution HLS videostream from the ffmpeg-created stream and tells where to put the HLS video manifest and video fragments
application mobile {
allow play all;
live on;
hls on;
hls_nested on;
hls_path /HLS/mobile;
hls_fragment 10s;
}
#allows you to play your recordings of your live streams using a URL like "rtmp://my-ip:1935/vod/filename.flv"
application vod {
play /video_recordings;
}
}
}
http {
include mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name 192.168.254.178;
#creates the http-location for our full-resolution (desktop) HLS stream - "http://my-ip/live/my-stream-key/index.m3u8"
location /live {
types {
application/vnd.apple.mpegurl m3u8;
}
alias /HLS/live;
add_header Cache-Control no-cache;
}
#creates the http-location for our mobile-device HLS stream - "http://my-ip/mobile/my-stream-key/index.m3u8"
location /mobile {
types {
application/vnd.apple.mpegurl m3u8;
}
alias /HLS/mobile;
add_header Cache-Control no-cache;
}
#allows us to see how stats on viewers on our Nginx site using a URL like: "http://my-ip/stats"
location /stats {
stub_status;
}
#allows us to host some webpages which can show our videos: "http://my-ip/my-page.html"
location / {
root html;
index index.html index.htm;
}
}
}
Shtypni Ctrl + X për të dalë. Thuaj "po" për të ruajtur ndryshimet.
Ju mund të gjeni udhëzime të qarta dhe shembuj të variablave të mundshëm në këtë nginx.conf
skedar nëse kërkoni motorin tuaj të preferuar të kërkimit për "nginx-rtmp direktivat". Unë kam përdorur nginx-rtmp me HLS për disa vite tani, pa përdorur direktivat "lejo publikimin" dhe "mohoni publikimin" dhe kam parë zero raste të njerëzve që përdorin/pushtojnë serverët e mi video. Kështu që unë nuk i përfshiva ato direktiva këtu. Lexoni dhe shtoni këto direktiva nëse dëshironi.
Pas ndryshimit të nginx.conf
skedarit, duhet të rinisni Nginx për të përdorur konfigurimin e ri:
sudo service nginx restart
Shikoni nga afër për çdo mesazh gabimi Nginx dhe adresoni çdo gabim që mund të jetë shkaktuar nga gabimet e drejtshkrimit, pronësia e dosjeve ose çështjet e lejeve. Nëse nuk keni mesazhe gabimi, atëherë jeni gati të krijoni transmetimin tuaj të kodimit.
Duhet të keni një kodues video për të krijuar transmetimin. Unë përdor OBS (Open Broadcaster Software) - i cili është me burim të hapur dhe funksionon mirë për mua. Ka zgjidhje të tjera për të zgjedhur, të cilat janë jashtë fushës së këtij tutoriali. Nuk do të mbuloj gjithçka në lidhje me konfigurimin e një koduesi video RTMP. Megjithatë, të gjithë kërkojnë përafërsisht të njëjtat variabla hyrëse. Cilësimet kryesore që duhet të futni për të përdorur nginx.conf
konfigurimin tim të saktë dhe për të funksionuar mirë në shumicën e lojtarëve/shfletuesve/platformave janë si më poshtë:
Unë rekomandoj të provoni kodues të ndryshëm dhe të eksperimentoni me ta. Ju mund të dëshironi një raport të gjerë të pamjes - ose materialet e kamerës suaj (ose transmetimeve të tjera) mund ta kërkojnë atë. Nëse po, sigurohuni që të ndryshoni këtë informacion në koduesin tuaj dhe gjithashtu raportin e pamjes të listuar në seksionin exec-ffmpeg të nginx.conf
skedarit që kam dhënë; përndryshe do të merrni disa burime video me pamje budallaqe.
Pasi të konfigurohet koduesi juaj, mund t'i provoni të gjitha. Nisni koduesin me kamerën tuaj të internetit ose ndonjë lloj ushqimi testues që funksionon në të. Ju mund ta shikoni transmetimin tuaj në këtë pikë me luajtësin VLC duke përdorur URL të tilla si:
http://my-ip/live/my-stream-key/index.m3u8
http://my-ip/mobile/my-stream-key/index.m3u8
These are for your main and your mobile video streams, respectively. Substitute your IP and stream key accordingly.
After you've successfully broadcasted your first stream check (via ssh or ftp) that your live broadcast was recorded in the /video_recordings
folder on your Vultr VPS. You can also try playing this recorded file in VLC with a URL like:
rtmp://my-ip/vod/filename.flv
Nginx stats are also available (with Nginx stub_status). To view visitor/viewer stats, access:
http://my-ip/stats
Për të parë videon tuaj në një faqe ueb, do t'ju duhet një luajtës i integruar. Ka shumë lojtarë të integruar të disponueshëm të cilët do të luajnë video HLS. Unë kam përdorur JW Player për disa vite tani, por versioni falas nuk do të luajë HLS. Flowplayer dhe Bitdash nga Bitmovin (midis zgjidhjeve të tjera) janë mjaft bujarë për të ofruar një version jokomercial të lojtarëve të tyre falas, i cili do ta bëjë transmetimin tuaj HLS të ngulitur në një faqe interneti. Për këtë artikull, i kam provuar të dyja dhe kam gjetur që të dyja funksionojnë mjaft mirë me serverin tim video të bazuar në Vultr/Nginx. Unë do të tregoj shkurtimisht se si e bëra funksionimin e Flowplayer me makinën time të shtratit të provës.
Nëse do të përdorni transmetimin e drejtpërdrejtë të HLS në ndonjë mënyrë të rregullt, të qëndrueshme ose komerciale, unë do t'ju inkurajoja të blini një licencë nga Flowplayer ose cilido lojtar që vendosni të përdorni. Ju do të merrni një lojtar që ka më pak kufizime, më shumë veçori dhe mund të markohet për organizatën tuaj. Do të merrni gjithashtu mbështetje - e cila mund të jetë shumë e rëndësishme. Përveç Vultr VPS, kjo është me të vërtetë kostoja e vetme e lidhur me projektin.
Përpara se të bëni ndonjë gjë tjetër, është e rëndësishme të kujdeseni për ato që quhen kufizime "ndër-domainësh", të cilat përndryshe do të mbyllnin aftësinë tuaj për të transmetuar në një faqe interneti/faqe interneti. Krijoni një crossdomain.xml
skedar në nginx/html
dosjen tuaj dhe vendosni udhëzime në të për të lejuar që të dhënat të rrjedhin midis domeneve:
sudo nano /usr/local/nginx/html/crossdomain.xml
Së pari kopjoni (nga kjo faqe) dhe më pas ngjitni (kliko me të djathtën) në fushën e redaktuesit nano të dhënat e mëposhtme XML:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
Shtypni Ctrl + O për të shkruar jashtë, pastaj Ctrl + X për të ruajtur skedarin në disk dhe për të dalë.
Kam kapur HTML5 (versioni 6.0.3) i Flowplayer i cili më dha një numër skedarësh dhe një dosje kur u zbërthye. I ngarkova të gjithë skedarët dhe dosjen në një nënfolder të dosjes rrënjësore Nginx/HTML të cilën e quajta "flowplayer". Rruga e saktë ishte /usr/local/nginx/html/flowplayer
.
Për të testuar videon tonë kur futet në një faqe interneti, krijoni disa skedarë HTML në rrënjën e dosjes Nginx/HTML duke përdorur nano dhe plotësoni ato me përmbajtjen e mëposhtme.
Skedari:
sudo nano /usr/local/nginx/html/hls.html
Kodi HTML:
<!doctype html>
<head>
<link rel="stylesheet" href="#">
</head>
<body>
640x480 664kbps (live) Desktop Browsers<br>
<div style="width:640px;" class="flowplayer" data-swf="flowplayer/flowplayer.swf" data-ratio="0.75">
<video>
<source type="application/x-mpegurl" src="">
</video>
</div>
<br><br>
480x360 464kbps (mobile) Mobile Browsers <br>
<div style="width:480px;" class="flowplayer" data-swf="flowplayer/flowplayer.swf" data-ratio="0.75">
<video>
<source type="application/x-mpegurl" src="">
</video>
</div>
</body>
Skedari:
sudo nano /usr/local/nginx/html/hls_progressive.html
Kodi HTML:
<!doctype html>
<head>
<link rel="stylesheet" href="#">
<style> .flowplayer { width: 640px; } </style>
</head>
<body>
<div class="flowplayer" data-swf="flowplayer/flowplayer.swf" data-ratio="0.75">
<video>
<source type="application/x-mpegurl" src="">
<source type="application/x-mpegurl" src="">
</video>
</div>
<br>
</body>
Sigurohuni që të zëvendësoni "my-ip" dhe "my-stream-key" me të dhënat tuaja.
Duhet të zëvendësoni shtegun flowplayer/skin/functional.css
për shenjën "#" në fletën e stilit href="#"
. Softueri i tutorialit heq rrugën. Ju duhet të plotësoni një URL në src=""
pjesën - ajo është duke u hequr nga softueri tutorial, përdorimi http://my-ip/live/my-stream-key/index.m3u8
dhe http://my-ip/mobile/my-stream-key/index.m3u8
, respektivisht. Ju gjithashtu duhet të shtoni src
etiketa skripti në kokë për të dy jquery-1.11.2.min.js
dhe për flowplayer.min.js
. Etiketat po hiqen nga softueri i tutorialit. Mund të gjeni se si t'i example html
krijoni këto etiketa duke parë skedarin e përfshirë me kompletin Flowplayer.
Nisni koduesin me kamerën tuaj të internetit ose ndonjë lloj ushqimi testues që funksionon në të. Mund ta shikoni transmetimin tuaj në një shfletues duke përdorur URL-të e mëposhtme:
http://my-ip/hls.html
http://my-ip/hls_progressive.html
Faqja e parë thjesht tregon secilën prej transmetimeve tuaja - atë kryesore dhe atë të platformës celulare. Ju do të jeni në gjendje t'i nisni të dyja dhe t'i shikoni ato. Do të vini re se rryma e platformës celulare është më e vogël në madhësi. Këto hapa janë vetëm për t'u siguruar që gjithçka po funksionon.
Faqja e dytë tregon një transmetim të vetëm. Por është ngritur në një mënyrë që quhet "transmetim progresiv". Kjo do të thotë se kur një shikues luan videon, si serveri ashtu edhe luajtësi përpiqen t'i japin shikuesit transmetimin me shpejtësi të lartë të biteve dhe me cilësi të lartë nëse lidhja e shikuesve mund ta mbajë atë. Nëse lidhja e tyre është e dobët dhe nuk mund ta mbajë lidhjen, ajo zbret për të treguar transmetimin me shpejtësi më të ulët të biteve (celular), i cili është 200 kbps më i ulët në gjerësi bande. Nëse dëshironi, mund të krijoni transmetime më të graduara, progresive me ffmpeg dhe t'i konfiguroni ato duke përdorur shembullin tim.
Unë e kam testuar këtë konfigurim në një bërthamë të vetme, 1 GB Vultr VPS dhe zbulova se me një transmetim të vetëm të drejtpërdrejtë, plus transmetimin e transmetuar celular që krijon me ffmpeg, përdorimi i procesorit ishte më pak se 35% dhe kishte konsumuar vetëm 100 MB RAM-i im 1 GB. Tani ky është një konfigurim shumë efikas.
Nëse planifikoni të transmetoni video që është shumë më e madhe në dimensione piksel se SD, mund të zbuloni se duhet të përdorni një VPS më të fuqishëm. Isha kurioz për këtë dhe e drejtova transmetimin tim kryesor deri në 1280x960 piksele dhe 2 Mbps - duke i ngarkuar gjërat më shumë. Por VPS ende përdorte vetëm 50% CPU dhe përdorimi i memories mbeti në 100MB. Shtova një duzinë shikues/shfletues dhe nuk bëri pothuajse asnjë ndryshim në ngarkesën në VPS - vetëm gjerësia e brezit të përdorur u rrit. Jam i sigurt se krijimi i transmetimeve shtesë të vlerësuara në transmetim me ffmpeg do të vazhdojë të ngarkojë sistemin.
Unë e kam përdorur këtë lloj serveri në mjedise prodhimi me ndërmjet 50 dhe 100 përdorues të njëkohshëm dhe zbulova se përdorimi i burimeve u rrit shumë pak me rritjen e lidhjeve të shikuesve. Eksperimentoni me të. Por unë mendoj se shumica e përdoruesve do të ishin të lumtur duke përdorur një VPS me një bërthamë, 1 GB. Shijoni serverin tuaj të ri të transmetimit HLS!
Përdorimi i një sistemi të ndryshëm? Hyrje Në këtë udhëzues, do të mësoni se si të konfiguroni dhe instaloni një server Unturned në Linux. Unturned është një mbijetesë popullore
Hyrje Në këtë udhëzues do të mësoni se si të hapni dhe ekzekutoni një server bazë Arma 3 me disa mjete shtesë, në Windows Server. ARMA 3 është një botë e hapur popullore
Hyrje Në këtë udhëzues, do të mësoni se si të instaloni një server Counter-Strike: Global Offensive në Windows. Parakushtet Përpara se të fillojmë, ju
HTTP Live Streaming (HLS) është një protokoll shumë i fuqishëm video transmetimi i zbatuar nga Apple Inc. HLS përdor transaksione HTTP që përshkojnë muret e zjarrit, proxies, një
Nëse po e lexoni këtë artikull, shanset janë që dëshironi të krijoni një server Dota 2 në Windows. Hapat në këtë udhëzues do të funksionojnë në Windows 8 dhe Window
Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.
A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.
Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.
Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.
Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…
Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.
Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.
Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.
Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.
Së fundmi Apple lëshoi macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë