Направите сопствени сервер за видео стримовање уживо са Линук-ом

Већина алата и сајтова за стриминг уживо су бесплатни за јавност, али често захтевају да направите налог, пружајући информације које можда не желите да се појављују на мрежи. Они могу да(can ) држе неки садржај иза реклама и да уграде збуњујуће Услове коришћења услуге(Service) којих се можда ни сами не придржавају. 

Постоје они који уживају у могућности да стримују уживо, али немају потребу да њихови видео снимци буду доступни масама. Уместо тога, они би радије имали већу контролу над својим стримом и садржајем који производе. Софтвер отвореног кода(Open-source) , попут Линука(Linux) , је најбољи одговор на ову препреку.

Мислити у напред(Thinking Ahead)

Пре него што почнете да подешавате сопствени лични сервер за стриминг, требало би да поставите себи неколико питања. Прво(First) , који квалитет стрима тражите? Затим(Next) , колико гледалаца очекујете да привучете? Где ћете чувати сав свој стримовани садржај? Ко ће имати приступ том садржају?

Системски захтеви се такође могу посматрати као проблем. Међутим, не постоје одређена правила о томе шта ће вам тачно требати у том погледу, па учините себи услугу и експериментишите да видите шта најбоље функционише за ваше циљеве.

Мораћете да схватите који протокол ће управљати аудио и видео делом стриминга. Протокол за размену порука(Messaging Protocol) у реалном времену ( РТМП(RTMP) ) је одличан избор, али постоје и други, као што је ВебРТЦ(WebRTC) , који би могли бити бољи у вашој ситуацији. РТМП(RTMP) има широку подршку па ћемо се у овом чланку фокусирати на то.

Још једна ствар о којој треба да бринете су вероватно кашњења у вашем стримовању „уживо“. Само зато што идете уживо не значи да ће се све савршено ускладити. Видео(Video) токови морају бити кодирани, пренети, баферовани и приказани, тако да очекујте потребу за малим подешавањем атрибута тока.

Подешавање Линук сервера(Linux Server Setup)

Убунту Линук(Ubuntu Linux) је мој лични фаворит, тако да ће то бити верзија избора овде. За оне који више воле ГУИ(GUI) опцију, доступан је Убунту Десктоп(Ubuntu Desktop)

  • Покрените (Fire)Убунту(Ubuntu) инсталатер и изаберите подешавања која најбоље одговарају вашим потребама. Вероватно ћете желети да подесите неке статичке мрежне поставке јер ће се ово користити као сервер.
  • Поново покрените(Reboot) систем након инсталације ако то не учини аутоматски. Када се Убунту(Ubuntu) систем покрене, инсталирајте сва доступна ажурирања:
sudo apt update
sudo apt upgrade

Користићемо Нгинк веб сервер(Nginx web server) за овај сервер за стримовање. Инсталирајте га:

sudo apt install nginx

Набавите РТМП(RTMP) модул како би Нгинк(Nginx) могао да управља вашим медијским стримом:

sudo add-apt-repository universe
sudo apt install libnginx-mod-rtmp

Подесите Нгинк-ову конфигурацију тако да може да прихвати и испоручи ваш медијски ток.

sudo nano /etc/nginx/nginx.conf

Додајте следећи код на дно конфигурационе датотеке:

rtmp {
        server {
                listen 1935;
                chunk_size 4096;

                application live {
                        live on;
                        record off;
                }
        }
}

Сачувајте конфигурациону датотеку јер ћемо је касније користити за креирање радног сервера за стримовање.

Поново покрените Нгинк(Restart Nginx) са новом конфигурацијом:

sudo systemctl restart nginx

Подешавање софтвера за стримовање(Streaming Software Setup)

