Kā instalēt Microweber operētājsistēmā CentOS 7
Vai izmantojat citu sistēmu? Microweber ir atvērtā koda vilkšanas un nomešanas CMS un tiešsaistes veikals. Microweber pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata jums parādīs
HTTP tiešraides straumēšana (HLS) ir ļoti spēcīgs straumēšanas video protokols, ko ieviesis Apple Inc. HLS izmanto HTTP transakcijas, kas šķērso ugunsmūrus, starpniekserverus un var viegli izplatīt, izmantojot CDN. Tāpēc šī tehnoloģija spēj sasniegt daudz lielāku skatītāju auditoriju nekā RTP vai citi UDP protokoli. Liela daļa tiešsaistes straumēšanas video mūsdienās tiek mitināta dārgās sistēmās, kas izmanto HLS, taču tās parasti ir dārgas un prasa daudz servera resursu. Šī apmācība parādīs, kā iestatīt ļoti pieejamu Ubuntu 14.04 VULTR VPS, lai veiktu HLS tiešraides straumēšanas pasākumus, izmantojot tikai atvērtā pirmkoda programmatūru.
Pirmais solis ir izlasīt un iestatīt serveri saskaņā ar Vultr Doc " Iestatīt Nginx-RTMP uz Ubuntu 14.04 ". Šajā dokumentā sniegtie norādījumi rakstīšanas laikā bija visplašākie iestatīšanas posmam. Vēlos pieminēt, ka, iespējams, vēlēsities aizstāt "nginx-1.7.5" ar "nginx-1.9.4" vai jebkuru citu jaunāko Nginx versiju, kas ir pieejama. Otrs ieteikums ir kompilēt Nginx ar HTTP stub statusa moduli, lai dotu sev iespēju vēlāk pārraudzīt, cik daudz tiešo HLS skatītāju jums ir.
Tā vietā, lai apkopotu ar:
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
Izmantojiet šo virkni procedūrā, kas aprakstīta priekšnosacījuma dokumentā:
./configure --with-http_ssl_module --with-http_stub_status_module --add-module=../nginx-rtmp-module-master
Šīs apmācības piemērā tiks izveidotas gan “tiešraides”, gan “mobilās” (optimizētās) straumes, un tiks izmantots ffmpeg (instalēts iepriekšējā apmācībā), lai ģenerētu bitu pārraides ātrumam pielāgotu, mobilajām ierīcēm optimizētu HLS straumi. Piemērā ir arī parādīts, kā likt serverim automātiski ierakstīt jūsu tiešraides straumes un ļaut jums atskaņot ierakstus kā video pēc pieprasījuma (VOD) atkārtošanas pakalpojumu.
Vispirms izveidojiet mapju struktūras, kas nepieciešamas tiešraides un mobilo HLS manifestu un video fragmentu glabāšanai:
sudo mkdir /HLS
sudo mkdir /HLS/live
sudo mkdir /HLS/mobile
sudo mkdir /video_recordings
sudo chmod -R 777 /video_recordings
Iespējams, ir ieteicams ieslēgt ugunsmūri, ja vēl neesat to izdarījis. Ja tā, jums ir jāatļauj satiksme uz portiem, ko izmanto Nginx un HLS. Ja pagaidām vēlaties darboties bez ugunsmūra, ignorējiet tālāk esošo ufw sadaļu.
sudo ufw limit ssh
sudo ufw allow 80
sudo ufw allow 1935
sudo ufw enable
HLS straumēšanai ir nepieciešama ievērojami atšķirīga Nginx konfigurācija no RTMP konfigurācijas pirmajā rakstā. Rediģējiet nginx.conf
failu, lai izmantotu tālāk norādīto, aizstājot "my-ip" un "my-stream-key" ar savu informāciju. Apzīmējumam "mana straumes atslēga" varat izmantot visu, ko vēlaties, tas ir tikai vārds, kas ir unikāls un jums noderīgs. Vispirms varat dublēt sākotnējo konfigurācijas failu un pēc tam ielīmēt manu piegādāto konfigurācijas informāciju redaktorā, aizstājot visu, kas tur bija:
sudo cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.original
sudo nano /usr/local/nginx/conf/nginx.conf
Jauns 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;
}
}
}
Nospiediet Ctrl + X, lai izietu. Sakiet "jā", lai saglabātu izmaiņas.
Šajā nginx.conf
failā varat atrast skaidrus norādījumus un iespējamo mainīgo piemērus, ja savā iecienītākajā meklētājprogrammā meklējat "nginx-rtmp direktīvas". Es jau vairākus gadus izmantoju nginx-rtmp ar HLS, neizmantojot direktīvas "atļaut publicēt" un "liegt publicēt", un es neesmu redzējis nevienu gadījumu, kad cilvēki izmanto/iebrūk manus video serveros. Tāpēc es šīs direktīvas šeit neiekļāvu. Izlasiet un pievienojiet šīs direktīvas, ja vēlaties.
Pēc nginx.conf
faila maiņas jums ir jārestartē Nginx, lai izmantotu jauno konfigurāciju:
sudo service nginx restart
Uzmanīgi novērojiet visus Nginx kļūdu ziņojumus un novērsiet visas kļūdas, kuras varētu būt radušās pareizrakstības kļūdu, mapju īpašumtiesību vai atļauju problēmu dēļ. Ja jums nav kļūdu ziņojumu, varat izveidot šifrēšanas straumi.
Lai izveidotu straumi, jums ir jābūt video kodētājam. Es izmantoju OBS (Open Broadcaster Software), kas ir atvērtā koda un man labi darbojas. Ir arī citi risinājumi, no kuriem izvēlēties, kas neietilpst šīs apmācības ietvaros. Es neapskatīšu visu par RTMP video kodētāja konfigurēšanu. Tomēr tiem visiem ir nepieciešami aptuveni vienādi ievades mainīgie. Galvenie iestatījumi, kas jums jāievada, lai izmantotu manu precīzu nginx.conf
konfigurāciju un labi darbotos lielākajā daļā atskaņotāju/pārlūkprogrammu/platformu, ir šādi:
Iesaku izmēģināt dažādus kodētājus un eksperimentēt ar tiem. Varat vēlēties plašu malu attiecību, vai arī jūsu kamera (vai citi apraides materiāli) to var pieprasīt. Ja tā, noteikti mainiet šo informāciju savā kodētājā un arī malu attiecību, kas norādīta nginx.conf
manis piegādātā faila sadaļā exec-ffmpeg ; pretējā gadījumā jūs saņemsiet dažas muļķīga izskata video plūsmas.
Kad kodētājs ir iestatīts, varat to visu pārbaudīt. Palaidiet kodētāju, izmantojot tīmekļa kameru vai kādu testa lopbarību, kas tajā darbojas. Šajā brīdī varat skatīt savu apraidi, izmantojot VLC atskaņotāju, izmantojot tādus URL kā:
http://my-ip/live/my-stream-key/index.m3u8
http://my-ip/mobile/my-stream-key/index.m3u8
Tie ir attiecīgi jūsu galvenajai un mobilajai video straumei. Attiecīgi nomainiet savu IP un straumes atslēgu.
Kad esat veiksmīgi pārraidījis savu pirmo straumes pārbaudi (izmantojot ssh vai ftp), vai tiešraide ir ierakstīta /video_recordings
jūsu Vultr VPS mapē. Varat arī mēģināt atskaņot šo ierakstīto failu VLC ar tādu URL kā:
rtmp://my-ip/vod/filename.flv
Ir pieejama arī Nginx statistika (ar Nginx stub_status). Lai skatītu apmeklētāju/skatītāju statistiku, piekļūstiet:
http://my-ip/stats
Lai skatītu videoklipu tīmekļa lapā, jums ir nepieciešams iegults atskaņotājs. Ir pieejami daudzi iegulti atskaņotāji, kas atskaņos HLS video. Jau vairākus gadus izmantoju JW Player, taču bezmaksas versija nespēlēs HLS. Bitmovin Flowplayer un Bitdash (citu risinājumu starpā) ir pietiekami dāsni, lai bez maksas piedāvātu savu atskaņotāju nekomerciālu versiju, kas padarīs jūsu HLS straumi iegultu tīmekļa lapā. Šim rakstam esmu izmēģinājis tos abus un atklājis, ka tie abi darbojas diezgan labi ar manu Vultr/Nginx balstīto video serveri. Es īsi parādīšu, kā man izdevās Flowplayer darboties ar savu testēšanas iekārtu.
Ja plānojat izmantot HLS tiešraides straumēšanu kādā regulārā, ilgstošā vai komerciālā veidā, es iesaku jūs iegādāties licenci no Flowplayer vai jebkura cita atskaņotāja, kuru nolemjat izmantot. Jūs iegūsit atskaņotāju, kuram ir mazāk ierobežojumu, vairāk funkciju un kuru varēsit pievienot jūsu organizācijai. Jūs saņemsiet arī atbalstu, kas var būt ļoti svarīgi. Izņemot Vultr VPS, šīs patiešām ir vienīgās izmaksas, kas saistītas ar projektu.
Pirms darāt kaut ko citu, ir svarīgi parūpēties par tā dēvētajiem "starpdomēnu" ierobežojumiem, kas pretējā gadījumā liegtu jūsu iespēju straumēt uz tīmekļa lapu/vietni. Izveidojiet crossdomain.xml
failu savā nginx/html
mapē un ievietojiet tajā norādījumus, lai ļautu datiem plūst starp domēniem:
sudo nano /usr/local/nginx/html/crossdomain.xml
Vispirms nokopējiet (no šīs lapas) un pēc tam ielīmējiet (ar peles labo pogu noklikšķiniet) nano redaktora laukā šādus XML datus:
<?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>
Nospiediet Ctrl + O, lai rakstītu, pēc tam Ctrl + X, lai saglabātu failu diskā un izietu.
Es satvēru Flowplayer HTML5 (versija 6.0.3), kas man iedeva vairākus failus un mapi, kad atarhivēja. Es augšupielādēju visus failus un mapi Nginx / HTML saknes mapes apakšmapē, kuru nosaucu par "flowplayer". Precīzs ceļš bija /usr/local/nginx/html/flowplayer
.
Lai pārbaudītu mūsu videoklipu, kad tas ir iegults tīmekļa lapā, izveidojiet dažus HTML failus mapes Nginx/HTML saknē, izmantojot nano, un aizpildiet tos ar tālāk norādīto saturu.
Fails:
sudo nano /usr/local/nginx/html/hls.html
HTML kods:
<!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>
Fails:
sudo nano /usr/local/nginx/html/hls_progressive.html
HTML kods:
<!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>
Noteikti aizstājiet "my-ip" un "my-stream-key" ar saviem datiem.
flowplayer/skin/functional.css
Stila lapā zīme “#” ir jāaizstāj ar ceļu href="#"
. Apmācības programmatūra noņem ceļu. Jums ir jāaizpilda URL šajā src=""
daļā - tā tiek attīrīta ar pamācību programmatūras, izmantošanu http://my-ip/live/my-stream-key/index.m3u8
un http://my-ip/mobile/my-stream-key/index.m3u8
, attiecīgi. Jums arī jāpievieno skripta src
tagi galvā gan jquery-1.11.2.min.js
un flowplayer.min.js
. Apmācības programmatūra noņem atzīmes. Varat uzzināt, kā izveidot šīs atzīmes, apskatot example html
failu, kas iekļauts Flowplayer komplektā.
Palaidiet kodētāju, izmantojot tīmekļa kameru vai kādu testa lopbarību, kas tajā darbojas. Varat skatīt savu apraidi pārlūkprogrammā, izmantojot šādus URL:
http://my-ip/hls.html
http://my-ip/hls_progressive.html
Pirmajā lapā vienkārši ir parādīta katra jūsu straume — galvenā un mobilās platformas straume. Jūs varēsiet tos abus palaist un apskatīt. Jūs ievērosiet, ka mobilās platformas straume ir mazāka. Šīs darbības ir paredzētas tikai, lai pārliecinātos, ka viss darbojas.
Otrajā lapā ir redzama viena straume. Bet tas ir iestatīts tādā veidā, ko sauc par "progresīvo straumēšanu". Tas nozīmē, ka tad, kad skatītājs atskaņo videoklipu, gan serveris, gan atskaņotājs cenšas nodrošināt skatītājam augsta bitu pārraides ātruma augstas kvalitātes straumi, ja skatītāja savienojums var to uzturēt. Ja to savienojums ir slikts un tas nevar uzturēt savienojumu, tiek rādīta zemāka bitu pārraides ātruma (mobilā) straume, kuras joslas platums ir par 200 kb/s mazāks. Ja vēlaties, varat izveidot pakāpeniskākas, progresīvākas straumes ar ffmpeg un konfigurēt tās, izmantojot manu piemēru.
Esmu pārbaudījis šo konfigurāciju vienā kodolā, 1 GB Vultr VPS, un atklāju, ka ar vienu tiešraides straumi, kā arī trans-rated mobilo straumi, ko tā izveido ar ffmpeg, procesora lietojums bija mazāks par 35%, un tas bija patērējis tikai 100 MB mans 1GB RAM. Tagad tas ir ļoti efektīvs iestatījums.
Ja plānojat straumēt video, kura pikseļu izmēri ir daudz lielāki nekā SD, iespējams, jums būs jāizmanto jaudīgāks VPS. Es biju ziņkārīgs par to un vadīju savu galveno straumi līdz 1280x960 pikseļiem un 2Mbps, radot papildu slodzi lietām. Bet VPS joprojām izmantoja tikai 50% CPU, un atmiņas patēriņš palika 100 MB. Es pievienoju duci skatītāju/pārlūkprogrammu, un tas gandrīz nemainīja VPS slodzi — palielinājās tikai izmantotais joslas platums. Esmu pārliecināts, ka papildu trans-rated straumju izveide ar ffmpeg turpinātu radīt papildu slodzi sistēmai.
Esmu izmantojis šāda veida serveri ražošanas vidēs ar 50 līdz 100 vienlaicīgiem lietotājiem un atklāju, ka resursu lietojums ir palielinājies ļoti maz, palielinoties skatītāju savienojumiem. Eksperimentējiet ar to. Bet es domāju, ka lielākā daļa lietotāju būtu apmierināti, izmantojot viena kodola, 1 GB VPS. Izbaudiet savu jauno HLS straumēšanas serveri!
Vai izmantojat citu sistēmu? Microweber ir atvērtā koda vilkšanas un nomešanas CMS un tiešsaistes veikals. Microweber pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata jums parādīs
Plesk vadības panelī ir ļoti jauka Lets Encrypt integrācija. Lets Encrypt ir viens no vienīgajiem SSL nodrošinātājiem, kas pilnībā izsniedz sertifikātus
Lets Encrypt ir sertifikātu iestāde, kas nodrošina SSL sertifikātus bez maksas. cPanel ir izveidojis glītu integrāciju, lai jūs un jūsu klients
YOURLS (Your Own URL Shortener) ir atvērtā koda URL saīsināšanas un datu analīzes lietojumprogramma. Šajā rakstā mēs apskatīsim instalēšanas procesu
Laravel GitScrum jeb GitScrum ir atvērtā pirmkoda produktivitātes rīks, kas izstrādāts, lai palīdzētu izstrādātāju komandām ieviest Scrum metodoloģiju līdzīgā veidā.
Vai izmantojat citu sistēmu? Sylius ir moderna PHP e-komercijas platforma, kuras pamatā ir Symfony Framework. Sylius avots atrodas vietnē GitHub. Šis ceļvedis staigās
Vai izmantojat citu sistēmu? Apache OpenMeetings ir atvērtā pirmkoda tīmekļa konferenču lietojumprogramma. Tas ir rakstīts Java valodā un atbalsta vairākus datu bāzes serverus. es
Ievads Atvērtā koda sociālais tīkls, kas pazīstams arī kā OSSN, ir uz PHP balstīts sociālo tīklu rīks, kas ļauj izveidot savu sociālo tīklu vietni.
Froxlor ir atvērtā koda bezmaksas, viegls, taču jaudīgs servera pārvaldības panelis, kas ir lieliski piemērots tīmekļa mitināšanas pakalpojuma izveidei un pārvaldībai. Thi
FEMP steks, kas ir salīdzināms ar LEMP steku operētājsistēmā Linux, ir atvērtā pirmkoda programmatūras kolekcija, kas parasti tiek instalēta kopā, lai iespējotu FreeBS.
Vai izmantojat citu sistēmu? Grav ir atvērtā koda vienotu failu CMS, kas rakstīts PHP. Grav pirmkods ir publiski mitināts vietnē GitHub. Šī rokasgrāmata parādīs, kā t
Vai izmantojat citu sistēmu? Grav ir atvērtā koda vienotu failu CMS, kas rakstīts PHP. Grav pirmkods ir publiski mitināts vietnē GitHub. Šī rokasgrāmata parādīs, kā t
Vai izmantojat citu sistēmu? Akaunting ir bezmaksas atvērtā koda un tiešsaistes grāmatvedības programmatūra, kas paredzēta maziem uzņēmumiem un ārštata darbiniekiem. Tas ir veidots asprātīgi
Vai izmantojat citu sistēmu? Ievads Glowstone neapšaubāmi ir visvairāk optimizētais Minecraft serveris. Programmatūra lepojas ar zemu atmiņas lietojumu un izmantošanu
Vai izmantojat citu sistēmu? Ievads Šajā rokasgrāmatā jūs uzzināsit, kā iestatīt un instalēt Unturned serveri operētājsistēmā Linux. Unturned ir populārs izdzīvošanas veids
Vai izmantojat citu sistēmu? InvoicePlane ir bezmaksas un atvērtā koda rēķinu lietojumprogramma. Tās avota kodu var atrast šajā Github repozitorijā. Šis ceļvedis
OrientDB ir nākamās paaudzes vairāku modeļu atvērtā koda NoSQL DBVS. Atbalstot vairākus datu modeļus, OrientDB var nodrošināt lielāku funkcionalitāti un elastību
Vai izmantojat citu sistēmu? Open Web Analytics (OWA) ir atvērtā pirmkoda tīmekļa analīzes programma, ko var izmantot, lai izsekotu un analizētu, kā cilvēki izmanto jūsu vietni.
Ievads Grav ir moderna plakano failu CMS, kas ir ātra, paplašināma un atvērtā koda. To ir viegli lietot, un tajā ir daudz iespaidīgu spraudņu, no kuriem viens ir i
Varnish Cache, saukta arī par Varnish, ir atvērtā koda kešatmiņas HTTP reversais starpniekserveris, kas var palīdzēt uzlabot tīmekļa servera veiktspēju. Šajā rakstā w
Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.
Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.
Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.
Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.
Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…
Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.
Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.
Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.
Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.
Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk