안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요~
좀 안드로이드랑 거리는 있어보이지만, 아무래도 문의를 이쪽에다 하는 것이 맞지 않나 생각이 들어 이렇게 글을 남겨 봅니다.
다름이 아니라 기본적인 동영상 플레이어를 개발했습니다.
그런데, 막상 여기에 자막까지 뿌려주는 기능이 없더군요....
여차저차해서 만들었습니다.
[ mp4 + smi 파일 조합의 일반적인 형태를 말하는 것입니다. ]
그럼 다 했는데 왜 질문을 올리냐? 라구 생각하시는 분이 계실까봐 간단하게 작성하자면...
요즘 mp3 / mp4 파일 헤더 자체에 text 정보를 넣어 자막으로 활용하는 경우가 보이더군요...
이 부분도 뭐 상세히 기술하자면 복잡해지니 쉽게 말해서 mp4 파일에 추가된 트랙의 정보를 얻고자 합니다.
막상 file io만으로도 가져 올 수가 있는 것인지.....
아니면 별도의 paser를 이용하여 원하는 header의 정보 추출을 시켜줘야 하는지 궁금해서 이렇게 질문을 드립니다.
mp4 header 구조부터 다시 살펴보고 있긴 한데....딱히 이거다~!! 싶은 가닥이 잡히질 않아서요...;;
고수분들의 많은 의견 부탁 드립니다.
mp4는 컨테이너 형식입니다. 거기에 들어가는 자막 형식이 어떤 방식이 될진 아무도 모릅니다.
일반적인 3GPP Timed Text형식의 경우 젤리빈 부터 MediaPlayer.OnTimedTextListener 를 통해 구하실 순 있습니다.
단지 젤리빈 부터라는게 큰 단점이죠.
특히 이미지 형식의 자막이 들어갈 수도 있다보니 제대로 된 파서를 작성하시긴 힘드실겁니다.
파일 형식이 정해졌으면, 파서를 짜도 좋겠지만 아니라면 ffmpeg을 통해 자막을 구하시길 권장합니다.