Създайте свой собствен сървър за поточно видео на живо с Linux

Повечето инструменти и сайтове за стрийминг на живо са безплатни за обществеността, но те често изискват да създадете акаунт, предоставяйки информация, която може да не желаете да се показва онлайн. Те могат да(can ) държат някакво съдържание зад реклами и да включат объркващи Общи условия ,(Service) които може дори да не се придържат към себе си. 

Има хора, които се радват на възможността да предават на живо, но нямат нужда техните видеоклипове да са достъпни за масите. Вместо това те биха предпочели да имат повече контрол върху своя поток и съдържанието, което произвеждат. Софтуерът с отворен код(Open-source) , като Linux , е най-добрият отговор на тази пречка.

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

Преди да започнете да настройвате свой собствен личен стрийминг сървър, трябва да си зададете няколко въпроса. Първо(First) , какво качество на потока търсите? След(Next) това колко зрители очаквате да привлечете? Къде ще съхранявате цялото си поточно съдържание? Кой ще има достъп до това съдържание?

Системните изисквания също могат да се разглеждат като проблем. Въпреки това, няма определени правила за това какво точно ще ви трябва в това отношение, така че направете си услуга и експериментирайте, за да видите какво работи най-добре за вашите цели.

Ще трябва да разберете кой протокол ще обработва аудио и видео частта от стрийминг. Протоколът за съобщения(Messaging Protocol) в реално време ( RTMP ) е чудесен избор, но има и други, като WebRTC , които може да са по-добри във вашата ситуация. RTMP има широка поддръжка, така че ще се съсредоточим върху това в тази статия.

Друго нещо, за което трябва да се притеснявате, е вероятно забавяне на вашето предаване на живо. Само защото излизате на живо, не означава, че всичко ще се подреди перфектно. Видео(Video) потоците трябва да бъдат кодирани, прехвърлени, буферирани и показани, така че очаквайте нуждата от малко настройване на атрибутите на потока.

Настройка на Linux сървър(Linux Server Setup)

Ubuntu Linux е моят личен фаворит, така че това ще бъде избраната версия тук. За тези, които предпочитат опция за GUI , е наличен  Ubuntu Desktop .

  • Стартирайте инсталатора(Fire) на Ubuntu и изберете настройките, които най-добре отговарят на вашите нужди. Вероятно ще искате да зададете някои статични мрежови настройки, тъй като това ще се използва като сървър.
  • Рестартирайте(Reboot) системата след инсталиране, ако това не стане автоматично. След като системата Ubuntu се стартира, инсталирайте всички налични актуализации:
sudo apt update
sudo apt upgrade

Ще използваме уеб сървър Nginx(Nginx web server) за този сървър за стрийминг. Инсталирайте го:

sudo apt install nginx

Набавете RTMP модула, така че Nginx да може да обработва вашия медиен поток:

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

Настройте конфигурацията на Nginx, така че да може да приема и доставя вашия медиен поток.

sudo nano /etc/nginx/nginx.conf

Добавете следния код в долната част на конфигурационния файл:

rtmp {
        server {
                listen 1935;
                chunk_size 4096;

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

Запазете конфигурационния файл, тъй като ще го използваме по-късно, за да създадем работещ сървър за стрийминг.

Рестартирайте Nginx(Restart Nginx) с новата му конфигурация:

sudo systemctl restart nginx

Настройка на софтуер за поточно предаване(Streaming Software Setup)

Сървърът е готов, така че сега е време да настроите своя софтуер за стрийминг. Нека използваме Open Broadcaster Software (OBS) в този преглед. 

  • Отидете до сайта и изберете сборката за Linux . След стартиране на софтуера конфигурирайте OBS с настройките, които най-добре отговарят на вашия хардуер.
  • Добавете източник за поточно предаване, като щракнете върху + точно под Източник(Source) .

  • За да тествате, изберете Display Capture и въведете име за източника.
  • Щракнете върху бутона OK и OBS ще отразява вашия работен плот.
  • След това щракнете върху раздела Файл(File) и изберете Настройки(Settings)

В секцията Поток изберете задайте Тип на потока на Персонализиран...(set Stream Type to Custom…) и въведете следния URL в полето Сървър(Server) :

rtmp://IPaddress/live 

На мястото на IPaddress въведете IP адреса на вашия стрийминг сървър.

Сега създайте свой собствен ключ за поток(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(.htaccess file) или вградените контроли за достъп в RTMP модула(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 включен; (             record_unique on;)
}

Това е всичко, което трябва да ви трябва, когато настройвате сървър за стрийминг на живо с помощта на Ubuntu Linux OS . Ако се интересувате повече от сървър за стрийминг на медии, който не е на живо, бих предложил използването на Plex вместо OBS.



About the author

аудиофил инженер и специалист по аудио продукти с повече от 10 години опит. Специализирам се в създаването на качествени музикални високоговорители и слушалки от началото до края. Аз съм експерт в отстраняването на аудио проблеми, както и в проектирането на нови високоговорители и системи за слушалки. Моят опит надхвърля просто правенето на добри продукти; Също така имам страст да помагам на другите да бъдат възможно най-добрите, независимо дали това е чрез образование или общественополезен труд.



Related posts