미디어 플레이어 자막 재생방법및 이퀄라이저
글쓴이: wakeup / 작성시간: 수, 2006/12/20 - 6:02오후
플레이어를 만들어 보려고 하는데요,
자막 처리는 어떻게 프로그래밍을 해야 하는지 아시는분 조언 부탁드립니다.
대충 생각해 본건데, 현재 플레이되는 프레임 정보와 smi 파일을 읽고 해당 프레임이 플레이될때
보여주면 될거같다는 막연한 생각이 드는데요...
그리고, 윈엠프나 알송같은 오디오 플레이어에서
오디오가 플레이될때, 주파수에 따라서 올라갔다 내려갔다 하는 UI는 어떻게 만드는 건지요 사진첨부 해봅니다.
참고자료나 사이트 알려주시면 고맙겠습니다.
File attachments:
첨부 | 파일 크기 |
---|---|
![]() | 3.18 KB |
Forums:
gstreamer에서는 자막을
gstreamer에서는 자막을 보여주는데 2가지 플러그인이 필요합니다.
subparse와 textoverlay 플러그인이 그것인데요.
subparse 플러그인에서는 자막 파일을 파싱해서 시간정보와 그 시간에 보여줘야 할 텍스트 데이터를 분리합니다.
textoverlay 플러그인에서는 subparse에서 얻은 텍스트 데이터를 rgb데이터로 렌더링한 후, 현재 동영상의 프레임데이터와 합치는 역할을 합니다. 동영상의 프레임 데이터는 yuv이므로 자막을 렌더링한 이미지 데이터도 yuv로 변환한 다음 블렌딩시켜야합니다.
그런데 텍스트 데이터를 렌더링할 때 주의해야 할 점이 있습니다. 단순히 렌더링해서 비디오 프레임과 합치면 가독성이 무지막지하게 떨어집니다. 그래서 보통 외곽선과 그림자 처리를 하고 적절한 알파블렌딩 처리를 해야 보기 좋게 나옵니다.
그리고 smi에서는 html에서 사용되는 여러가지 태그를 사용할 수 있기 때문에 렌더링하는데 귀찮은점이 많이 생길 수 있습니다. 그리고 태그 짝이 안맞거나 잘못된 프로퍼티가 포함되어있는 경우도 아주 많습니다. 뭐 파서에서 잘 되도록 해주는 수 밖에 없습니다..
gstreamer에서의 textoverlay에서는 pango markup형식을 처리해주는 기능이 포함되어 있어서 subparse에서 pango markup형식으로 변환시킨후 textoverlay로 넘겨주도록 되어있습니다.
만약 직접 이것들을 구현하신다면 위에 언급한 것들을 고려하고 구현하는 것이 좋을 듯 합니다.
(어젯밤에 대충 답변을 적고 submit을 했는데 db서버가 나간듯 하더군요 --; 다시 어제 적은것 대충 기억에서 끄집어내어서 적습니다.)
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
댓글 달기