아래 darong님의 자막과 동영상 싱크 맞춰주는 오픈소스 설치방법

자유게시판

아래 darong님의 자막과 동영상 싱크 맞춰주는 오픈소스 설치방법

S 여보밥줘 11 459 2 0

아래의 메가링크로 필요한 파일을 받아 압축을 푸세요. (아래 설명은 압축파일에 포함되어 있습니다)


https://mega.nz/#!7T5jBAhS!6YwRPVBO8Zz84gfQjgOHhUSQpkzSKOlRLhfCj1s6dik


여러개 시도해봤는데 어떤건 터무니 없이 안되고 어떤건 신기할 정도로 잘 되요
예를들어 BluRay 영상에 넷플릭스 자막을 싱크 맞추기위해 -40초 해야 한다면 기가 막히게 딱 맞게 나오는데
어떤 자막과 영상은 자막이 손실도 되고 기존 자막과 별반 다르지 않게 나오고 하네요
매 라인마다 싱크를 조절하는건 아닌것 같고, 아무튼 아직까지 어떤 규칙을 찾지 못했습니다
그냥 궁금하신 분이 계실까봐 설치 방법 올려드립니다.

* 영상은 mp4와 mkv 만 작동 확인 했고 자막 파일은 꼭 srt 이어야 하며 인코딩은 utf-8,ansi 로 작동 확인 했습니다
* srt 타임코드에 음수(-) 시간이 있는 경우 정상작동 안합니다.



아래는 원 게시글 작성자님이사 darong 님의 글입니다

----------------

자막과 동영상의 싱크를 맞춰주는 오픈소스가 있어서 소개할려고 합니다. 


https://github.com/smacke/subsync 


이 오픈소스를 사용할려면 프로그래밍에 대한 이해가 있어야 하며, python에 대해 기본적인 지식이 필요할 수 있습니다. 


오픈소스는 아래 명령어로 설치합니다. 


pip install git+https://github.com/smacke/subsync 


컴퓨터에 먼저 python pip가 설치되어 있어야 합니다. 


sunsync를 설치한 다음 아래와 같은 명령어로 싱크를 맞출 수 있습니다. 


subsync video.mp4 -i unsynchronized.srt > synchronized.srt 


video.mp4, unsynchronized.srt , synchronized.srt는 각각 동영상,싱크맞출 자막파일, 싱크처리된 자막파일입니다. 

그러니까 자막과 동영상이 video.mp4, unsynchronized.srt일 때 위 명령어를 실행하면 싱크를 맞춘 synchronized.srt 파일이 생성됩니다.




설치방법

--------------------

1.  "python-3.7.3.exe" 를 설치합니다 (꼭 아래 적은 방법으로 하세요. path 등록 안되면 고생해요)

   * 주의 : 설치 첫 화면에서 아래쪽의 "Add Python 3.7 to PATH" 를 체크하고

     "Customize installation" 클릭 하고 next 클릭 install 클릭 하여 설치합니다

   * 설치 마친 후 "Disable path length Limit" 클릭후 close 클릭하여 설치 종료하세요

   

2. "visualcppbuildtools_full.exe" 를 설치합니다

    (그냥 설치 버튼 눌러 설치합니다. 기존 설치된 프로그램에 따라 설치가 필요 없을 수 있습니다)


3. "ffmpeg.exe", "ffplay.exe", "ffprobe.exe" 세 파일을 "C:\windows" 폴더에 복사 (Path 걸린 아무 폴더나 상관없음)


4. subsync_setup.bat 실행합니다 (설치 끝입니다)


subsync video.mp4 -i unsynchronized.srt > synchronized.srt  또는

subsync video.mp4 -i unsynchronized.srt -o synchronized.srt  식으로 사용합니다

참고로 파일명에는 꼭 경로를 포함하여 적어야 하면

srt 파일에 내용중 마이너스 시간이 있으면 에러가 납니다

Facebook Twitter GooglePlus KakaoStory NaverBand 신고
 
11 Comments
1 darong  
싱크가 잘 맞을 때도 있고 아닐 때도 있는 것은 아마도 음성 구간 추출 성능 때문일 겁니다.
음성 구간 추출을 위해 VAD(Voice Activity Detect)를 사용하는데 오프닝,음악,배경잡음,외국어 등과 같은 음성 탐지에 오류가 발생하는 영상은 싱크가
잘 되지 않을 가능성이 큽니다.
나중에 여유가 되면 소스를 fork에서 개선할 수 있는지 한번 살펴봐야겠네요.
S 여보밥줘  
헐,, 역시 전문가시네요...(전 무슨 말씀인지 몰라요 ㅠㅠ)
근데 신기한게 어떤 영상은 이전이야기가 있어 대사가 많이 나오고 자막에는 이전이야기 부분이 없는데
자막이 정확한 위치에 딱 맞게 나와요
자막 맨 앞에 대사와 상관없는 라인이 한개 있는데도 정확히 자막이 맞아요
이건 정말 신기하더라고요 ㅎㅎㅎㅎ
17 Enter  
이거 영상 음성으로 자막 싱크를 맞춰준다는 프로그램인가요?
S 여보밥줘  
예!! 이 프로그램의 목적이 그거에요!!
8 o지온o  
나름 고생 하셨네요.
필요할 때가 있으면 참고 하도록 하겠습니다.
S 여보밥줘  
네!!! 말씀 고맙습니다!!!
16 자막줭  
좋은 정보 감사합니다 ^.^
17 Enter  
제작자포럼에 글 올리셨으면 좋겠네요^^
S 여보밥줘  
darong 님이 자게에 올리셔서 저도 여기에 올렸는데ㅠㅠ
1 강율  
C:\python> subsync.py c:\python\1.mp4 -i c:\python\11.srt > 2.srt
Traceback (most recent call last):
  File "C:\python\subsync.py", line 8, in <module>
    from .aligners import FFTAligner, MaxScoreAligner
ModuleNotFoundError: No module named '__main__.aligners'; '__main__' is not a package


위에 처럼 에러가 나는데 어떻게 해야하나요?ㅜㅜ
전 그저 설치 방법만 알아낸거라 잘모르고요
darong 님께 여쭤보시면 혹시 아실지 모르겠네요