mplayer 다국어 자막 patch
글쓴이: Scarecrow / 작성시간: 월, 2009/07/13 - 3:58오후
mplayer의 subreader.c소스를 잠깐 봤는데...
약간만 손보면 다국어 자막을 잘(?) 찍어줄거 같더군요.
그래서 아이디어를 구현해 보았는데 생각대로는 잘 돌아가서
개인적으로 쓰기에 불편이 없어 공개도 해 봅니다.
몰론 본인이 mplayer의 단축키관련부분등의 심오한 부분의 소스는 전혀 읽어보지 않았으므로
한영 통합자막에서 한글과 영문이 전환되게 한다거나 하는건 전혀 모르겠습니다. ^^
Index: subreader.c =================================================================== --- subreader.c (revision 29418) +++ subreader.c (working copy) @@ -97,9 +97,11 @@ static subtitle *sub_read_line_sami(stream_t* st, subtitle *current) { static char line[LINE_LEN+1]; - static char *s = NULL, *slacktime_s; + static char *s = NULL, *slacktime_s, *class_s; char text[LINE_LEN+1], *p=NULL, *q; int state; + static char sub_class[10]; + static int class_len = 0; current->lines = current->start = current->end = 0; current->alignment = SUB_ALIGNMENT_BOTTOMCENTER; @@ -140,6 +142,20 @@ continue; case 2: /* find ">" */ + class_s = stristr (s, "Class="); + if (class_s) { + class_s += 6; /* strlen ("Class=") */ + s = class_s; + if (class_len == 0) { + int i; + for (i = 0; i < 9 && *class_s != '>'; i++, class_s++) + sub_class[i] = *class_s; + sub_class[i] = '\0'; + class_len = strlen (sub_class); + printf ("sami subtitle class: %s\n", sub_class); + } + if (strncmp (sub_class, s, class_len)) { state = 0; continue; } + } if ((s = strchr (s, '>'))) { s++; state = 3; p = text; continue; } break;
File attachments:
첨부 | 파일 크기 |
---|---|
mplayer.patch | 1.23 KB |
Forums:
revision 29418 이란것이
revision 29418 이란것이 어느 버젼인가요?
1.0rc2 인가요?
헉!! 대문에 걸렸군요.
svn버젼입니다.
하지만 저 정도는 우분투 패키지의 소스에 patch -p0 -i로 적용해도 사용가능합니다.
여기에 소스를 더 추가해서 한영 변환까지 되는 패치를 만들어서 보냈는데 깜깜 무소식입니다. ㅜ.ㅠ
http://news.gmane.org/gmane.comp.video.mplayer.devel
doodoo@doodoo:~/download/Mpla
호기심에 컴파일 해 봤습니다...
rc2 버젼이랑 실행파일 크기가 많이 차이가 나는군요..
기능이 더 많아졌다고 믿어야 하나...말아야 하나 ..... ^^;
이제 집에가서 재생해 봐야 겠네요...... 후기는 다음기회에..
패키지를 만들어 보았습니다. ^^
본문에 있는 패치는 한영자막이 있을때 둘이 막 섞여 나오지 않게만 하는 패치이고
저걸 더 발전 시켜서 한영이 서로 변환까지 되게 패치를 만들었는데...
그걸 우분투에 포함되어 있는 mplayer에 (1.0rc2)에 수동으로(-_-;) 적용하여
바이너리 패키지로 컴파일해 보았습니다.
한영전환은 단축키 j를 이용하면 가능합니다.
자막 패치 관련...
혹시 MPlayer 다국어 자막 지원은 패키지만 공개하시나요? 호..혹시 소스 레벨 공개는 하지 않으시나요??^^;;
서브버젼으로 가져와
서브버젼으로 가져와 컴파일 한 버젼에는 영어가 아예 안 나오는 군요....
같이 나올줄 알았는데....ㅠㅠ (그리고 x86_64 버젼입니다.)
글이 긱포럼에
글이 긱포럼에 올라간 김에 패키지를 만들어 추가한 글에서도 밝혔듯이...
본문의 패치는 한영자막이라고 할때
기존에는 서로 막 혼동스럽게 섞여 나오는걸
하나만 잘 나오게 자막 파싱부분만 살짝 손 본 것입니다.
그러니 영어자막이 한글자막을 보기도 전에 튀어나와서
이것도 저것도 안되는 상황을 피하는 것이죠 ^^
패키지를 만들때 적용한건 한/영 전환까지 가능하게 만든 패치를 적용한 것입니다.
(반면 본문에 올린 패치는 한가지 이외 디른 자막은 싹 무시하는 방법입니다. :)
동시에 나와야 한다는건 개인적으로 써본적이 없고 필요를 느끼지 못해 생각해 보지 않았습니다만
자막 파싱 부분만 손봐서 될 문제는 아닌듯합니다.
네...그러니깐....패키
네...그러니깐....패키지로 만든건...제가 64 비트용을 쓰니깐...
제가 사용을 못하겠어서
다시한번 페치파일을 올려 주시면 안되겠는가 하는건데요...^^;
위 댓글중에
위 댓글중에 링크걸어둔곳에 가면 패키지에 적용된 패치를 받을 수 있습니다.
http://cache.gmane.org//gmane/comp/video/mplayer/devel/53253-001.bin
혹시 이 패치 공식
혹시 이 패치 공식 소스에 반영 되었나요? 윈도에서 smplayer 쓰는데 아직 같은 문제가 있네요. 컴파일을 새로 할 수도 없고...