100% 당첨매일매일 출석 도장 찍고 포인트 받아가세요
  • X86 Language Selector
    X86 통합검색
    공개 글쓴이가 전체공개한 글 입니다.
    경고 절대로 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파일을 삭제됩니다.
    https://x86.co.kr/@풋히힝 [ Lv3 | 가입, 엑팔대학생 | 팔로우 0 | 팔로잉 0 | 글 3 | 댓글 33 | 포인트 1760P | 가입 1051일 | ebd06]
  • 등록한 프로필 이미지가 없습니다.

  • 님! 타인의 댓글에 대한 의견은 해당 댓글의 하단에 "회신" 버튼을 눌러 대댓글로 작성하세요. 일반댓글로 작성은

  • 등록일 제목 조회 글 작성 8로 공개
    06.13 커스텀맥 호환성 관련 질문은 질문 게시판을 이용해주세요 29
    mactopia
    01.12 스토리지 | 베플 | 관심 | 12 1 828
    ZISQO
    01.12 스토리지 | 1 448
    ZISQO
    01.11 모바일 | 245
    mactopia
    01.11 PC보드 | HIT | 3 3 659
    니포
    »»» 스토리지 | HIT | 7 4 1161
    풋히힝
    01.09 GiGi톡 | 3 356
    mactopia
    01.08 스토리지 | 관심 | 15 863
    BLackCRacH
    01.06 스토리지 | 베플 | HIT | 10 3 829
    좌절금지
    01.05 스토리지 | 6 2 519
    ZISQO
    01.05 GiGi톡 | 관심 | 11 1 940
    개발인생40년
    01.04 GiGi톡 | 2 2 902
    mactopia
    01.04 스토리지 | 2 1298
    ZISQO
    01.04 스토리지 | 7 1 883
    ZISQO
    01.03 스토리지 | 4 535
    mactopia
    01.03 스토리지 | 1 412
    mactopia
    01.03 스토리지 | 1 1 7598
    ZISQO
    01.03 스토리지 | 2 2 318
    ZISQO
    01.03 스토리지 | 5 1 2086
    ZISQO
    01.02 스토리지 | 7 421
    mactopia
    01.02 스토리지 | 2 1 1493
    ZISQO
    01.02 스토리지 | 4 2 1092
    ZISQO
    01.02 스토리지 | 관심 | 16 1352
    mactopia
    12.28 스토리지 | 3 2 326
    mactopia
    12.26 모니터TV | 5 575
    ZISQO
    12.26 GiGi톡 | 2 2 326
    제러스
    12.25 스토리지 | 5 1 315
    mactopia
    12.25 GiGi톡 | 4 231
    mactopia
    12.25 스토리지 | 관심 | 11 2 455
    ZISQO
    12.23 GiGi톡 | 6 1 250
    ZISQO
    12.21 스토리지 | 1 459
    ZISQO
    12.21 스토리지 | 127
    mactopia
    12.21 스토리지 | 194
    mactopia
    12.21 모니터TV | 7 310
    XEXEX
    12.20 스토리지 | 8 1 1493
    ZISQO
    12.19 스토리지 | 관심 | HIT | 33 17 8841
    들고양이
    12.19 모니터TV | 관심 | HIT | 21 4 984
    ZISQO
    12.18 스토리지 | 관심 | HIT | 17 4 5714
    ZISQO
    12.18 스토리지 | 2 2 12344
    ZISQO
    12.17 스토리지 | HIT | 6 3 10844
    ZISQO
    12.17 소리음향 | 1 1 186
    mactopia
    12.15 스토리지 | 관심 | HIT | 42 3 3424
    ZISQO
    12.14 GiGi톡 | 154
    mactopia
    12.14 GiGi톡 | 3 1 205
    mactopia
    12.13 스토리지 | 관심 | 11 967
    들고양이
    12.12 스토리지 | 10 1 595
    좌절금지
    12.08 PC보드 | 6 2 1584
    ZISQO
    12.05 모바일 | 4 1 266
    마음의창
    12.05 스토리지 | 관심 | 11 598
    케플러
    12.04 입력장치 | 7 592
    동동이
    12.01 PC보드 | HIT | 4 3 350
    ZISQO
  • 서버에 요청 중입니다. 잠시만 기다려 주십시오...