[Video Station] iOS ¿ë DS Video »ç¿ëÀÚ¸¦ À§ÇÑ smi to srt V.1.2
Upload1.2.zip (7.7K), Down : 59, 2016-03
http:// http://www.2cpu.co.kr/bbs/board.php?bo_table=nas&wr_id=9864 (408)
경고 절대로 ssh로 convert.py와 recovery.py 실행 하지 마세요.
생성되는 파일, 폴더의 소유권과 권한이 root로 되어 버리면, 실행, 삭제, 수정이 안될 가능성이 있습니다.
반드시 제어판 -> 작업스케쥴러로 돌리시길 바랍니다.
변경점 (공통)
1. 멀티 언어 smi 파일경우 언어별로 분리하여 srt로 저장합니다.
예를 들어영화.smi 파일에 한글(KRCC)와 영어 (ENCC) 모두 혼합하여 저장되어 있는 경우,영화.KRCC.srt <-한글 자막영화.ENCC.srt <-영어 자막이런식으로 저장합니다.만일 언어가 1개만 있다면, 분류하지 않습니다.
2. UTF-8 ( With BOM ) 문자 인코딩으로 저장합니다.
기존 버전 경우 일부 DLNA 으로 BOM없는 UTF-8형식의 srt 자막을 불러오는 경우글자가 깨지는 현상이 발생되었습니다.UTF-8 형식으로 저장합니다.
3. 폰트 태그 지원합니다.
srt 표준 태그로글꼴 굵게, 기울기, 밑줄4가지 모두 지원합니다.
4. 비표준 태그 처리 ( 태그)
태그 경우 일본 애니메이션 자막경우노래 가사 한자위에 작은 글씨로 히라가나 소리음을 표시하는 자막이 많습니다.그때 사용되는 태그가 인데이 테그는 표준 srt 태그가 아닙니다. 하지만, 일부 동영상프로그램에서 암묵적으로 지원하는 플레이어가 발견됩니다만,대부분 플레이어에서는 지원하지 않는 플레이어가 간혹 있습니다.그래서 이 부분 처리를 어떻게 할지 고민을 하다가 이렇게 2가지 버전을 만들었습니다.하나는 한자 소리음 를 한자(소리) 으로 변경합니다. 한자(소리음)다른 하나는 태그를 그대로 적용합니다. 그래서 일부 플레이어경우 자막에 태그가 그대로 보입니다. (Media Player Classic, 외부 자막 필터)본인이 주로 사용하시는 플레이어에 따라 선택하시면 됩니다.4-1. convert.py (표준 srt 버전 - 호환성 높음 ) <- 추천태그를 제가 임의로 변경한 버전입니다.4-2 convert(ruby).py (비표준 srt 버전 - 일부 플레이어 지원하며, 호환성 낮음)태그를 srt에 그대로 적용되며, 태그 지원하지 않는 플레이어에서는글자 그대로 출려됩니다.
======================================================================================================
recovery.py는 자막 복원 프로그램입니다.
위에
다중언어 smi파일하고,
UTF-8 With BOM 처리 때문에 자막 복원 프로그램을 제작했습니다.
1. 다중언어 smi파일 복원
smi_backup 폴더에서 다중 언어가 들어간 smi 파일을 원래폴더로 복원을 하고,해당 smi파일에서 변환된 srt파일을 삭제 합니다. (삭제된 srt파일은 srt_backup 폴더에 저장됩니다.)
2. utf-8 with bom 아닌 srt파일 처리
bom 코드가 없는 utf-8 인코딩된 srt파일에bom 코드 있는 utf-8 srt파일로 전환합니다.. (원본 srt파일을 srt_backup폴더에 저장합니다.)
============================================================================================================
1. 이전 버전 사용자경우
1-1. 기존 convert.py 실행을 중단 및 삭제합니다.
제어판 -> 작업 스케쥴러에서conver.py 항목을 삭제하시고,/volume1/homes/본인계정/convert_mkv_ac3/ 에 있는convert.py 파일을 삭제합니다.
1-2. recovery.py를 실행해주시길 바랍니다.
제어판 -> 작업 스케쥴러에서생성 누르시고python /volume1/homes/본인계정/convert_mkv_ac3/recovery.py>> /volume1/homes/본인계정/convert_mkv_ac3/log/recovery.log생성후 실행 버튼을 클릭하시면 됩니다. (주의 활성화됨 첵크 하지 마세요. )
1-3. recovery.py 완료가 되면,
convert.py 파일을 /home/convert_mkv_ac3/ 폴더에 넣으세요. (반드시 recovery.py 동작이 끝난 다음에 사용하세요.)그런다음제어판 -> 작업 스케쥴러에서생성 누르시고python /volume1/homes/본인계정/convert_mkv_ac3/convert.py>> /volume1/homes/본인계정/convert_mkv_ac3/log/convert.log생성후 실행 버튼을 클릭합니다. (아직 확성화됨 체크하지 마세요.)
1-4 conver.py 실행이 끝나면
제어판 -> 작업 스케쥴러에서recovery.py 항목을 삭제하시고convert.py 항목에서 원하는 날짜 또는 일정 간격으로 스케쥴링을 설정하시고,활성화됨을 체크하시면 됩니다.
============================================================================================================
2. 처음 사용자용
처음 사용자 경우 백업할 smi가 없으므로 recovery.py 파일을 실행할 필요가 없습니다.
/volmune1 하위에 존재하는 smi를 srt로 변환해주는 스크립트입니다. (특정폴더는 pwd 변수에 위치 지정)
smi to srt 소스를 가지고 손 조금 댔습니다. 음성 인코딩이랑 같이 사용하는데 왠만한 동영상은 다 재생되네요
2-1. python setuptool 설치
2-2. chardet 모듈 설치
ds> wget https://pypi.python.org/packages/source/c/chardet/chardet-2.3.0.tar.gz#md5=25274d664ccb5130adae08047416e1a8
ds> tar xvf chardet-2.3.0.tar.gz
ds> cd chardet-2.3.0
ds> python setup.py install
2-3.첨부파일 업로드 및 스케쥴
조금 하신다 싶으시면 크론탭 걸어도 되구요. 귀찮으시면 스케쥴러 등록하세요
파일 올린뒤 제어판 > 작업스케쥴러 > 1분단위 실행 설정
저는 아래와 같이 넣었어요.
/volume1/개인폴더/convert_mkv_ac3/ 여기에 스크립트가 위치해야 합니다. >> 이후는 로그남기는 부분입니다. 필요 없으시면 >>포함하여 지워도 무방합니다.
아래
python /volume1/개인폴더/convert_mkv_ac3/convert.py >> /volume1/개인폴더/convert_mkv_ac3/log/convert.log
/volumeUSB2/usbshare/¿Å±â±â/¹é¹ß¸¶³àÀü1/HNTV.The.Bride.With.White.Hair.E21.720p.HDTV.x264-NGB.smi
error Start2400
smi ã¾Æº¸´Ï ÀÌ·±³»¿ëÀÌ Àֳ׿ä <SYNC Start2400><P Class=KRCC><font color=lightblue>Á¦21Áý ÀÌÆÄÀÏ °Ç³Ê¸é ´ÙÀ½ÆÄÀ϶ǰɸ®°í ´ÙÀ½¶Ç°É¸®°í ±×·¯³×¿ä Á¶¾ðÁ» ºÎŹµå¸³´Ï´Ù
start=2400À¸·Î ¼öÁ¤ÇÏ½Ã¸é µË´Ï´Ù.
¾Æ¸¶ ÇØ´ç ºÎºÐÀ» ¼öÁ¤ÇؾߵǴµ¥ ¼öÁ¤ÇÏÁö ¸øÇØ »ý±â´Â ¹®Á¦ÀΰŠ°°½À´Ï´Ù.
´ÙÀ½ ¹öÀü¿¡¼´Â ¼öÁ¤ÇÒ¼ö ¾ø´Â ºÎºÐÀº µû·Î ½ÇÆÐÇÑ ·Î±× ³²±âµµ·Ï ÇÏ°í ´ÙÀ½ ÀÚ¸· ÆÄÀÏ·Î ³Ñ¾î°¡µµ·Ï ¼öÁ¤Çϵµ·Ï ÇÏ°Ú½À´Ï´Ù.