'onMetaData의 정보'에 해당되는 글 1건

  1. 2008.08.17 비디오 프로그래밍 2
AS3.0 Cookbook/비디오2008. 8. 17. 11:40
AS3에서는 Video클래스를 제공하여 FLV파일을 제생할 수 있게 한다. 단 FMS서버가 아닌 경우 대부분 프로그래시브한 FLV를 재생한다.

비디오를 재생하기 위해서는 몇가지 클래스와 콜벡함수에 대한 처리를 해주어야 한다.
우선 비디오파일이 있는 서버와의 길을 만들기 위한 NetConnection이 필요하고 이를 관리하고 제어(비디오파일)하는 NetStream 클래스를 만들어야 한다.
이 두개의 클래스로서 외부 비디오 파일과의 연결은 준비가 된 것이다.

NetConnection을 통해 흘러오는 비디오데이터를 NetStream 이 재생을 하게되는데 실제로 화면에 보여주기 위해서는 DisplayObject를 상속받은 녀석이 있어야 한다. 그것이 Video클래스이다.

다른 로더나 사운드관련 클래스들 처럼 서버와의 통신전문 클래스인 NetConnection, 실제 파일의 움직임을 관리하는 NetStream, 이들을 통해 불러들인 데이터를 담아 보여주는 Video클래스 이렇게 3개의 클래스가 기본적으로 설정되어 있어야 하며, 비디오 파일이 NetStream을 통해 흘러들어올 때 콜벡함수 onMetaData()를 호출하게 된다. 이는 자신의 총 재생시간을 duration이라는 변수값으로 호출하기 때문에 클래스에 onMetaData를 설정해 두어야 한다. 그리고 만약 FLV에 큐포인트가 설정되어있다면 onCuePoint()함수도 설정해 두어야 한다.

onMetaData의 정보
width  :  비디오파일의 폭
height  :  비디오파일의 높이
videodatarate  :  비디오 데이터 속도
cuePoints  :  큐포인트의 배열
framerate  :  재생속도
videocodecid  :  비디오 인코딩에 사용된 코덱 버전

duration  :  전체 재생시간
audiodatarate  :  오디오의 kbps(초당 킬로바이트) 속도

canSeekToEnd  :  FLV 파일이 점진적 다운로드 무비 클립의 파일끝까지 검색할 수있는 불리언값
audiodelay  :  영상과 오디오간의 지연시간을 보정한 시간


CuePoint로 설정할 수 있는 값은 4개로 한정되어있다.
name  :  큐포인트 이름
type  :  인코딩시 선택된 event나 navigation
parameters  :  변수와 값
time  :  큐포인트 위치의 시간

parameters에값이 있다면 해당 변수명으로 한 depths 더 들어간다.


* 참고로 앞서 비디오 파일 통신을 설명한 바 있다. 참고자료 보기
Posted by 버터백통