IT STORYs
FMS Live Test 본문
기본환경은 아래와 같다
Flash Media Encoder 2.5 를 설치한 서버에서 캠으로 영상을 받아 FMS 3.02 서버로 보내 라이브 방송을 테스트 하는 환경임.
1. 먼저 FME 2.5 버전을 설치한다.(이전에 비디오카드 or 여기서는 캠으로 대체 ->드라이버를 먼저 잡는다)
FME 를 실행하면 캠이 정상적으로 잡혀있으면 위와 같이 I/O 화면 두가지가 나온다.
여기 옵션에서 비디오 및 음성에 대한 퀄리티 옵션을 지정할 수 있다.
중요한건 왼쪽에 있는 stream to flash media server 이다.
위 output 영상을 어느 FMS 서버로 보낼건지를 정하는 옵션이다.
FMS URL 같은 경우 기본 형식이 FMS LIVE 에 게시지점까지 적어준다.
ex) rtmp://영상받을FMS도메인 및 IP /라이브게시지점
Backup URL 은 영상받는 FMS 서버에 대한 이중화에 대한 지원이며, 보통 다른 서버를 지정해주는것이 맞을것이다.
Stream 옵션은 아무값이나 넣어도 문제 없다.(일종에 채널이름같은 기능)(그러나 않넣으면 안됨)
나중에 FLV 플레이어에서 플레이 될 경우 Stream 옵션을 aaa 로 넣게 되면 주소가 아래와 같이 된다.
rtmp://FMSIP/게시지점/aaa
위 주소가 라이브 방송 주소가 된다.
참고로 Save to File 옵션은 제거한다.
FME 셋팅은 간단하게 위와 같이 셋팅하면 되며, FMS Origin 서버는 위 게시지점에 대한 옵션에 대한 수정만 있을뿐
(기본값인 live 게시지점을 쓰면 수정할게 없음) 다른 필요 작업은 없다.
edge 서버를 보통 구성하게 되는데 이때에는 FMS 설치 후
C:\Program Files\Adobe\Flash Media Server 3\conf\_defaultRoot_\_defaultVHost_ 주소 아래
Vhost.xml 파일을 수정해야 한다.
수정할 내용은 아래와 같다
proxy 옵션 부분에 수정부분내용 local -> remote , false -> true
<Proxy>
<!-- A vhost may be configured to run apps locally or remotely. -->
<!-- A vhost that is not explicitly defined gets aliased to -->
<!-- the default vhost and is configured as such. A proxy server -->
<!-- runs all its apps remotely, while a normal server runs all -->
<!-- its apps locally. The following parameter defines whether -->
<!-- this vhost is running local or remote apps, the default is -->
<!-- local. It may be set to either local or remote -->
<Mode>remote</Mode>
<!-- Whether this is an anonymous proxy. An anonymous proxy does -->
<!-- not modify the incoming url. This way it does not disturb -->
<!-- the routing of explicitly chained proxies. It is false by -->
<!-- default, must be true for interception proxies. -->
<Anonymous>true</Anonymous>
그리고 reoutetalbe 옵션 부분에 아래와 같이 수정
<RouteTable protocol="">
<!-- Maps a host:port pair, to a different host:port pair. -->
<!-- This tag is in the form <host1>:<port1>;<host2>:<port2> -->
<!-- where host1:port1 is the host and port of the desired -->
<!-- destination, and host2 and port2 is what should be used -->
<!-- instead. In other words, connections to host1:port1 are -->
<!-- routed to host2:port2 instead. For example, -->
<!-- <RouteEntry>foo:1935;bar:80</RouteEntry> -->
<!-- This says to route connections destined for host "foo" -->
<!-- on port 1935, to host "bar" on port 80. -->
<!-- We also allow the use of the wildcard character '*' to -->
<!-- replace <host> and/or <port>. For example, -->
<!-- <RouteEntry>*:*;foo:1935</RouteEntry> -->
<!-- This says route connections destined for any host on -->
<!-- any port to host "foo" on port 1935. -->
<!-- '*' can also be used on the right-hand side. When used -->
<!-- on the right-hand side, it means that the corresponding -->
<!-- value on the left-hand side should be used. For example -->
<!-- <RouteEntry>*:*;*:80</RouteEntry> -->
<!-- This says route connections destined for any host on -->
<!-- any port, to the same host on port 80. -->
<!-- Additionally, you can also specify that a host:port -->
<!-- combination be routed to null, which essentially means -->
<!-- that connections destined for that host:port combo will -->
<!-- be rejected. For example, -->
<!-- <RouteEntry>foo:80;null</RouteEntry> -->
<RouteEntry>FMSEdgeLocalIP:*;FSMOriginIP:1935</RouteEntry>
</RouteTable>
위와 같이 수정 후 FMS 서비스를 restart 하면 된다.
최종 테스트는 edge IP를 통하여 LIVE 테스트 하면 된다.
예> rtgmp://EdgeIP/게시지점/Stream옵션에서 지정한 이름
테스트 한 모습