# 어디다 올릴까 하다가 직접적인 개발이야기도 아니고 (간접적이긴 하지만), 사용기에 더 가까워서 이곳에 올립니다.
개인 사정상 한글 입력기를 만들고 있는데, 간간히 짜증나는 부분이 있어 푸념을 좀 늘어 놓습니다.
1. 이걸 시작한 계기는 google tv (settop형) 를 하나 들여 놓으면서 시작되었네요.
원래 tv자체는 보지 않아서 대충 개인 서버에 넣어 놓은 동영상을 google tv settop으로 streaming해 보고
덤으로 youtube등을 볼려고 생각하고 설치했는데, 설정 중에 한국어 입력이 없다는 걸 알게 되었습니다.
뭐 이름 없는 업체도 아니고 소니꺼 였는데... 중문, 일문 입력은 다 있는데 한글은 없더군요.
짜증 게이지가 1 증가했습니다. 북미버전이라 그런가 하고 그냥 맘속으로 소니를 깠지요.
참고로 전 북미에서 살고 있습니다.
2. google tv market을 검색해 봅니다. 한글 입력기는 없네요.
짜증 게이지가 다시 1 증가 했습니다.
3. 대충 폰용 market에서 입력기를 받아 apk형태로 설치해 봅니다. 설치하자마자 계속 crash가 나네요.
아무래도 직접 하나 만들어야 할 것 같습니다.
다시 짜증 게이지 증가합니다.
4. 위 google tv settop으로 하려던 것은 적당한 video player가 없어서 실패합니다.
제대로 자막이 지원되는 플레이어가 없네요. 특히 SMI는..
phone용 market에서 받은 SMI 지원되는 플레이어는 대부분 동작이 안되고 (google tv는 아직까지 NDK가 지원되지 않습니다)
Soul Movie는 설치되고 동작도 하지만 google tv에서는 해상도를 제대로 맞춰 보여주지 못하는 문제가 있습니다.
기본 비다오 플레이어는.. 소니는 외부자막 같은거 지원해준 적이 없다는... 플스에서도.. 소니잖아? 안될거야 아마..
그래서 이번엔 아예 JB가 올라간 android tv box를 구해 설치해 봅니다. (google tv는 3.2가 올라가 있습니다.)
그런데 이 녀석도 한글 입력기가 없습니다. "아니 이녀석도?" 싶었습니다. (중문/일문 입력기는 당연하다는 듯이 있고..)
다시 짜증 게이지가 증가 합니다.
5. phone용 한글 입력기를 android tv box에 설치해 봅니다.
crash는 안나지만 h/w keyboard를 제대로 지원 못해 사용할 만한 수준이 아니네요.
다시 짜증 게이지 증가합니다.
6. android tv box의 경우, 원래의 목적에는 그런데로 부합했습니다만,
아직 최적화가 덜된 것인지 streaming, 특히 ethernet port를 이용해서 하는 것은 성능상에 문제가 있네요.
영상재생 초기에 렉이 아주 심하게 걸리는 경우가 자주 나타납니다. 아무래도 드라이버단이나 아랫쪽 문제 같더군요.
그래서 다시 다른게 없나 찾아보다가 android x86 에 대해 알게 되었습니다. 마침 JB 이미지도 올라와 있더군요.
테스트 삼아 받아서 돌려보았습니다. 그런데... 여기도 한글입력기가 없네요. -_-..
이쯤에서야 뭐가 문제였는지 알게 되었습니다. android x86은 AOSP를 기반으로 작업을 하고 있는 프로젝트고
android open source 자체에 한글입력기가 기본으로 포함되어 있지 않다는 거지요. -_-...
중문입력과 일문입력은 포함되어있고 한글입력은 원래 없었다는..
구글에서 안드로이드쪽 작업하는 분들 중에 한국분은 없었나봅니다.
짜증 게이지가 쉬지 않고 올라가더군요.
7. android x86의 경우도 제가 쓰려는 목적으로 쓰기에는 몇가지 문제가 있네요.
제가 쓰려는 목적으로는 심하지 않습니다만, 아직 정식 릴리즈가 아닌지라 프로그램이 죽는 경우가 꽤 있고
아직 지원 안되는 기능이 좀 있습니다. 그리고 결정적으로 기본 포함된 codec이 HD동영상을 플레이하지 못합니다.
다행히 그냥 동영상 같은 경우, MX player등을 이용하면 문제가 없습니다만, youtube같은 iptv타입의 앱에서는 문제가 됩니다.
뭐 youtube말고는 아직 제대로 동작하는 앱이 없는 것 같긴 합니다만...
해상도만 HD 해상도 밑으로 다시 설정해주면 동영상 play자체는 됩니다만, 그 정도로는 만족하기 힘듭니다.
여기서 짜증 게이지는 잠깐 쉬고...
8. 결국 어쨌든 필요하니 한글 입력기를 하나 만들기 시작합니다. 뭐 기본적인 기능은 관련된 일을 해봐서 대충 알아서 만들어 봅니다.
물론 맨땅에 헤딩하는 것은 아니고 sample로 들어 있는 soft keyboard code를 기반으로 작성합니다.
그런데.. C만 쓰다가 JAVA를 쓰려니, 언어가 다른점이 꽤나 많네요.
개인적으로 C에서 struct constant array를 정의해서 작업하는 짓을 꽤나 하는 편이고,
한글 입력기도 그렇게 만드는 편이 편한 프로그램에 속하는지라 JAVA에서도 가능한가 살펴보니 안되더군요.
짜증게이지가 또 다시 약간 증가했습니다만, final type의 class를 쓰는 걸로 대충 타협을 봤습니다.
9. 한글입력기를 열심히 (라고 쓰고 "어쩌다 생각 나면" 이라고 읽는...) 작성합니다.
그런데 code내에 comment를 작성하다가 이상한 것을 발견합니다.
Eclipse에서 분명히 Korean이라고 spell이 틀리지 않게 적었음에도 불구하고 spell checker에 걸려 밑줄이 걸립니다.
혹시나하고 Japanese를 써보는데, 이건 안걸리는군요.
이쯤되니깐.. 짜증보단 진지하게 생각해 봅니다. 한국이 왕따인건가...
일본을 갈라파고스라고 놀릴 일이 아니다 싶어지더군요.
10. 작업하던 것은 그런대로 끝나갑니다. 안드로이드의 입력기 지원 부분 디자인은 상당히 잘되어 있고
샘플 코드도 잘 만들어져 있어서 큰 어려움 없이 곧 끝날 것 같습니다.
뭐 딱 기본 기능만 하는 프로그램으로 만드는지라 (심지어 candidate view도 없애고..) 딱히 어려울 부분은 없어서 더 쉬웠던 것이겠지만..
그런데 아직도 제가 원하는 기기 셋업은 하지 못했네요. 에효..
이렇게 대충 끝나가다 보니... 그동안 짜증 났던게 생각나서 좀 정리하려고 이렇게 푸념글을 씁니다.
소니 구글TV 사용중인데 한글이 없어서 불편할때가 있더군요. 꼭 만들어주세요 ^^
전 현재 어떻게 사용하냐면 브라우저로 구글에 들어가면 검색창옆에 한글 가상 키보드가 뜨더군요.
그걸 이용해서 그냥 유투브도 검색하고 하면서 쓰고 있습니다 ^^;
글 잘 보았습니다.
집에 tvix도 있고, xbox도 있고, U+ 인터넷 tv세탑도 있고해서,
구글tv는 안 사고 있는데요.
좀 활용도가 있나요?
soul movie 작은 영상이 화면 왼쪽상단으로 나온다는 이야기는 들었는데요.
테스트기기가 없어서 수정을 못하고 있답니다.
왜 치우치는지 참 의아하네요....
활용도는 글쎄.. 지금 쓰시는 장비들이시면 거의 활용도가 없을 겁니다.
이게 본래 목적은 tv를 보다가 실시간으로 왔다 갔다 하는 용도에 smart tv 기능이 더 붙은 정도의 느낌이라..
원래 제가 하려던 것도 딱 tvix+youtube 정도 거든요,
다만 tvix의 경우 자막 처리가 별로 빠르지 않고 sync가 좀 늦는 문제가 있고,
제가 가진게 구모델이라 youtube를 보거나 하는 것은 안되서 여기저기 손대보고 있는 겁니다.
그리고 영상문제는 그게 양상이 좀 복잡합니다.
일단 soul movie의 경우, 자막이나 메뉴는 정상적인 위치에 나타납니다.
아마 이부분은 오버레이를 쓰시지 않나 싶은데, 이 부분은 문제가 없어 보입니다.
그런데 유독 영상 부분만 해상도 조정 없이 나오더군요.
1080p 화면에 720p 소스를 뿌리면 좌상단에 해상도 조정 없이 작은 화면으로 나오고,
720p 화면에 1080p 소스를 뿌리면 영상의 좌상단의 720p 크기 만큼만 꽉 차고 나머지는 잘린채로 나타납니다.
그런데 ES Explorer for google tv에 내장된 media player로는 정상적으로 나오네요.
그래서 사용하신 API가 좀 다르거나 google tv addon API set으로 빌드할 경우 뭔가가 조정이 들어가는 것은 아닌가 싶기도 합니다.
아직까지 media player를 만들 예정은 없는데, 운이 없으면 이것도 만들어야 할지도.. -_-
그 외에도 해당 google tv settop의 문제다 싶은 것이 좀 더 있습니다.
도대체 HDMI 출력 밖에 없는 녀석이 overscan이라도 적용하는지 youtube에서도 원본대비 살짝 crop된 영상으로 플레이됩니다.
그런데 기본 플레이어의 경우는 동일한 동영상을 다운 받아 파일로 돌리면 정상적인 크기로 나옵니다.
이 증상은 기본 플레이어만 제외하고 모두 동일한 것 같아 보이는데, 아직 정확히 확인해 보지는 못했습니다.
뭔가 framework단을 건드려 놓은게 아닌가 싶습니다만... 더 자세히 알기는 어렵네요.
오늘 다시 확인해 보았습니다.
비디오 소스는 1280x720 이고 display는 1920x1080입니다.
우선 4:3을 제외하고는 모두 변화가 없습니다. 전체 확대의 경우 깔짝대는 느낌은 있습니다만 변화가 없다고 봐도 무방합니다.
4:3의 경우는 크기나 비율이 바뀌는 것 없이 그냥 영상만 상단 중앙으로 옮겨집니다.
전체화면의 중앙이 아닌 상단에 몰린 채 좌우 중앙입니다.
메뉴와 UI 레이아웃은 정상적으로 전체화면으로 나타납니다.
DDMS로 화면캡쳐를 시도해봤습니다만, 영상부분은 캡쳐되질 않네요.
Google TV 가이드 라인을 찾아보니 MediaPlayer나 VideoView를 사용하라고 나와있습니다만, 정확한 의미는 잘 모르겠군요.
System log 뿐이지만 로그도 좀 잡아 봤습니다.
bubble upnp에서 동일한 동영상 소스를 기동했을 때의 로그들입니다.
SoulMovie.TXT: 이건 Soul Movie로 플레이 했을 때입니다.
ES_FileExplorer_for_GTV.TXT: 이건 ES file explorer 의 google tv 버전에 포함된 media player를 사용했을 때의 로그입니다.
SoulMovie_display_mode_change.TXT: 이건 soul movie로 플레이 중 display mode를 2번 loop를 돌면서 변환 시켰을 때입니다.
도움이 되셨으면 합니다.
감사합니다.
수고 많으시네요.
좋은 결과 얻으시기 바라겠습니다.