구름톤 쿠버네티스 과정 시작 후 드디어 프로젝트 기간이 시작되었다.
자유로운 분위기 속에 팀 빌딩이 진행되었고 팀장님과 커피챗을 통해 현재 팀에 합류하게 되었다.
늦더라고 하루하루 있었던 일을 velog에 기록하려 한다 😁
자연어처리(NLP)와 쿠버네티스(SRE)로 이루어진 우리 팀은 다음과 같은 to-do list가 생겼다.
그리고 우리(SRE)는 추가적으로 팀장님께
라는 요구 사항을 받았다.
yt-dlp를 사용하면 된다는 요구사항이 있었지만 첨에 다른 것도 시도했었다.
간단하게 결론만 말하면 실패한다.
분명 자막이 있는 영상임에도 불구하고 captions 기능은 작동하지 않았다 😂
from pytube import YouTube
yt = YouTube('https://youtu.be/aDpi9uDoJas?feature=shared')
print(yt.title)
captions = yt.captions
print(yt.captions)
for caption in captions:
print(caption) # 가져올 수 있는 언어 확인
기본적으로 yt-dlp는 cmd 창에서 명령어로 수행되는 라이브러리다.
그러나 이 기능으로 동작하는 서버를 웹에 띄워야했기 때문에 python 코드로의 변환이 필수였다.
우선 필요한 자막을 가져오기 위해 공식 깃허브에 subtitle을 참고하여 아래와 같은 명령어를 만들었다.
yt-dlp --write-auto-subs https://youtu.be/KLlXCFG5TnA?feature=shared
다시 CLI to API 작업이 필요했기에 공식 문서에서 제공하는 변환 코드를 사용했다.
위 이미지에서 빨간 화살표 부분의 코드를 사용하면 된다.
그렇게 시도해볼 수 있는 가장 간단한 코드는 아래가 된다.
import yt_dlp
ydl_opts = {
'writeautomaticsub': True
}
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download('https://youtu.be/KLlXCFG5TnA?feature=shared')
그럼 자막 파일이 자동 생성된다 👍