와우자 라이브 소스 중계 가이드 : RTMP 재전송과 라이브리피터
와우자 스트리밍 엔진에서 외부 RTMP 스트림을 수신해 사용하거나, 수신된 스트림을 중계하여 외부로 재전송하기 위해서는, 미디어캐스터 설정을 변경 해 주어야 한다.
와우자 스트리밍 엔진(Wowza Streaming Engine, 이하 와우자)를 운영하다 보면 외부 RTMP 스트림을 소스로 입력받아 사용해야 하거나, 중계하여 외부로 재전송해야 할 경우가 생긴다. 이 경우, 라이브 인코더의 출력을 가져올때 사용하는 일반적인 방식으로는 스트림을 가져올 수 없다.
소스가 되는 서버에서 스트림을 재전송할 중계서버를 향해 RTMP PUSH 방식으로 연동하는 방법도 있겠지만, 여러가지 제약에 따라 공개된 주소를 PULL 방식으로 가져와 입력소스로 사용해야 할 경우도 있을 것이다.
본 글에서는 와우자가 RTMP 중계서버로 동작할 수 있도록 외부 RTMP 소스에 PULL 방식으로 연동하는 상세한 방법과, 본 필자가 와우자를 중계방식으로 운영해야 했던 경험들을 간단하게 공유하려 한다.
어떤 경우에 RTMP 중계가 필요할까?
Case 1 : 트래픽 분산을 위한 프록시 구축
하나의 서버 또는 회선에 과도한 부하가 걸릴경우, 안정적인 서비스 운용을 위해서 부하를 분산시켜줘야 할 필요가 있다. 동일한 역할을 할 서버를 하나 더 두고 클라이언트들이 분산 접속할 수 있도록 구성해 주면, 제한된 자원을 가지고 안정적인 서비스를 구성할 수 있다. 이 경우 소스 서버의 RTMP 출력을 프록시 역할을 할 와우자로 입력해 줄 필요가 있다.

Case 2 : 라이브 서비스 무중단 이전
본 필자는 송출 대행사라고 하는 곳에서 근무하고 있다. 자체 송출 시설을 갖추지 않은 채널사용사업자(PP)들을 대상으로 송출 설비와 관련 업무를 제공해 주는 회사이다. 어느날 필자의 회사가 이전을 하게 되었고, 당시 회사에서는 약 10여개 채널의 라이브 OTT 서비스를 제공해 주고 있었다.
이전을 한다 해서 고객사의 방송을 중단시킬 수는 없다. 때문에 기존 와우자 서버의 RTMP 출력을 이전할 위치의 새로운 와우자 서버에서 중계받게 구성하고, 플랫폼이 새로운 와우자를 바라보게 구성을 완료했다. 그 뒤, 회선을 먼저 이전하고 송출시스템과 함께 와우자를 이전하는 방법으로 이전을 진행 했다. 이와같이, 서버 이전시에도 RTMP 중계 기능은 유용하게 사용할 수 있다.

필자가 경험한 위의 두 가지 예를 제외하고도, 여러가지 상황에 따라 이런식의 구성이 필요할 때가 있을 것이다.
중계 운용을 위한 와우자 구성 절차
와우자에서 외부 RTMP 소스를 Pull 방식으로 가져오기 위해서는, 아래의 절차를 따라 스트림파일을 생성해 주고, 적합한 타입의 MediaCaster 를 선택해 주어야 한다.
- 새 스트림 파일 생성
우선, RTMP 소스를 바라볼 스트림 파일을 새로 생성한다. 생성할 스트림 파일의 이름을 넣어주고, 재전송 하고자 하는 소스 스트림의 RTMP 주소(URI)를 입력해 준다.스트림 파일 생성의 예 - 스트림 연결 설정
스트림 파일 목록에서 새로 생성한 스트림 파일 옆의 Connect to this stream 아이콘을 클릭한다.생성된 스트림 파일 - Mediacaster 선택
환경에 따라 Application Instance항목을 선택하고, MediaCaster Type을 클릭한다. 표시되는 목록에서 liverepeater를 선택한 후, OK를 클릭해 소스 스트림을 연결해 준다.liverepeater 선택 - 스트림 입력 확인
해당 어플리케이션의 Incoming Streams탭에서 스트림파일을 클릭하여 입력 스트림이 들어오고 있는지 확인한다. Network Throughput항목의 Bytes In항목에 입력받는 스트림의 비트레이트가 표시된다. 만약 이 항목이 0으로 표시 될 경우, 입력받는 스트림이 존재하지 않는다는 의미로, 소스의 주소나 네트워크 설정등을 다시한 번 확인해 보아야 한다.정상적으로 소스를 수신하는 모습
중계 구성시 참고사항
위에서 설명한 절차대로 진행하면 별 다른 문제 없이 외부의 RTMP 스트림을 중계하여 재전송할 수 있으나, 사용권한이 없는 스트림을 임의로 재 전송할 경우 법적인 문제가 발생할 수 있음을 기억해야 한다. 자신에게 사용 권한이 있는 스트림에 대해서만 사용해야 하는 것을 꼭 기억해 주기 바란다.