경고 절대로 ssh로 convert.py와 recovery.py 실행 하지 마세요.
생성되는 파일, 폴더의 소유권과 권한이 root로 되어 버리면, 실행, 삭제, 수정이 안될 가능성이 있습니다.
반드시 제어판 -> 작업스케쥴러로 돌리시길 바랍니다.
변경점
1. 변환 안되는 smi파일경우 통과 하고 계속 진행
smi파일이 비정상인경우 수정후 srt변환을 하지만,
수정하여 변환 할수 없는 파일경우 멈추는 경우가 있었습니다.
수정하여 변환 할 수 없는 파일은 따로 로그를 남깁니다.
convert.py 에서
failedLogFile = u'/volume1/homes/개인계정/convert_mkv_ac3/log/Failed_SMI_FILES.log'.encode('utf-8')
이부분입니다.
개인 계정을 본인 관리자 계정으로 설정하시면 됩니다.
그럼 Failed_SMI_FILES.log 파일 내부에
변환 되지 않는 smi 파일경우
Convert Fail File = /volume1/Video/smi/error/3.smi
Error Line = <SYNC Start=NaN><P CLASS=KoreanSC>
이런식으로 표시가 되는데
Convert Fail File은 해당 변환 실패한 파일명을 나타내는것이고,
Error Line은 변환 실패한 줄입니다.
<SYNC Start=NaN> <-에러가 발생한 라인입니다. Start = 숫자가 나와야 되는데 NaN문자가 있습니다. 이를 숫자로 수동으로 변경해야 정상적으로 변환됩니다.
(본인이 직접 수정하셔야 됩니다.ㅠㅠ)
2. 스크립트 파일 1개로 여러개 폴더 변환 및 한글 폴더 지원
pwd = u'/volume1/Video'.encode('utf-8')
Convert(pwd,failedLogFile)
 
#pwd = u'/volume1/한글폴더명 가능'.encode('utf-8')
#Convert(pwd,failedLogFile)
해당 volume 내부에 있는 모든 파일들을 탐색해서 변환을 작업을 했는데
Convert 함수로 처리 했습니다.
만일 2개이상의 공유 폴더를 사용하고자 한다면,
#을 지우고 pwd 경로를 지정하시면 됩니다.
예전에는 한글 폴더명을 넣으면, 변환이 되지 않았는데
유니코드 형식으로 지원하게 했습니다.
3. 자막 중간이 생략되는 버그 수정
자막 중간 중간 생략되는 버그가 있었습니다.
그부분에 대한 버그 수정했습니다.
4. 비표준 태그 처리  (<ruby> 태그)
<ruby> 태그 경우 일본 애니메이션 자막경우
노래 가사 한자위에 작은 글씨로 히라가나 소리음을 표시하는 자막이 많습니다.
그때 사용되는 태그가 <ruby> 인데
이 테그는 표준 srt 태그가 아닙니다. 하지만, 일부 동영상프로그램에서 암묵적으로 지원하는 플레이어가 발견됩니다만,
대부분 플레이어에서는 지원하지 않는 플레이어가 간혹 있습니다.
그래서 이 부분 처리를 어떻게 할지 고민을 하다가 이렇게 2가지 버전을 만들었습니다.
하나는 <ruby>한자<rt>소리음</ruby> 를 <b>한자</b>(<i>소리</i>) 으로 변경합니다. 한자(소리음)
다른 하나는 <ruby> 태그를 그대로 적용합니다. 그래서 일부 플레이어경우 자막에 <ruby> 태그가 그대로 보입니다. (Media Player Classic, 외부 자막 필터)
본인이 주로 사용하시는 플레이어에 따라 선택하시면 됩니다.
4-1. convert.py (표준 srt 버전 - 호환성 높음 ) <- 추천
<ruby>태그를 제가 임의로 변경한 버전입니다.
4-2 convert(ruby).py (비표준 srt 버전 - 일부 플레이어 지원하며, 호환성 낮음)
<ruby> 태그를 srt에 그대로 적용되며, <ruby> 태그 지원하지 않는 플레이어에서는
<ruby> 글자 그대로 출려됩니다.
======================================================================================================
recovery.py는 자막 복원 프로그램입니다. (v1.0 이용자를 위한 복원 프로그램입니다. 1.1, 1.2 사용자는 사용하실 필요 없습니다.)
위에
다중언어 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폴더에 저장합니다.)
============================================================================================================
2. 처음 사용자용
처음 사용자 경우 백업할 smi가 없으므로 recovery.py 파일을 실행할 필요가 없습니다.
/volmune1 하위에 존재하는 smi를 srt로 변환해주는 스크립트입니다. (특정폴더는 pwd 변수에 위치 지정)
smi to srt 소스를 가지고 손 조금 댔습니다. 음성 인코딩이랑 같이 사용하는데 왠만한 동영상은 다 재생되네요


