와우자 서버 모듈 작성 /
에서 WowzaServer의 HTTPProviders 에 대한 정보를 찾을 수 있다. 여기서 Event methods 와 관련된 설명도 찾을 수 있다.
서버를 확장시켜주는 요소
- modules
- HTTP Providers
- listeners
이 3가지 요소를 이용해서 서버의 기능을 확장시키면 된다.
구현은 api 문서나 code example page 를 참조하자.
- WowzaMediaServer_ServerSideAPI.pdf
- http://www.wowza.com/forums/content.php?12
- http://www.wowza.com/resources/WowzaMediaServer_UsersGuide.pdf
에서 WowzaServer의 HTTPProviders 에 대한 정보를 찾을 수 있다.
Module
server side module 들은 virtual host 하나에 대한 설정된 Java class 들이다.
일반적으로 .jar 이 하나의 module 이 된다.
module 에 쓰이는 class 들은 하나의 .jar 로 되어있다. 이 jar 은 <server_path>/lib 에 있다.
다른 필요한 .jar 로 된 library 들을 이 /lib 에 넣어서 module 에서 호출해서 사용할 수 있다.
참고로, 서버가 처음에 /lib 안에 .jar 로 끝나는 file 들을 모두 load 하게 되어 있다.
이 module 을 application 에서 사용하려면, application 의 Application.xml 의 Modules 에 Module 을 추가해 주면 된다.
Event Methods
모든 type 의 streaming 에서 server 는 같은 event 를 날려준다.(즉, event listener 를 호출한다.)
Event Methods 들은 아래 Interface 에 정의되어 있다.
- IModuleOnApp
- IModuleOnConnect
- IModuleOnStream
- IModuleOnHTTPSession
- IModuleOnRTPSession
- IModuleOnHTTPCupertinoStreamingSession
- IModuleOnHTTPSmoothStreamingSession
- IModuleOnHTTPSanJoseStreamingSession
- IModuleOnHTTPCupertinoEncryption
- IModuleOnHTTPSmoothStreamingPlayReady
onAppStart 는 instance 가 만들어질 때 호출된다. Application.xml 에 있는 Modules 에 정의된 모든 Module 에 event 를 날려준다. 이 때 순서는 Modules 에 적힌 순서대로 가장 위쪽에 적힌 Module 이 가장 먼저 event 를 받는다.
Custom Methods
custom methods 는 아래와 같은 형식을 띤다. public 이어야 하고, parameter 는 아래 3개를 가져야 한다.
public void play(IClient client, RequestFunction function, AMFDataList params)
위의 play 라는 method 는 flash 에서 NetStream.play(streamName) 으로 호출하면 호출된다.
이 method 의 호출은 event 와는 달라서 만약 같은 이름의 Custom method 가 있으면, Application.xml 에 정의된 Module들 중에서 가장 마지막에 있는 Module 의 함수만 호출한다.
그런데, 만약 이전의 함수를 호출하고 싶을 수가 있다. 이런 경우에는 아래 함수를 사용하면 된다.
this.invokePrevious(client, function, params).
이 함수를 호출하면 wowza server 가 위쪽 방향으로 module 을 검색하면서 method 를 만날 때까지 검색하고, method 를 찾아서 호출해 준다.
onCall Method
custom method 로 정의되지 않은 모든 method 호출은 onCall 로 들어온다. 그러니 중복이고 뭐고가 없기 때문에 event 처럼 Module 순서대로 순차적으로 호출한다.
HTTP Provider classes
HTTP Provider classes
HTTP Provider 는 Java class 들을 이야기 하는데, 이 class 들은 HTTP 인터페이스를 Wowza Media server 에 추가해주기 위해 사용된 작은 servlet 들 이다. 즉, wowza media server 에 http request 를 처리해 주기 위해 만들어진 녀석이다. wowza 에 어떤 command 를 http 로 날려주고 싶다면 이녀석을 이용하면 되는 것이다.
port 하나에 기반해서 설정된다.(configured on a per-port basis) 이 port 는 아래 파일에 설정되어 있다.
- /conf/VHost.xml
예제는 아래 경로에서 확인할 수 있다.
Event Listeners
Server event listener 들과 virtual host event listener 들은 Server.xml 에서 설정되고, server 에서 또는 virtual host level 에서 이벤트가 발생할 때 호출된다.
댓글 없음:
댓글 쓰기