Skip to main content

youtube-transcript

YouTube 발화 정본 추출. 시간 조각 자막을 YouTube 원본 >> 경계로만 조립해 ~/org/transcript에 denote md로 저장. turn 시작은 <!-- [m:ss] -->. LLM 재작성 없음. transcript.js 기본 + ytdlp 폴백.

Ir para a instalação

Informações da origem

Repositório
junghan0611/agent-config
Última atividade na origem
6 de setembro de 2026 às 07:10
Idioma detectado do SKILL.md
coreano
Estrelas
5
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
5 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
youtube-transcript
description
YouTube 발화 정본 추출. 시간 조각 자막을 YouTube 원본 >> 경계로만 조립해 ~/org/transcript에 denote md로 저장. turn 시작은 <!-- [m:ss] -->. LLM 재작성 없음. transcript.js 기본 + ytdlp 폴백.
# YouTube Transcript YouTube 자동/수동 자막을 **발화 정본 md**로 가져온다. 요약이 아니다. LLM 문장 교정도 아니다. **코드 레벨 조립**만 한다. ## 정본 계약 | 한다 | 안 한다 | |------|---------| | 원본 cue 텍스트 보존 (`uh`, 반복, `[laughter]`) | LLM 재작성 / 마침표 발명 | | YouTube가 넣은 `>>` 경계로만 turn 분리 | 발화자 이름 추정·라벨 | | YAML front matter에 영상 메타 | 본문에 보이는 `[0:00]` 접두 | | turn 시작 `<!-- [m:ss] -->` (HTML 주석) | SRT/VTT 포맷 출력 | | `~/org/transcript/` denote md 저장 | | `>>`가 없으면 긴 덩어리로 남긴다. 없는 경계를 만들지 않는다. ## Setup ```bash cd {baseDir} npm install ``` ## 방법 1: transcript.js (기본) ```bash # 추출 + ~/org/transcript 저장 + stdout 전체 문서 {baseDir}/transcript.js <video-id-or-url> # 언어 지정 (default: en) {baseDir}/transcript.js <video-id-or-url> --lang en # 저장 없이 stdout만 {baseDir}/transcript.js <video-id-or-url> --no-save # 저장 경로 오버라이드 {baseDir}/transcript.js <video-id-or-url> --outdir ~/org/transcript # 사용 가능 자막 언어 {baseDir}/transcript.js <video-id-or-url> --list ``` stderr에 `Saved: <path>`가 찍힌다. stdout은 헤더+본문 전체. ## 방법 2: transcript-ytdlp.sh (폴백) transcript.js 실패 시. 쿠키 자동 감지. 같은 정본 계약. ```bash {baseDir}/transcript-ytdlp.sh <video-id-or-url> {baseDir}/transcript-ytdlp.sh <video-id-or-url> --lang en {baseDir}/transcript-ytdlp.sh <video-id-or-url> --list {baseDir}/transcript-ytdlp.sh <video-id-or-url> --no-save ``` ### oracle / datacenter 참고 - 주거 IP(thinkpad)에서는 `transcript.js`가 쿠키 없이 되는 경우가 많다. - 오라클(클라우드 IP)에서는 JS 경로가 막히고 **ytdlp + 쿠키**가 본선이다. - 쿠키 파일: `~/cookies.txt` (컨테이너 마운트 `/home/node/cookies.txt`, **rw**). Netscape 포맷에 **`LOGIN_INFO`가 있어야** 한다. `yt-dlp --cookies-from-browser chrome`은 이 필드를 빠뜨리는 경우가 있어, thinkpad에서 `browser-cookie3`로 export 한 뒤 scp 한다. - yt-dlp **≥ 2026.8.19** + `--remote-components ejs:github` 필요(스크립트가 자동 포함). 컨테이너 재빌드 전 임시 갱신: `docker exec -u root openclaw-gateway pip install -U --break-system-packages 'yt-dlp>=2026.8.19'`. ## 출력 예 파일명: `20260811T095500--gurudev-on-the-future-of-humanity__transcript_youtube.md` ```markdown --- title: "Gurudev on the Future of Humanity" date: 2026-08-11T09:55:00+09:00 tags: ["transcript", "youtube"] identifier: "20260811T095500" source: "https://youtu.be/ZBJkxUcgYa8" video_id: ZBJkxUcgYa8 channel: "Mo Gawdat" lang: en duration: 25:26 cues: 597 turns: 154 --- <!-- [0:00] --> Do you believe that we are all [music] designed for some kind of a mission in life that <!-- [0:04] --> definitely there is certain uh [music] preset missions for all of us amenities or [music] uh instruments we need we end up getting that <!-- [0:15] --> when we align with what that mission ``` - `<!-- [m:ss] -->` — 에디터/미리보기에서 주석(흐리게). 발화 텍스트와 시각적으로 분리 - 저장 루트: `~/org/transcript` (실체: `~/sync/org/transcript`). md 가든 정책에 맞춘 Denote id 축 편입 ## 판단 기준 1. 먼저 `transcript.js` 2. 실패 → `transcript-ytdlp.sh` 3. 둘 다 실패 → summarize `--extract` 또는 transcribe(Whisper) ## 에이전트 활용 1. 스크립트 실행 → `Saved:` 경로 확인 → 필요 시 파일 read 2. 영어 자막이 기본. 한국어 자막을 직접 받지 않는다 — en 받아 에이전트가 번역/분석 3. 정본을 고치거나 화자를 붙여 쓰지 않는다. 원본 조립본을 근거로 둔다 ## Notes - `youtube-transcript-plus`의 `offset`/`duration` 단위는 **초** - oracle 등 다른 기기: `~/org/transcript` 경로와 npm install 전제 - `--lang en` 기본. 자동생성 영어 포함
Ver no GitHub