2016.08.12 23:07

FFSplit 로 만들어보는 nginx rtmp 서버.

 요즘 rtmp는 너무나 흔한 방송이 되었고 아주 널리 사용되는 듯 하다. 대부분의 인터넷 방송 스트림이 ffmpeg를 이용해서 GPL을 어겨가며 만드는 것을 보면 아주 그 인기는.


 일단 FFSplit는 화면을 캡춰하는 등의 기능을 ffmpeg를 갈아서 만들었다. 개별적으로도 화면을 동영상으로 저장할 수 있는 기능도 지녔다. 영상을 만드는 툴이 FFSplit이며


 다음의 페이지에서 다운 받을 수 있다. http://www.ffsplit.com/download/  혹은 https://bitbucket.org/taqattack/ffsplit-public/downloads  최신 빌드는 0725이지만, 인스톨 후에 한번 업데이트 더 되어 0726이 된다. 그리고 처음 인스톨시에 ffmpeg를 다운로드 받아서 설치하라는 창이 뜨는데 그것도 잊으면 안된다. 아니면 ffmpeg가 함께 있는 것을 다운로드 받아서 설치하면 된다.


 일단 실행하면 메뉴가 모두 영어이고, 몇몇 설정이 필요하다. 코덱이나 출력등의 설정은 Session 메뉴에서 설정할 수 있다.


 먼저 제어판에서 스테레오 믹스를 활성화.



 이제 FFSplit에서 캡처관련 방법을 설정한다.



그리고 저장이나 출력 방법들을 정의한다. "Local Recording"은 컴퓨터에 저장하는 설정이 들어 있고, "localhost"는 따로 만든 설정이다. 각각 따로 사용할 수 있고 같이 사용할 수도 있다. rtmp로의 직접적인 송출도 가능하다. 아래의 설명에 필요한 최소의 대역폭이 보여진다.



그렇게 설정을 마치고 나면 난해한 화면을 맞이하게 된다. 여기서 화면은 Canvas로 그 Canvas안에 Layer를 넣어서 꾸민다. 레이어는 화면이나 이미지 글씨 등의 다양한 방법을 올릴 수 있다. 글씨는 한글도 지원된다. 레어이에서 스크린 캡처 장치도 지원이 된다.



 자, 이렇게 간단히 설정을 하고 나면 지금은 다른 rtmp 서버가 없다면 파일로 저장할 수 있는 방법 밖에 없다. 다른 서비스를 사용하면 되지만, 온라인으로 실제 올려지는 것으로 부담이 간다. 그래서 실험을 할 수 있는 로컬 서버를 필요하게 되는데 바로 nginx가 이 rtmp 기능을 지원을 한다. 1.7버전 까지는 무료로 사용할 수 있는 모듈로 지원되지만, 1.9버전부터는 따로 구입을 해야하는 모듈이다.


 1.7버전의 nginx는 기본적인 설정으로 rtmp가 활성화되어 있지않다. 이를 활성화한 것이 아래의 압축파일에 들어있다.


nginx 1.7.12.1 Lizard-rtmpconfig1.zip

(* 서버를 멈추게 하는 배치파일을 추가)


 모두 설정이 되어 있어서 그냥 nginx.exe를 실행시키기만 하면 된다. 단, 방화벽에서 막히지 않도록 허용해주어야 한다.



 서버에 접속하기 위해서는 Session등의 설정에서 Output를 설정을 만들고 Custom으로 "rtmp://자신의 IP주소/live"로 서버를 설정한다. 그리고 "Stream Key"는 그냥 아무것으로 해도 되는데 이는 자신의 방송을 찾는데 중요하므로 기억해놔야 한다. "/live" 서버 주소는 conf/nginx.conf 파일의 마지막 쯤에 "Application live"로 되어 있는 부분의 "live"를 다른 것으로 변경하면 된다.


 그렇게 저장하고 선택을 하고, 미리 nginx를 실행한 상태에서 FFSplit의 기본화면에서 아래 맨 우측의 "Start"를 누르면 로컬 nginx 서버에 접속을 시도하게 된다. 제대로 접속이 되면 현황이 간단히 보인다.


 다음팟 플레이어에서 "rtmp://자신의IP/live/스트림키"로 설정하면 자신의 화면 스트림이 플레이어에서 보인다. 컴퓨터 성능에 따라 약간의 딜레이가 있을 수 있다.


 뭔가 흥미로운 툴이 있길래 간단히 해본 시도 =ㅅ=;


 강좌등의 스크린 캡춰로 사용하기엔 딱 좋은 플그램인 것 같다.


p.s.

 성능면에서 OBS가 FFSplit보다 더 성능이 좋음.

 https://github.com/jp9000/obs-studio/releases/download/0.15.4/OBS-Studio-0.15.4-Installer.exe


 인터페이스도 한글을 지원하고 더 단순. 가장 큰 다른 점이라면 OBS는 단일 출력만을 지원.

 하지만 FFSplit는 다중 서버 출력이 가능.



'기타' 카테고리의 다른 글

웹 온라인 스트리밍을 플레이어에서 보는 livestreamer  (0) 2016.08.18
libreelec 0813  (0) 2016.08.15
FFSplit 로 만들어보는 nginx rtmp 서버.  (10) 2016.08.12
MPPT 펌웨어 업데이트.  (0) 2016.08.08
libreelec 0727  (0) 2016.07.28
libreelec 0725  (0) 2016.07.26
Trackback 0 Comment 10