ffmpeg를 자막 입히기, 자막 위치 조정
Hobbies(younjin.jeong@gmail.com, 정윤진)
간혹 이런 저런 목적으로 유튜브에 비디오를 자막과 함께 올리는데, 유튜브의 경우 특정 자막이 포함된 링크를 생성하는 것이 불가능하여 아예 자막을 영상에 구워서 업로드 하는 방법을 사용하고 있다. 관련해서 매우 많은 다양한 도구가 있지만, 편의상 사용하는 방법은 아래와 같다.
- ClipGrab 과 같은 도구를 사용해서 원하는 영상을 다운로드 받는다. (저작권 문제는 논외)
- Youtube 에서 제공하는 "Creator Studio" 를 사용하여 원본 영상을 올린다.
- Creator Studio 에 보면, "새로운 자막을 생성" 옵션에서 자막을 신규로 만들어 넣을 수 있도록 기능을 제공하는데, 이걸 사용해서 자막을 제작 한다.
- 자막을 만들고 나면, "Action" 버튼에서 만들어진 자막을 srt 외 몇가지 포멧으로 다운로드 받을 수 있다.
- srt 로 다운 받는다.
- ffmpeg 로 ass 포멧으로 변환한다.
- .ass 자막 파일을 열어 자막의 위치를 원하는대로 수정한다.
- ffmpeg 로 자막을 비디오에 입힌다.
Youtube Creator Studio
.srt 자막을 .ass 로 변환하는 커맨드는 다음과 같다.
ffmpeg -i input.srt output.ass
output.ass 파일을 열면 아래와 같은 포멧이 나타난다.
[Script Info]
; Script generated by FFmpeg/Lavc57.24.102
ScriptType: v4.00+
PlayResX: 384
PlayResY: 288
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,16,&Hffffff,&Hffffff,&H0,&H0,0,0,0,0,100,100,0,0,1,1,0,2,10,10,10,0
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.00,0:00:01.04,Default,,0,0,0,,피보탈 | 마이크로 서비스
Dialogue: 0,0:00:01.22,0:00:05.60,Default,,0,0,230,,마이크로 서비스는 거대한 서비스가 각각 독립적인 코드로 구성된 작은 서비스들로 이루어진 것을 말합니다.
Dialogue: 0,0:00:05.66,0:00:08.68,Default,,0,0,270,,개발자들은 마이크로 서비스를 새로운 앱을 개발할때 적용하거나
Dialogue: 0,0:00:08.88,0:00:12.88,Default,,0,0,270,,기존의 소프트웨어를 다수의 파트로 나누어 구성하기도 합니다.
Dialogue: 0,0:00:12.96,0:00:17.26,Default,,0,0,250,,마이크로 서비스 아키텍처는 소프트웨어의 빠른 릴리즈를 도울 뿐만 아니라
Dialogue: 0,0:00:17.38,0:00:20.94,Default,,0,0,250,,팀을 작은 규모로 유지하여 더 나은 업무 프로세스를 만들 수도 있습니다.
Dialogue: 0,0:00:21.06,0:00:24.84,Default,,0,0,250,,이런 마이크로 서비스 접근은 팀이 변화의 요구에 부응하며
Dialogue: 0,0:00:24.84,0:00:26.84,Default,,0,0,250,,새로운 기능을 고객에게 전달할 수 있도록 합니다.
Dialogue: 0,0:00:27.06,0:00:30.84,Default,,0,0,250,,마이크로 서비스 아키텍처는 작은 규모의 소프트웨어를 독립적으로 운용 함으로서
Dialogue: 0,0:00:30.90,0:00:35.36,Default,,0,0,250,,개발과 혁신의 속도를 높여주는 핵심 엔진입니다.
Dialogue: 0,0:00:35.56,0:00:37.56,Default,,0,0,0,,피보탈 | 세상이 소프트웨어를 만드는 방법을 혁신 합니다.
ffmpeg -i INPUT_VIDEO.mp4 -vf subtitles=INPUT_SUBTITLES.ass OUTPUT_VIDEO_NAME.mp4
AEGISSUB 와 같은 좋은 도구가 많지만 웬지 커맨드 라인이 더 익숙해.
(younjin.jeong@gmail.com, 정윤진)