Сервер је спреман, па је сада време да подесите свој софтвер за стриминг. Хајде да користимо Опен Броадцастер Софтваре(Open Broadcaster Software) (ОБС) у овом прегледу. 

  • Идите на сајт и изаберите верзију за Линук(Linux) . Након што се софтвер покрене, конфигуришите ОБС(OBS) са подешавањима која најбоље одговарају вашем хардверу.
  • Додајте извор за стримовање кликом на + непосредно испод Извор(Source) .

  • Ради тестирања, изаберите Дисплаи Цаптуре(Display Capture) и унесите име за извор.
  • Кликните на дугме ОК(OK) и ОБС(OBS) ће пресликати вашу радну површину.
  • Затим кликните на картицу Датотека(File) и изаберите Подешавања(Settings)

У одељку Стреам изаберите опцију Сет Стреам Типе на Цустом...(set Stream Type to Custom…) и унесите следећу УРЛ адресу(URL) у поље Сервер(Server) :

rtmp://IPaddress/live 

Уместо ИП адресе(IPaddress) , унесите ИП адресу вашег сервера за стримовање.

Сада креирајте сопствени кључ за стримовање(Stream Key) и унесите га у поље за кључ за ток(Stream) . Нека буде нешто што ћете памтити и запишите. За додатну сигурност, означите поље Користи аутентификацију(Use authentication ) и додајте жељене акредитиве.

Завршите са Аппли(Apply) након чега следи дугме ОК(OK) .

Сада би све требало да буде конфигурисано за стримовање. Да бисте започели свој први стрим, притисните дугме Стреам Нов(Stream Now) . Дугме ће се променити у Заустави стримовање(Stop Streaming) све док је све урађено исправно. Показатељи пропусног опсега вашег стрима ће се појавити на дну ОБС(OBS) прозора.

Будите први гледалац(Be Your First Viewer)

Постоји много медија плејера отвореног кода који подржавају РТМП(RTMP) , од којих је најпознатији ВЛЦ медиа плејер(VLC media player) . Инсталирајте и покрените овај софтвер, кликните на картицу Медији(Media) и изаберите Опен Нетворк Стреам(Open Network Stream) из менија. 

Имате(Got) ли кључ за стрим(Stream Key) при руци? Откуцајте путању до стрима и укључите кључ стрима(Stream Key) који сте раније подесили на крај. Требало би да изгледа овако:

rtmp://IPaddress/live/SecretKey

Кликните на Репродукуј(Play) и добићете приказ уживо сопственог стрима.

Додатне мере(Additional Measures)

Сада када су основе постигнуте, ограничавање приступа вашем серверу за стриминг и могућност снимања и чувања видео записа су још два фактора која би вас могла занимати.

Подразумевано, свако може да види ваш стрим. Ово може бити против сврхе креирања сервера на првом месту. Желите да подесите ограничени приступ помоћу Линук(Linux) заштитног зида, .хтаццесс датотеке(.htaccess file) или уграђених контрола приступа у РТМП модулу(built-in access controls in the RTMP module) . Овај избор је препуштен вама.

Нгинк конфигурација која је овде наведена(Nginx) ће вам омогућити само да стримујете видео записе, али не и да их чувате. Да бисте додали опцију складиштења, у Нгинк(Nginx) конфигурацији, одмах испод РТМП(RTMP) одељка, можете подесити опције снимања стрима и обезбедити локацију на којој желите да ваш садржај буде сачуван и ускладиштен. 

Поставите(Set) постојећу путању како бисте омогућили Нгинк(Nginx) - у да пише на њу. Унесите следеће:

апликација уживо { (application live {)
             ливе он; (             live on;)
             сними све; (             record all;)
             record_path /var/www/html/recordings;
             рецорд_уникуе он; (             record_unique on;)
}

То је све што вам треба када подешавате сервер за стриминг уживо користећи Убунту Линук ОС(Ubuntu Linux OS) . Ако сте више заинтересовани за сервер за стриминг медија који није уживо, предлажем да користите Плек(Plex) уместо ОБС-а.



About the author

Ја сам компјутерски програмер и радим више од 15 година. Моје вештине леже у развоју и одржавању софтверских апликација, као и у пружању техничке подршке за те апликације. Такође сам предавао рачунарско програмирање средњошколцима, а тренутно сам професионални инструктор.



Related posts