1. 자막을 뿌리려면
해야 할 여러가지
삽질모음
7급 공무원도 쉽게 이해하는 동영상 플레이어
해킹하기
2. Overview of
Video Player engine
Media
Source
Demuxer
(Splitter)
Video
Audio
Subtitle
Decoder
to YUV
Decoder
to PCM
Render
to RGB
Composite
Video
Output
Audio
Output
External
Subtitle
Source
3. Subtitle formats
● Text based
○ srt
○ ssa/ass
○ sami
○ tmplayer
○ mpsub
■ http://goo.gl/VceeF
● Subpicture
○ dvd subpicture (.sub/.idx)
○ bluray subpicture
● Content
○ 시작시간
○ 끝시간
○ 내용
5. Parsing
● 문자셋 정의가 되어있지 않음
● 대부분 <sync> 태그를 닫지 않음
○ 그외에 다른 여러 태그에 대해서도 올바르게 닫지 않
는 경우가 많음
● 잘못된 html entity를 사용하는 경우가 많음
○ &
○ <
○ >
○
○ "
○ '
● 잘못된 color code를 사용하는 경우가 많음
6. Rendering
● 여러가지 layout 문제
○ 글자 align에 대한 표준이 없음
○ layout engine이 필요!!!
○ layout rule도 필요!!
● 가독성
○ 글자만 그렸을 경우
■ 글자만 그려서는 가독성이 아주 떨어짐
○ 해결 방법
■ 배경에 그늘을 씌우던가..
■ 글자 테두리를 따로 그리던가..
○ 일반적으로는 테두리 + 그림자 를 같이 그림
● 비디오 소스 해상도에 맞춰서 렌더링됨
7. Composite
● 화면 출력전에 비디오 소스와 자막을 그린 결
과물을 합성해야 함.
○ 비디오 소스와 자막 그린 결과물의 형식이 다름
■ 비디오 소스는 yuv
■ 자막 렌더링 결과물은 rgb
● 거기다가 Anti-aliasing이 걸려있으면 alpha
처리도 추가
● 추가로 1초에 30회 이상 합성되어야 함.