소개
자막이 없는 투자 유튜브 영상까지 자동으로 요약하는 워크플로우를 만들고 싶었습니다. 강환국 "할 수 있다! 알고 투자" 채널을 모니터링 대상으로 잡았는데, 단순히 자막을 가져와 요약하면 될 줄 알았지만 실제로는 자막이 없는 영상이 많았습니다. 그래서 "자막 없음"으로 끝내지 않고, 자막이 없으면 음성을 직접 텍스트로 변환(Whisper)한 뒤 요약하는 방식을 추가했습니다. 요약은 클라우드 API 대신 로컬 LLM(Ollama)으로 돌려 비용 0원· 데이터 외부 유출 없이 처리하는 걸 목표로 했습니다.
진행 방법
전체를 Docker 컨테이너 3개로 구성하고 n8n으로 오케스트레이션했습니다.
RSS 새 영상 감지 → Transcription(자막 우선, 없으면 Whisper)
→ 프롬프트 조립 → Ollama 요약(llama3) → 마크다운 생성 → Obsidian 저장사용한 도구
n8n: 전체 자동화 워크플로우 (Docker)
YouTube RSS: 관심 채널 새 영상 감지
yt-dlp: 영상 메타데이터·자막·오디오 추출
faster-whisper (GPU): 자막 없는 영상의 음성→텍스트 (RTX 3070 활용)
Ollama + llama3: 로컬 LLM 요약 (이미 받아 둔 모델 재사용, 다운로드 0)
Obsidian: 요약 결과 .md 저장
핵심 설계: 자막 유무 분기를 n8n 안에서 처리하면 복잡해지므로, 별도 transcription 서비스(FastAPI) 하나가 "URL 받으면 텍스트 반환"을 통째로 책임지게 했습니다. n8n은 분기 없이 깔끔하게 유지됩니다.
요약 프롬프트 (투자 관점 6섹션, 강환국 채널의 퀀트·자산배분 특성 반영):
당신은 투자 영상을 분석해 핵심만 정리하는 애널리스트입니다.
스크립트를 읽고 아래 형식의 한국어 마크다운으로 요약하세요.
스크립트에 없는 내용은 절대 지어내지 말고, 근거가 없으면 "언급 없음"이라고 쓰세요.
## 한 줄 요약
## 핵심 주장
## 언급된 종목·자산·섹터
## 투자 전략·시그널 (비중·진입조건·백테스트 수치 포함)
## 리스크·주의사항
## 내 판단에 필요한 포인트결과와 배운 점
가장 크게 느낀 점은, AI 요약에서 중요한 건 요약 모델보다 입력 데이터의 품질이라는 것이었습니다. 자막이 없다고 제목·설명만으로 요약하면 부정확해지는데, 음성을 직접 텍스트로 바꾸는 단계를 추가하니 훨씬 신뢰할 수 있는 요약이 가능했습니다.
겪은 시행착오 (대부분 여기서 막혔습니다)
유튜브 봇 차단 — 서버에서 접근하니 "Sign in to confirm you're not a bot" 차단. → 브라우저 쿠키(cookies.txt)를 컨테이너에 마운트해 우회.
yt-dlp 구버전 — 핀으로 박아둔
2025.01.26이 유튜브 변경을 못 따라가 "Requested format is not available" 발생. → 버전 핀 제거해 최신(2026.03.17)으로 올리니 해결. yt-dlp는 버전 고정하면 안 된다는 교훈.n8n 파일 쓰기 권한 —
user: root+N8N_RESTRICT_FILE_ACCESS_TO환경변수로 해결.한글 경로 인코딩 — Obsidian 저장 폴더를 한글(
유튜브 요약)로 했더니 Docker 볼륨에서 깨짐. → 영문 폴더(youtube_summary)로 변경해 우회.PowerShell 긴 코드 붙여넣기 — 코드가 깨져 SyntaxError. → 파일을 탐색기로 직접 교체하는 게 안전.
도움이 필요한 부분 (미해결)
마지막 한 단계에서 막혀 있습니다. Obsidian 저장 노드에서 파일명을 변수($('노드명').item.json.fileName)로 참조하면 "참조된 노드가 존재하지 않습니다" 오류가 납니다. n8n이 노드 이름을 한글로 표시하면서 실제 참조가 깨지는 것으로 보입니다. 고정 파일명(test.md, 한글테스트.md)은 정상 저장되는 것으로 보아 폴더·권한·인코딩은 모두 정상이고, 노드 간 변수 참조만 문제입니다. ($binary.data.fileName 또는 $json.fileName으로 시도 중)
앞으로의 계획
변수 참조 문제 해결 후 전체 자동 실행 완성
텔레그램 알림 노드 추가 (폰에서 요약 즉시 확인)
모니터링 채널 확대