Креирање Јекилл блога на Убунту 16.04
Користите другачији систем? Јекилл је одлична алтернатива ВордПресс-у за блоговање или дељење садржаја. Не захтева никакве базе података и веома је лако и
ХТТП Ливе Стреаминг (ХЛС) је веома робустан стриминг видео протокол који имплементира Аппле Инц. ХЛС користи ХТТП трансакције које пролазе кроз заштитне зидове, проксије и могу се са лакоћом дистрибуирати преко ЦДН-ова. Стога је ова технологија у стању да допре до много веће публике него РТП или други УДП протоколи. Већи део видео стриминга уживо на мрежи данас је домаћин скупим системима који користе ХЛС, али су генерално скупи и захтевају много серверских ресурса. Овај водич ће вам показати како да подесите веома приступачан Убунту 14.04 ВУЛТР ВПС за ХЛС догађаје за стриминг уживо користећи само софтвер отвореног кода.
Први корак је да прочитате и подесите свој сервер у складу са Вултр Доц-ом „ Подешавање Нгинк -РТМП-а на Убунту 14.04 “. Упутства у том документу су била најсвеобухватнија за фазу подешавања, у време писања. Напоменуо бих да бисте можда желели да замените „нгинк-1.7.5“ са „нгинк-1.9.4“ или било којом најновијом верзијом Нгинк-а која је доступна. Други предлог је да компајлирате Нгинк са статусним модулом ХТТП стуба како бисте себи дали могућност да пратите колико живих ХЛС гледалаца имате касније.
Уместо компајлирања са:
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
Користите овај стринг у процедури наведеној у документу са предусловима:
./configure --with-http_ssl_module --with-http_stub_status_module --add-module=../nginx-rtmp-module-master
Пример у овом туторијалу ће креирати и „живи“ и „мобилни“ (оптимизовани) токови и користиће ффмпег (инсталиран у претходном водичу) за генерисање ХЛС стрима прилагођене брзине преноса, оптимизованог за мобилне уређаје. Пример ће такође показати како да натерате сервер да аутоматски снима ваше стримове уживо и да вам омогући да репродукујете снимке као услугу репродукције видеа на захтев (ВОД).
Прво, креирајте структуре фолдера неопходне за држање живих и мобилних ХЛС манифеста и видео фрагмената:
sudo mkdir /HLS
sudo mkdir /HLS/live
sudo mkdir /HLS/mobile
sudo mkdir /video_recordings
sudo chmod -R 777 /video_recordings
Вероватно је добра идеја да укључите заштитни зид ако то већ нисте учинили. Ако је тако, морате дозволити саобраћај на портове које користе Нгинк и ХЛС. Ако за сада желите да радите без заштитног зида, занемарите уфв одељак испод.
sudo ufw limit ssh
sudo ufw allow 80
sudo ufw allow 1935
sudo ufw enable
ХЛС стриминг захтева значајно другачију Нгинк конфигурацију од РТМП конфигурације у првом чланку. Уредите своју nginx.confдатотеку тако да користите следеће, замењујући „ми-ип“ и „ми-стреам-кеи“ својим подацима. Можете користити било шта што желите за „ми-стреам-кеи“ то је само реч која је јединствена и корисна за вас. Можда ћете желети да прво направите резервну копију оригиналне конфигурационе датотеке, а затим да налепите моје информације о конфигурацији у уређивач, замењујући све што је било тамо:
sudo cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.original
sudo nano /usr/local/nginx/conf/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;
}
}
}
Притисните Цтрл + Кс да бисте изашли. Реците „да“ да бисте сачували промене.
Можете пронаћи јасна упутства и примере могућих променљивих у овој nginx.confдатотеци ако упитате свој омиљени претраживач за „нгинк-ртмп директиве“. Користим нгинк-ртмп са ХЛС-ом већ неколико година, без коришћења директива „дозволи објављивање“ и „забрани објављивање“ и видео сам нула случајева да људи користе/нападају моје видео сервере. Дакле, нисам укључио те директиве овде. Прочитајте и додајте ове директиве ако желите.
Након промене nginx.confдатотеке, морате поново покренути Нгинк да бисте користили нову конфигурацију:
sudo service nginx restart
Пажљиво пратите било какве поруке о грешци Нгинк-а и адресирајте све грешке које су можда узроковане грешком у писању, власништвом фасцикле или проблемима са дозволама. Ако немате поруке о грешци, онда сте спремни да креирате свој ток кодирања.
Морате имати видео кодер да бисте креирали стрим. Користим ОБС (Опен Броадцастер Софтваре) - који је отвореног кода и добро ради за мене. Постоје и друга решења која су ван оквира овог упутства. Нећу покривати све о конфигурисању РТМП видео кодера. Сви они захтевају отприлике исте улазне варијабле. Кључна подешавања која ћете морати да унесете да бисте користили моју тачну nginx.confконфигурацију и да би добро функционисали на већини играча/прегледача/платформа су следећа:
Препоручујем да испробате различите енкодере и експериментишете са њима. Можда ћете желети широки однос ширине и висине - или ће то можда захтевати ваша камера (или други материјали за емитовање). Ако је тако, обавезно промените ове информације у свом кодеру, као и однос ширине и висине наведен у одељку екец-ффмпег nginx.confдатотеке коју сам доставио; у супротном ћете добити неке глупе видео феедове.
Када је ваш кодер подешен, можете све да тестирате. Покрените енкодер помоћу ваше веб камере или неке врсте тест-фодера који ради на њој. У овом тренутку можете погледати своје емитовање помоћу ВЛЦ плејера користећи УРЛ адресе као што су:
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
Да бисте видели свој видео на веб страници, биће вам потребан плејер који се може уградити. Доступни су многи плејери за уградњу који ће репродуковати ХЛС видео. Користим ЈВ Плаиер већ неколико година, али бесплатна верзија неће играти ХЛС. Фловплаиер и Битдасх од Битмовин-а (између осталих решења) довољно су великодушни да бесплатно понуде некомерцијалну верзију својих плејера који ће ваш ХЛС стреам учинити уграђеним у веб страницу. За овај чланак, испробао сам их оба и открио да оба прилично добро раде са мојим видео сервером заснованим на Вултр/Нгинк-у. Укратко ћу показати како сам покренуо Фловплаиер са својом машином за тестирање.
Ако ћете користити ХЛС стриминг уживо на било који редован, одржив или комерцијалан начин, охрабрујем вас да купите лиценцу од Фловплаиер-а или било ког играча који одлучите да користите. Добићете играча који има мање ограничења, више функција и који може бити брендиран за вашу организацију. Такође ћете добити подршку - што може бити веома важно. Осим Вултр ВПС-а, ово је заиста једини трошак повезан са пројектом.
Пре него што урадите било шта друго, важно је да водите рачуна о оним што се назива ограничењима „унакрсних домена“, која би иначе искључила вашу могућност стримовања на веб страницу/веб локацију. Направите crossdomain.xmlдатотеку у nginx/htmlфасцикли и ставите упутства у њу да бисте омогућили проток података између домена:
sudo nano /usr/local/nginx/html/crossdomain.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>
Притисните Цтрл + О да запишете, затим Цтрл + Кс да сачувате датотеку на диск и изађете.
Узео сам ХТМЛ5 (верзија 6.0.3) Фловплаиер-а који ми је дао бројне датотеке и фасциклу када сам распаковао. Отпремио сам све датотеке и фасциклу у поддиректоријум Нгинк/ХТМЛ основног фолдера који сам назвао „фловплаиер“. Тачан пут је био /usr/local/nginx/html/flowplayer.
Да бисте тестирали наш видео када је уграђен у веб страницу, направите неколико ХТМЛ датотека у корену фасцикле Нгинк/ХТМЛ користећи нано и попуните их следећим садржајем.
Фајл:
sudo nano /usr/local/nginx/html/hls.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>
Фајл:
sudo nano /usr/local/nginx/html/hls_progressive.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>
Обавезно замените „ми-ип“ и „ми-стреам-кеи“ својим подацима.
Морате да замените путању flowplayer/skin/functional.cssза знак „#“ у табели стилова href="#". Софтвер за туторијал уклања путању. Морате да попуните УРЛ у src=""делу - уклања га софтвер за упутства, користите http://my-ip/live/my-stream-key/index.m3u8и http://my-ip/mobile/my-stream-key/index.m3u8, респективно. Такође морате додати srcознаке скрипте у главу jquery-1.11.2.min.jsи за и за flowplayer.min.js. Софтвер за туторијал уклања ознаке. Можете сазнати како да направите ове ознаке гледајући example htmlдатотеку укључену у Фловплаиер комплет.
Покрените енкодер помоћу ваше веб камере или неке врсте тест-фодера који ради на њој. Своје емитовање можете да видите у прегледачу користећи следеће УРЛ адресе:
http://my-ip/hls.html
http://my-ip/hls_progressive.html
Прва страница једноставно приказује сваки од ваших стримова – главни и онај на мобилној платформи. Моћи ћете да их покренете и погледате. Приметићете да је ток мобилне платформе мањи по величини. Ови кораци су само да би били сигурни да све ради.
Друга страница приказује један ток. Али је постављен на начин који се зове „прогресивно стриминг“. То значи да када гледалац пушта видео, и сервер и плејер покушавају да пруже гледаоцу стрим високе брзине у битовима и високог квалитета ако га веза гледалаца може да издржи. Ако је њихова веза лоша и не може да одржи везу, она се спушта на приказ нижег битрате (мобилног) тока који је 200 кбпс нижи у пропусном опсегу. Ако желите, можете креирати постепеније, прогресивне токове са ффмпег-ом и конфигурисати их користећи мој пример.
Тестирао сам ову конфигурацију на једном језгру, 1ГБ Вултр ВПС-а и открио сам да је са једним стримом уживо, плус транс-оценираним мобилним стримом који ствара помоћу ффмпег-а, употреба процесора била мања од 35% и да је потрошио само 100МБ мој 1ГБ рам меморије. Сада је то веома ефикасно подешавање.
Ако планирате да стримујете видео који је много већи у пикселима од СД-а, можда ћете открити да морате да користите моћнији ВПС. Био сам радознао у вези са овим и покренуо сам свој главни ток до 1280к960 пиксела и 2Мбпс - што додатно оптерећује ствари. Али ВПС је и даље користио само 50% ЦПУ-а, а употреба меморије је остала на 100МБ. Додао сам десетак прегледача/претраживача и скоро да није било разлике у оптерећењу ВПС-а – само се повећао пропусни опсег. Сигуран сам да би креирање додатних транс оцењених стримова са ффмпег-ом наставило да додатно оптерећује систем.
Користио сам ову врсту сервера у производним окружењима са између 50 и 100 истовремених корисника и открио сам да је коришћење ресурса веома мало порасло са повећањем конекција гледалаца. Експериментишите са тим. Али мислим да би већина корисника била срећна да користи једнојезгарни ВПС од 1 ГБ. Уживајте у свом новом ХЛС серверу за стриминг!
Користите другачији систем? Јекилл је одлична алтернатива ВордПресс-у за блоговање или дељење садржаја. Не захтева никакве базе података и веома је лако и
Скуид је популаран, бесплатни Линук програм који вам омогућава да креирате веб проки за прослеђивање. У овом водичу ћете видети како да инсталирате Скуид на ЦентОС да вас преокрене
Мемцацхед је систем базе података високих перформанси који може помоћи да се напуни ваша апликација. Веома је брз јер не уписује на диск, већ т
Увод ИнфлукДБ је отворена, дистрибуирана база података временских серија без спољних зависности. Да, прочитали сте параграф без спољних зависности
Фаил2бан је програм који прати активност пријављивања на ваш сервер и блокира увредљиве ИП адресе. Подразумевано ће блокирати ИП адресе на 10 минута
Користите другачији систем? Ред5 је медијски сервер отвореног кода имплементиран у Јави који вам омогућава да покренете Фласх вишекорисничке апликације као што је ливе стреамин
Користите другачији систем? Ванилла форум је апликација отвореног кода написана у ПХП-у. Потпуно је прилагодљив, једноставан за коришћење и подржава екстерне
Користите другачији систем? Увод Канбоард је бесплатни софтвер за управљање пројектима отвореног кода који је дизајниран да олакша и визуализује
Користите другачији систем? Увод Канбоард је бесплатни софтвер за управљање пројектима отвореног кода који је дизајниран да олакша и визуализује
Користите другачији систем? Тини Тини РСС Реадер је бесплатан читач и агрегатор вести (РСС/Атом) са сопственим хостовањем отвореног кода, дизајниран за
Користите другачији систем? Гитеа је алтернативни систем за контролу верзија отвореног кода који се самостално хостује и покреће Гит. Гитеа је написана на Голангу и јесте
Користите другачији систем? Вики.јс је бесплатна модерна вики апликација отвореног кода изграђена на Ноде.јс, МонгоДБ, Гит и Маркдовн. Вики.јс изворни код је јавни
Користите другачији систем? Гитеа је алтернативни систем за контролу верзија отвореног кода који сам хостује и покреће гит. Гитеа је написана на Голангу и јесте
Користите другачији систем? Тхелиа је алатка отвореног кода за креирање веб локација за е-пословање и управљање онлајн садржајем написаним у ПХП-у. Тхелиа изворни код и
Користите другачији систем? Мицровебер је ЦМС и онлајн продавница отвореног кода. Мицровебер изворни код се налази на ГитХуб-у. Овај водич ће вам показати
Користите другачији систем? Мицровебер је ЦМС и онлајн продавница отвореног кода. Мицровебер изворни код се налази на ГитХуб-у. Овај водич ће вам показати
Користите другачији систем? МОДКС Револутион је брз, флексибилан, скалабилан, бесплатан и отвореног кода, систем за управљање садржајем (ЦМС) за предузећа написан и
Користите другачији систем? Маттермост је опен соурце алтернатива Слацк СААС сервису за размену порука. Другим речима, са Маттермостом, ца
Користите другачији систем? ДотЦМС је систем за управљање садржајем отвореног кода за предузећа написан на Јави. Садржи скоро све потребне карактеристике т
Користите другачији систем? Пагекит 1.0 ЦМС је прелеп, модуларан, проширив и лаган, бесплатан систем за управљање садржајем отвореног кода (ЦМС) са
Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.
Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.
Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.
Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.
Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…
Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.
Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.
Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.
У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.
Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више