2-1. python setuptool 설치
ssh로 시놀로지 접속 후
ds > cd /volume1/@tmp/
ds> wget https://bootstrap.pypa.io/ez_setup.py -O - |  python
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
---------------------------------------------------------------------------------------------------------------------------------------
예전에 smi 자막을 srt 변환하는 툴을 찾았는데요.
버그가 많고, 안되는 것이 많아 수정했습니다.
1. utf8 with bom 형식으로 저장되어 DNLA 자막 출력시 깨지는 현상 없구요.
2. smi파일안에 다중 언어 들어가도 자동으로 분류되어서 srt로 저장됩니다.(예 : krcc, encc 으로 2가지가 같이 있는 경우 "파일이름.krcc.srt"와 "파일이름.encc.srt"
3. <ruby>태그 경우 비표준 태그라 적절하게 처리
쉘스크립트 방식의 smi to srt보다 속도 빠르며, srt 자막 표준에 최대한 지키도록 변경했습니다.
지금까지 하면서 문제가 되는점이 없었습니다.
smi파일경우 smi_backup폴더를 만들어 따로 보관하고, 기존 smi파일을 삭제됩니다.
★ 글쓴이에게 고마우시면 커피한잔 후원(클릭) ★ 후원 정보를 입력하지 않았습니다.

"iOS용 DSVideo 사용을 위한 smi to srt 입니다."글의 댓글은 현재 5개 있습니다.
비회원은 30분 12초 후에 댓글을 열람할수 있습니다.
로그인 하시면 바로 확인 하실수 있습니다.



No 제목 조회 닉네임 등록일
공지 당주현황 - 각 클럽의 리더 당주를 모십니다. 6 file 373 Mactopia 01.31
공지 신규 클럽 신청 게시물 2 file 177 Mactopia 01.04
478 나스당| 커스텀 나스 2대중 한 대는 결국 방출되는군요 ㅠㅠ 1 220 zisqo 01.12
477 모바일| W3 애플워치 스탠드 187 Mactopia 01.11
476 게이머| PS4 새로운 글레이셔 화이트 색상 추가 2 92 Mactopia 01.11
475 모바일| 애플 워치 페이스는 서드파티가 없죠? 2 100 Mactopia 01.10
474 게이머| 지난번 엑박 선물로 달라는 요청.... 2 59 Mactopia 01.09
» 나스당| HOT iOS용 DSVideo 사용을 위한 smi to srt 입니다. 5 351 풋히힝 01.09
472 나스당| NAS 견적입니다. 14 533 BLackCRacHun 01.08
471 나스당| U-NAS 8BAY 조립기 10 549 좌절금지 01.06
470 모바일| 우울합니다 ㅠ.ㅠ 6 196 SCENT_APPLE 01.06
469 나스당| 스위칭 허브가 필요해서 구매를 해봤는데요 6 345 zisqo 01.05
468 나스당| CPU별 벤치 점수입니다 426 zisqo 01.04
467 나스당| DSM 6.0.2 설치 [i7-4790K / Gigabyte B85M-D3H Rev.3] 7 451 zisqo 01.04
466 나스당| 비디오 스테이션 하드웨어 가속 활성화 4 248 Mactopia 01.03
465 나스당| AC3 통과에 대해서 1 177 Mactopia 01.03
464 나스당| [Plex Media Server] Tvheadend 실시간 TV 플러그인 설치 1275 zisqo 01.03
463 나스당| FFmpegWithDTS-avoton-1.0-0005 2 160 zisqo 01.03
462 나스당| 저사양 NAS의 축복 DS Video Station v2.2.0-1361 + ATV3 5 504 zisqo 01.03
461 나스당| TV DLNA 사용하시는 분에게 질문 7 181 Mactopia 01.02
460 나스당| DSM 6.0.2 - Plex Media Server / Apple TV3 연동 2 217 zisqo 01.02
459 나스당| 비디오 스테이션의 DDNS 포트 포워딩 설정 3 263 zisqo 01.02
458 게이머| 엑박360을 털리게 생겼습니다. 10 281 Mactopia 01.02
457 나스당| ds video 자막에 대해 테스트 요청. 16 401 Mactopia 01.02
456 맥당| 흔한 애플 직원.jpg 136 아이브경 12.29
455 나스당| 드랍박스 연장도 귀찮코.... 3 183 Mactopia 12.28
454 나스당| 힝...아무도 몰라주네.. 5 197 Mactopia 12.25
453 모바일| 아이폰 라이트닝 케이블 4 188 Mactopia 12.25
452 나스당| Version: 6.0.2-8451-7 update 11 363 zisqo 12.25
451 모바일| 아이폰/맥북에 관한 소식 2 148 Mactopia 12.21
450 나스당| 애플 스크립트를 이용한 IPTV 녹화본 세미오토 다운로드 286 zisqo 12.21
449 나스당| 나스 질문과 답변 게시판에 대해서 59 Mactopia 12.21
448 나스당| 나스당 창당을 자축 합니다. 103 Mactopia 12.21
447 나스당| [Tvheadend] 녹화 지정 폴더 root 권한으로 생성하기 - 초보자용 8 467 zisqo 12.20
446 나스당| [TVHeadend] 클릭 한번으로 녹화부터 인코딩까지 끝내보자~ 28 2046 들고양이 12.19
445 나스당| [Tvheadend] EPG2XML설치를 통한 EPG 서비스 활성화 13 1108 zisqo 12.18
444 나스당| Tvheadend과 Kodi 연동을 위한 M3U 리스트 자동 등록 방법 1 2139 zisqo 12.18
443 나스당| [Windows] OMVS 윈도우용 설치및 UDP IP추출 4 2194 zisqo 12.17
442 나스당| [Mac] OMVS 맥용 컴파일및 UDP IP추출 36 1156 zisqo 12.15
441 나스당| 이 맛에 커맥 커스텀Nas 쓰는가 봅니다. ㅋ 11 520 들고양이 12.13
440 나스당| Custom Mac + NAS 의 콜라보!가 필요한 이유 10 339 좌절금지 12.12
서버에 요청 중입니다. 잠시만 기다려 주십시오...