대부분의 라이브 스트리밍 도구와 사이트는 대중에게 무료로 제공되지만 온라인에 표시되기를 원하지 않는 정보를 제공하기 위해 계정을 만들어야 하는 경우가 많습니다. 그들은 광고 뒤에 일부 콘텐츠를 보유할 수 있으며 스스로 고집하지 않을 수도 있는 혼란스러운 서비스 약관을 통합 할(can ) 수 있습니다 .(Service)
라이브 스트리밍 기능을 즐기지만 자신의 비디오를 대중에게 공개할 필요는 없는 사람들이 있습니다. 대신, 그들은 자신의 스트림과 그들이 생산하는 콘텐츠를 더 잘 제어하기를 원합니다. Linux 와 같은 (Linux)오픈 소스(Open-source) 소프트웨어 는 이러한 장애물에 대한 최선의 해결책입니다.
미리 생각하기(Thinking Ahead)
자신의 개인 스트리밍 서버 설정을 시작하기 전에 몇 가지 질문을 스스로에게 던져야 합니다. 첫째(First) , 당신이 찾고 있는 스트림의 품질은 무엇입니까? 다음으로(Next) , 몇 명의 시청자를 끌어들일 것으로 예상하십니까? 스트리밍된 콘텐츠를 모두 어디에 저장할 것입니까? 누가 해당 콘텐츠에 액세스할 수 있습니까?
시스템 요구 사항도 우려 사항으로 볼 수 있습니다. 그러나 이와 관련하여 정확히 무엇이 필요한지에 대한 정해진 규칙은 없으므로 스스로에게 호의를 베풀고 목표에 가장 적합한 것이 무엇인지 실험해 보십시오.
스트리밍의 오디오 및 비디오 부분을 처리할 프로토콜을 파악해야 합니다. RTMP ( 실시간 메시징 프로토콜 )는 훌륭한 선택이지만 (Messaging Protocol)WebRTC 와 같은 상황에서 더 나은 선택이 될 수 있습니다. RTMP 는 광범위한 지원을 제공하므로 이 기사에서는 이에 중점을 둘 것입니다.
걱정해야 할 또 다른 사항은 "라이브" 스트리밍이 지연될 가능성이 있다는 것입니다. 라이브를 한다고 해서 모든 것이 완벽하게 정렬되는 것은 아닙니다. 비디오(Video) 스트림은 인코딩, 전송, 버퍼링 및 표시되어야 하므로 스트림 속성을 약간 조정해야 합니다.
리눅스 서버 설정(Linux Server Setup)
Ubuntu Linux 는 개인적으로 가장 좋아하는 버전이므로 여기에서 선택합니다. GUI 옵션 을 선호하는 사람들을 위해 Ubuntu Desktop 을 사용할 수 있습니다.
- Ubuntu(Fire) 설치 프로그램을 실행(Ubuntu) 하고 필요에 가장 적합한 설정을 선택하십시오. 이것은 서버로 사용될 것이기 때문에 일부 정적 네트워크 설정을 지정하고 싶을 것입니다.
- (Reboot)자동으로 재부팅되지 않으면 설치 후 시스템을 재부팅 하십시오. Ubuntu 시스템이 부팅 되면 사용 가능한 업데이트를 설치하십시오.
sudo apt update
sudo apt upgrade
이 스트리밍 서버에 Nginx 웹 서버(Nginx web server) 를 사용할 것 입니다. 설치:
sudo apt install nginx
Nginx 가 미디어 스트림을 처리할 수 있도록 RTMP 모듈을 조달합니다 .
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;
}
}
}
나중에 작동하는 스트리밍 서버를 만드는 데 사용할 구성 파일을 저장합니다.
(Restart Nginx)새 구성으로 Nginx를 다시 시작 합니다.
sudo systemctl restart nginx
스트리밍 소프트웨어 설정(Streaming Software Setup)
서버가 준비되었으므로 이제 스트리밍 소프트웨어를 설정할 차례입니다. 이번 런스루에서는 OBS( Open Broadcaster Software )를 사용해 보겠습니다 .
- 사이트로 이동하여 Linux용(Linux) 빌드를 선택합니다 . 소프트웨어가 실행된 후 하드웨어에 가장 적합한 설정으로 OBS 를 구성하십시오.(OBS)
- 소스(Source) 바로 아래에 있는 +를 클릭하여 스트리밍 소스를 추가합니다 .
- 테스트를 위해 디스플레이 캡처(Display Capture) 를 선택하고 소스 이름을 입력합니다.
- 확인(OK) 버튼을 클릭하면 OBS 가 바탕 화면을 미러링합니다.
- 그런 다음 파일(File) 탭을 클릭하고 설정(Settings) 을 선택합니다 .
스트림 섹션에서 스트림 유형을 사용자 지정…으로 설정(set Stream Type to Custom…) 을 선택 하고 서버(Server) 필드 에 다음 URL 을 입력합니다.(URL)
rtmp://IPaddress/live
IPaddress 대신 스트리밍 서버의 IP 주소를 입력합니다.
이제 자신의 스트림 키 를 만들고 (Stream Key)스트림(Stream) 키 상자 에 입력합니다 . 기억할 수 있는 것으로 만들고 기록해 두십시오. 보안을 강화 하려면 인증 사용(Use authentication ) 확인란을 선택하고 선호하는 자격 증명을 추가하십시오.
적용(Apply) 후 확인(OK) 버튼 으로 완료 합니다.
이제 스트리밍을 위해 모든 것이 구성되어야 합니다. 첫 번째 스트림을 시작하려면 지금(Stream Now) 스트리밍 버튼을 누르십시오 . 모든 것이 올바르게 완료되면 버튼이 스트리밍 중지(Stop Streaming) 로 변경 됩니다. 스트림의 대역폭 측정항목은 OBS(OBS) 창 하단에 나타납니다 .
첫 번째 시청자가 되십시오(Be Your First Viewer)
RTMP 를 지원하는 많은 오픈 소스 미디어 플레이어가 있으며 , 그 중 가장 잘 알려진 것은 VLC 미디어 플레이어(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 구성의 (Nginx)RTMP 섹션 바로 아래에서 스트림 녹화 옵션을 설정하고 콘텐츠를 저장 및 저장할 위치를 제공할 수 있습니다.
(Set)Nginx 가 쓸 수 있도록 기존 경로를 설정 하십시오. 다음을 입력:
응용 프로그램 라이브 { (application live {)
라이브에; ( live on;)
모두 기록; ( record all;)
record_path /var/www/html/recordings;
record_unique on;
}
Ubuntu Linux OS 를 사용하여 라이브 스트리밍 서버를 설정할 때 필요한 모든 것 입니다. 라이브가 아닌 미디어 스트리밍 서버에 더 관심이 있다면 OBS 대신 Plex 를 사용하는 것이 좋습니다.(Plex)
Create Your Own Live Video Streaming Server With Linux
Most live ѕtreaming tools and sites are free to the public but they оften tend to require that you crеatе an account, providing information you may not wish to apрeаr online. They can hold some content behind advertisements and incorporate confusing Terms of Service that they may not even stick to themselves.
There are those who enjoy the ability to stream live, but don’t have a need to have their videos be available to the masses. Instead, they’d prefer to have more control over their stream and the content they produce. Open-source software, like Linux, is the best answer to this obstacle.
Thinking Ahead
Before you begin setting up your own personal streaming server, you should ask yourself a few questions. First, what quality of stream are you looking for? Next, how many viewers do you expect to pull in? Where will you store all of your streamed content? Who will have access to that content?
System requirements can also be seen as a concern. However, there are no set rules on exactly what you’ll need in this regard, so do yourself a favor and experiment to see what works best for your goals.
You’ll need to figure out which protocol will handle the audio and video portion of the streaming. Real-Time Messaging Protocol (RTMP) is a great choice but there are others, such as WebRTC, that might fare better in your situation. RTMP has broad support so we’ll focus on that for this article.
Another thing to worry about is likely delays in your “live” streaming. Just because you go live doesn’t mean that everything will line up perfectly. Video streams need to be encoded, transferred, buffered, and displayed, so expect the need for a bit of tweaking in the stream’s attributes.
Linux Server Setup
Ubuntu Linux is my personal favorite, so that will be the version of choice here. For those who prefer a GUI option, Ubuntu Desktop is available.
- Fire up the Ubuntu installer and choose the settings that best fit your needs. You’ll probably want to set some static network settings since this is going to be used as a server.
- Reboot the system after installation if it doesn’t do so automatically. Once the Ubuntu system boots up, install any updates that are available:
sudo apt update
sudo apt upgrade
We’ll be using Nginx web server for this streaming server. Install it:
sudo apt install nginx
Procure the RTMP module so Nginx can handle your media stream:
sudo add-apt-repository universe
sudo apt install libnginx-mod-rtmp
Adjust Nginx’s configuration so that it can accept and deliver your media stream.
sudo nano /etc/nginx/nginx.conf
Add the following code to the bottom of the config file:
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
Save the config file as we’ll be using it later to create a working streaming server.
Restart Nginx with its new configuration:
sudo systemctl restart nginx
Streaming Software Setup
The server is ready, so now it’s time to set up your streaming software. Let’s use Open Broadcaster Software (OBS) in this run-through.
- Head to the site and select the build for Linux. After the software launches, configure OBS with the settings that best match your hardware.
- Add a streaming source by clicking the + just under Source.
- For testing sake, choose Display Capture, and enter a name for the source.
- Click the OK button, and OBS will mirror your desktop.
- Next, click the File tab and choose Settings.
In the Stream section, select set Stream Type to Custom… and enter the following URL into the Server field:
rtmp://IPaddress/live
In place of IPaddress, enter the IP address of your streaming server.
Now create your own Stream Key and enter it into the Stream key box. Make it something you’ll remember and write it down. For added security, check the Use authentication box and add your preferred credentials.
Finish with Apply followed by the OK button.
Everything should now be configured for streaming. To begin your first stream, hit the Stream Now button.The button will change to Stop Streaming so long as everything was done correctly. Your stream’s bandwidth metrics will appear at the bottom of the OBS window.
Be Your First Viewer
There are plenty of open source media players that support RTMP, the most well-known of which is VLC media player. Install and launch this software, click the Media tab, and select Open Network Stream from the menu.
Got your Stream Key handy? Type the path to your stream, and include the Stream Key you set up earlier, to the end of it. Should look like:
rtmp://IPaddress/live/SecretKey
Click Play and you’ll get a live view of your very own stream.
Additional Measures
Now that the basics have been achieved, limiting access to your streaming server and being able to record and save your videos are two other factors you may be interested in.
By default, anyone can view your stream. This may go against the purpose of creating the server in the first place. You’ll want to set up limited access using a Linux firewall, .htaccess file, or the built-in access controls in the RTMP module. This choice is left up to you.
The Nginx configuration provided here will only enable you to stream videos, but not save them. To add a storage option, in the Nginx config, just below the RTMP section, you can set up the stream recording options and provide a location to where you want your content saved and stored.
Set an existing path in order to allow Nginx to write to it. Enter the following:
application live {
live on;
record all;
record_path /var/www/html/recordings;
record_unique on;
}
That’s all you should need when setting up a live streaming server using the Ubuntu Linux OS. If you’re more interested in a non-live media streaming server, I would suggest the use of Plex in place of OBS.