Að búa til Jekyll blogg á Ubuntu 16.04
Að nota annað kerfi? Jekyll er frábær valkostur við WordPress til að blogga eða deila efni. Það krefst enga gagnagrunna og það er mjög auðvelt i
HTTP Live Streaming (HLS) er mjög öflug straumspilunarvídeósamskiptareglur útfærð af Apple Inc. HLS notar HTTP viðskipti sem fara yfir eldveggi, umboð og hægt er að dreifa þeim með auðveldum hætti í gegnum CDN. Þess vegna er þessi tækni fær um að ná til mun stærri áhorfenda en RTP eða aðrar UDP-undirstaða samskiptareglur. Mikið af straumspiluðu myndbandi í beinni á netinu í dag er hýst af dýrum kerfum sem nota HLS, en þau eru almennt dýr og krefjast mikils netþjónsauðlinda. Þessi kennsla mun sýna þér hvernig á að setja upp mjög hagkvæman Ubuntu 14.04 VULTR VPS til að gera HLS straumspilun í beinni með því að nota aðeins opinn hugbúnað.
Fyrsta skrefið er að lesa og setja upp netþjóninn þinn í samræmi við Vultr Doc " Uppsetning Nginx-RTMP á Ubuntu 14.04 ". Leiðbeiningarnar í því skjali voru þær umfangsmestu fyrir uppsetningarstigið, þegar þetta var skrifað. Ég myndi nefna að þú gætir viljað skipta "nginx-1.7.5" út fyrir "nginx-1.9.4" eða hvað sem nýjasta útgáfan af Nginx er fáanleg. Hin tillagan er að setja saman Nginx með HTTP stubbastöðueiningunni til að gefa þér möguleika á að fylgjast með hversu marga lifandi HLS áhorfendur þú hefur síðar.
Í stað þess að setja saman með:
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
Notaðu þennan streng í aðferðinni sem lýst er í forkröfuskjali:
./configure --with-http_ssl_module --with-http_stub_status_module --add-module=../nginx-rtmp-module-master
Dæmið í þessari kennslu mun búa til bæði "lifandi" og "farsíma" (bjartsýni) strauma og mun nota ffmpeg (uppsett í fyrri kennslu) til að búa til bitahraða stilltan, farsíma-bjartsýni HLS straum. Dæmið mun einnig sýna hvernig á að láta netþjóninn taka upp strauma þína í beinni sjálfkrafa og leyfa þér að spila upptökurnar aftur sem endurspilunarþjónustu fyrir myndband á eftirspurn (VOD).
Fyrst skaltu búa til möppuuppbyggingin sem nauðsynleg er til að geyma lifandi og farsíma HLS birtingarmyndir og myndbandsbrot:
sudo mkdir /HLS
sudo mkdir /HLS/live
sudo mkdir /HLS/mobile
sudo mkdir /video_recordings
sudo chmod -R 777 /video_recordings
Það er líklega góð hugmynd að kveikja á eldveggnum þínum ef þú hefur ekki gert það nú þegar. Ef svo er verður þú að leyfa umferð inn á hafnirnar sem Nginx og HLS nota. Ef þú vilt keyra án eldveggsins í bili skaltu hunsa ufw hlutann hér að neðan.
sudo ufw limit ssh
sudo ufw allow 80
sudo ufw allow 1935
sudo ufw enable
HLS streymi krefst verulega mismunandi Nginx stillingar en RTMP stillingarnar í fyrstu greininni. Breyttu nginx.conf
skránni þinni til að nota eftirfarandi, skiptu "my-ip" og "my-stream-key" út fyrir upplýsingarnar þínar. Þú getur notað allt sem þú vilt fyrir "my-stream-key" það er bara orð sem er einstakt og gagnlegt fyrir þig. Þú gætir viljað taka öryggisafrit af upprunalegu stillingarskránni þinni fyrst, límdu síðan meðfylgjandi stillingarupplýsingarnar mínar í ritilinn og skipta um allt sem var þar:
sudo cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.original
sudo nano /usr/local/nginx/conf/nginx.conf
Nýtt nginx.conf:
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;
}
}
}
Ýttu á Ctrl + X til að hætta. Segðu „já“ til að vista breytingarnar.
Þú getur fundið skýrar leiðbeiningar og dæmi um mögulegar breytur í þessari nginx.conf
skrá ef þú spyrð eftir uppáhalds leitarvélinni þinni fyrir "nginx-rtmp tilskipanir". Ég hef notað nginx-rtmp með HLS í nokkur ár núna, án þess að nota "allow publish" og "deny publish" tilskipanirnar og ég hef séð núll tilvik um að fólk noti/hefur ráðist inn á myndbandsþjónana mína. Þannig að ég lét þessar tilskipanir ekki fylgja hér. Lestu um og bættu við þessum tilskipunum ef þú vilt.
Eftir að hafa breytt nginx.conf
skránni verður þú að endurræsa Nginx til að nota nýju stillingarnar:
sudo service nginx restart
Fylgstu vel með öllum Nginx villuskilaboðum og taktu við villum sem kunna að hafa verið af völdum stafsetningarvillna, eignarhalds á möppum eða heimildavandamála. Ef þú hefur engin villuboð, þá ertu tilbúinn til að búa til kóðastrauminn þinn.
Þú verður að hafa myndkóðara til að búa til strauminn. Ég nota OBS (Open Broadcaster Software) - sem er opinn uppspretta og virkar vel fyrir mig. Það eru aðrar lausnir til að velja úr, sem eru utan gildissviðs þessarar kennslu. Ég mun ekki fjalla um allt um að stilla RTMP myndkóðara. Þeir þurfa þó allir nokkurn veginn sömu inntaksbreyturnar. Lykilstillingarnar sem þú þarft að setja inn til að nota nákvæma nginx.conf
stillingu mína og virka vel á flestum spilurum/vafra/pöllum eru eftirfarandi:
Ég mæli með að prófa mismunandi kóðara og gera tilraunir með þá. Þú gætir viljað breitt stærðarhlutfall - eða myndavélin þín (eða annað útsendingarefni) gæti krafist þess. Ef svo er, vertu viss um að breyta þessum upplýsingum í kóðaranum þínum og einnig stærðarhlutfallinu sem skráð er í exec-ffmpeg hluta nginx.conf
skráarinnar sem ég hef útvegað; annars færðu einhverja vídeóstrauma sem líta út fyrir að vera ógeðfelldir.
Þegar kóðarinn þinn hefur verið settur upp geturðu prófað allt. Ræstu kóðarann með vefmyndavélinni þinni eða einhvers konar prófunarfóðri í gangi á henni. Þú getur skoðað útsendinguna þína á þessum tímapunkti með VLC spilara með því að nota vefslóðir eins og:
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
In order to view your video on a webpage you'll need an embeddable player. There are many embeddable players available which will play HLS video. I have used JW Player for some years now, but the free version will not play HLS. Flowplayer and Bitdash by Bitmovin (among other solutions) are generous enough to offer a non-commercial version of their players for free which will render your HLS stream embedded in a webpage. For this article, I have tried them both and found them both to work quite well with my Vultr/Nginx-based video server. I will briefly show how I got Flowplayer going with my testbed machine.
If you are going to use live HLS streaming in any regular, sustained, or commercial way, I would encourage you to purchase a license from Flowplayer or whichever player you decide to use. You will get a player which has fewer restrictions, more features, and can be branded to your organization. You'll also get support - which can be very important. Other than the Vultr VPS, this is really the only cost associated with the project.
Before you do anything else, it's important to take care of what is called "cross-domain" restrictions, which would otherwise shut down your ability to stream to a webpage/website. Create a crossdomain.xml
file in your nginx/html
folder and put instructions in it to allow data to flow between domains:
sudo nano /usr/local/nginx/html/crossdomain.xml
Afritaðu fyrst (af þessari síðu) og límdu síðan (hægrismelltu) inn í reitinn fyrir nano ritil eftirfarandi XML gögn:
<?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>
Ýttu á Ctrl + O til að skrifa út, svo Ctrl + X til að vista skrána á disk og hætta.
Ég náði í HTML5 (útgáfa 6.0.3) af Flowplayer sem gaf mér fjölda skráa og möppu þegar ég var opnuð. Ég setti allar skrárnar og möppuna inn í undirmöppu af Nginx/HTML rótarmöppu sem ég nefndi "flowplayer". Nákvæm leið var /usr/local/nginx/html/flowplayer
.
Til að prófa myndbandið okkar þegar það er fellt inn á vefsíðu, búðu til nokkrar HTML skrár í rót Nginx/HTML möppunnar með því að nota nano og fylltu þær með eftirfarandi innihaldi.
Skrá:
sudo nano /usr/local/nginx/html/hls.html
HTML kóða:
<!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>
Skrá:
sudo nano /usr/local/nginx/html/hls_progressive.html
HTML kóða:
<!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>
Vertu viss um að skipta "my-ip" og "my-stream-key" út fyrir gögnin þín.
Þú verður að skipta slóðinni út flowplayer/skin/functional.css
fyrir "#" táknið í stílblaðinu href="#"
. Kennsluhugbúnaðurinn rekur brautina. Þú verður að fylla út vefslóð í src=""
hlutanum - það er verið að fjarlægja hana af kennsluhugbúnaðinum, notkun http://my-ip/live/my-stream-key/index.m3u8
og http://my-ip/mobile/my-stream-key/index.m3u8
, í sömu röð. Þú verður líka að bæta við skriftumerkjum src
í hausnum fyrir bæði jquery-1.11.2.min.js
og fyrir flowplayer.min.js
. Merkin eru fjarlægð af kennsluhugbúnaðinum. Þú getur fundið hvernig á að example html
útbúa þessi merki með því að skoða skrána sem fylgir með Flowplayer settinu.
Ræstu kóðarann með vefmyndavélinni þinni eða einhvers konar prófunarfóðri í gangi á henni. Þú getur skoðað útsendinguna þína í vafra með því að nota eftirfarandi vefslóðir:
http://my-ip/hls.html
http://my-ip/hls_progressive.html
Fyrsta síðan sýnir einfaldlega hvern strauminn þinn - sá aðal og sá fyrir farsíma. Þú munt geta ræst þau bæði og skoðað þau. Þú munt taka eftir því að farsímastraumurinn er minni í stærð. Þessi skref eru bara til að tryggja að allt sé í gangi.
Önnur síða sýnir einn straum. En það er sett upp á þann hátt sem kallast "framsækið streymi". Það sem þetta þýðir er að þegar áhorfandi spilar myndbandið reyna bæði þjónninn og spilarinn að gefa áhorfandanum hábitahraða og hágæða strauminn ef tenging áhorfandans getur viðhaldið því. Ef tenging þeirra er léleg og það getur ekki haldið uppi tengingunni, rúlla það niður til að sýna lægri bitahraða (farsíma) strauminn sem er 200 kbps lægri í bandbreidd. Ef þú vilt gætirðu búið til fleiri útskrifaða, framsækna strauma með ffmpeg og stillt þá með því að nota dæmið mitt.
Ég hef prófað þessa stillingu á einum kjarna, 1GB Vultr VPS og ég komst að því að með einum straumi í beinni ásamt farsímastraumi sem hann býr til með ffmpeg, var örgjörvanotkunin innan við 35% og hún hafði aðeins neytt 100MB af minn 1GB af vinnsluminni. Nú er þetta mjög skilvirk uppsetning.
Ef þú ætlar að streyma myndbandi sem er miklu stærra í pixla stærð en SD gætirðu fundið að þú verður að nota öflugri VPS. Ég var forvitinn um þetta og keyrði aðalstrauminn minn upp í 1280x960 díla og 2Mbps - sem lagði aukna álag á hlutina. En VPS notaði samt aðeins 50% örgjörva og minnisnotkun var áfram 100MB. Ég bætti við tugum áhorfenda/vafra og það gerði nánast engan mun á álagi á VPS-aðeins bandbreiddin sem notuð var hækkaði. Ég er viss um að það að búa til fleiri strauma með trans-einkunn með ffmpeg myndi halda áfram að auka álag á kerfið.
Ég hef notað þessa tegund netþjóna í framleiðsluumhverfi með á milli 50 og 100 samhliða notendur og komst að því að auðlindanotkunin jókst mjög lítið með auknum áhorfendatengingum. Gerðu tilraunir með það. En ég held að flestir notendur myndu vera ánægðir með að nota einn kjarna, 1GB VPS. Njóttu nýja HLS streymisþjónsins þíns!
Að nota annað kerfi? Jekyll er frábær valkostur við WordPress til að blogga eða deila efni. Það krefst enga gagnagrunna og það er mjög auðvelt i
Smokkfiskur er vinsælt, ókeypis Linux forrit sem gerir þér kleift að búa til framsendingarforrit á vefnum. Í þessari handbók muntu sjá hvernig á að setja upp Squid á CentOS til að snúa þér
Memcached er afkastamikið gagnagrunnskerfi sem getur hjálpað til við að hlaða upp forritinu þínu. Það er mjög hratt þar sem það skrifar ekki á diskinn, en í staðinn t
Inngangur InfluxDB er opinn, dreifður, tímaraðgagnagrunnur án utanaðkomandi ósjálfstæðis. Já, þú lest neitun ytri ósjálfstæði gr
Fail2ban er forrit sem fylgist með innskráningarvirkni á netþjóninum þínum og hindrar IP tölur. Sjálfgefið mun það loka fyrir IP tölur í 10 mínútur
Að nota annað kerfi? Red5 er opinn uppspretta miðlara útfærður í Java sem gerir þér kleift að keyra Flash fjölnotendaforrit eins og straumspilun í beinni
Að nota annað kerfi? Vanilla forum er opinn uppspretta spjallforrit skrifað í PHP. Það er fullkomlega sérhannaðar, auðvelt í notkun og styður utanaðkomandi
Að nota annað kerfi? Tiny Tiny RSS Reader er ókeypis og opinn uppspretta sjálf-hýstinn fréttastraumur (RSS/Atom) lesandi og safnari, hannaður til að dreifa
Að nota annað kerfi? Gitea er annað opinn uppspretta, sjálfhýst útgáfustýringarkerfi knúið af Git. Gitea er skrifað á Golang og er
Að nota annað kerfi? Gitea er annað opinn uppspretta, sjálfstýrt útgáfustýringarkerfi knúið af git. Gitea er skrifað á Golang og er
Að nota annað kerfi? Thelia er opinn hugbúnaður til að búa til vefsíður fyrir rafræn viðskipti og stjórna efni á netinu sem skrifað er í PHP. Thelia frumkóði i
Að nota annað kerfi? Microweber er opinn uppspretta draga og sleppa CMS og netverslun. Microweber frumkóði er hýst á GitHub. Þessi handbók mun sýna þér
Að nota annað kerfi? Microweber er opinn uppspretta draga og sleppa CMS og netverslun. Microweber frumkóði er hýst á GitHub. Þessi handbók mun sýna þér
Að nota annað kerfi? MODX Revolution er hraðvirkt, sveigjanlegt, stigstærð, ókeypis og opinn uppspretta, vefumsjónarkerfi (CMS) í fyrirtækisgráðu skrifað í
Að nota annað kerfi? Mattermost er opinn uppspretta, sjálfhýst valkostur við Slack SAAS skilaboðaþjónustuna. Með öðrum orðum, með Mattermost, þú ca
Að nota annað kerfi? DotCMS er opinn uppspretta vefumsjónarkerfi í fyrirtækjaflokki skrifað í Java. Það inniheldur næstum alla eiginleika sem þarf t
Að nota annað kerfi? Pagekit 1.0 CMS er fallegt, mát, útvíkkanlegt og létt, ókeypis og opið efnisstjórnunarkerfi (CMS) með
Að nota annað kerfi? BigTree CMS 4.2 er hraðvirkt og létt, ókeypis og opinn uppspretta, vefumsjónarkerfi (CMS) fyrir fyrirtæki með víðtæka
Að nota annað kerfi? MODX Revolution er hraðvirkt, sveigjanlegt, stigstærð, opinn uppspretta, vefumsjónarkerfi (CMS) í fyrirtækisgráðu skrifað í PHP. Það i
Plesk stjórnborðið er með mjög fallegri samþættingu fyrir Lets Encrypt. Lets Encrypt er ein af einu SSL veitunum sem gefa út skírteini að fullu
Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.
Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.
Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.
Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.
Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…
Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.
Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.
Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.
Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.
Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira