{"slug":"youtube-clipper","title":"YouTube \u667a\u80fd\u526a\u8f91","description":"\u4e0b\u8f7d YouTube \u89c6\u9891\u4e0e\u5b57\u5e55\uff0c\u751f\u6210\u7cbe\u7ec6\u7ae0\u8282\uff0c\u9009\u6bb5\u526a\u8f91\u5e76\u7ffb\u8bd1\u53cc\u8bed\u5b57\u5e55\u3002","category":"\u526a\u8f91\u4e0e\u5305\u88c5","tags":["\u526a\u8f91","YouTube","\u5b57\u5e55"],"author":"\u5f52\u85cf","source_url":"https://github.com/op7418/Youtube-clipper-skill/blob/main/SKILL.md","license":"MIT","status":"published","verification":"source_reviewed","verification_notes":"\u6765\u6e90 op7418/Youtube-clipper-skill\uff08SKILL.md\uff09\uff0c\u672c\u5730\u6253\u5305\u4e0a\u4f20\uff1b\u672a\u6267\u884c\u5305\u5185\u811a\u672c\u3002","revision":"c284b0523b7741bf82b678862d367ca6","created_at":"2026-10-28T08:05:04+00:00","updated_at":"2026-10-28T08:05:16+00:00","source_repo":"","source_path":"","source_commit":"","source_updated_at":"","stars":0,"proxy_score":null,"score":null,"grade":null,"dimensions":{},"evaluation":{},"installs":0,"platforms":[],"formats":[],"category_slug":"packaging","category_name":"\u526a\u8f91\u4e0e\u5305\u88c5","usage_guide":{},"read_url":"https://shiliuai.cn/api/v2/skills/youtube-clipper","skill_url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/SKILL.md","download_url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/download","install_url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/install","files":[{"path":"FIXES_AND_IMPROVEMENTS.md","bytes":8163,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/FIXES_AND_IMPROVEMENTS.md"},{"path":"LICENSE","bytes":1063,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/LICENSE"},{"path":"README.md","bytes":8596,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/README.md"},{"path":"README.zh-CN.md","bytes":8006,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/README.zh-CN.md"},{"path":"SKILL.md","bytes":10859,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/SKILL.md"},{"path":"TECHNICAL_NOTES.md","bytes":11590,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/TECHNICAL_NOTES.md"},{"path":"install_as_skill.sh","bytes":6975,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/install_as_skill.sh"},{"path":"references/ffmpeg-guide.md","bytes":3479,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/references/ffmpeg-guide.md"},{"path":"references/subtitle-formatting.md","bytes":7917,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/references/subtitle-formatting.md"},{"path":"references/yt-dlp-guide.md","bytes":6496,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/references/yt-dlp-guide.md"},{"path":"scripts/__init__.py","bytes":128,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/scripts/__init__.py"},{"path":"scripts/analyze_subtitles.py","bytes":7595,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/scripts/analyze_subtitles.py"},{"path":"scripts/burn_subtitles.py","bytes":8688,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/scripts/burn_subtitles.py"},{"path":"scripts/clip_video.py","bytes":7227,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/scripts/clip_video.py"},{"path":"scripts/download_video.py","bytes":6708,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/scripts/download_video.py"},{"path":"scripts/extract_subtitle_clip.py","bytes":3666,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/scripts/extract_subtitle_clip.py"},{"path":"scripts/generate_summary.py","bytes":6257,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/scripts/generate_summary.py"},{"path":"scripts/merge_bilingual_subtitles.py","bytes":2302,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/scripts/merge_bilingual_subtitles.py"},{"path":"scripts/translate_subtitles.py","bytes":7095,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/scripts/translate_subtitles.py"},{"path":"scripts/utils.py","bytes":8139,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/scripts/utils.py"},{"path":"templates/summary-template.md","bytes":3220,"url":"https://shiliuai.cn/api/v2/skills/youtube-clipper/files/templates/summary-template.md"}],"content":"---\nname: youtube-clipper\ndescription: >\n  YouTube \u89c6\u9891\u667a\u80fd\u526a\u8f91\u5de5\u5177\u3002\u4e0b\u8f7d\u89c6\u9891\u548c\u5b57\u5e55\uff0cAI \u5206\u6790\u751f\u6210\u7cbe\u7ec6\u7ae0\u8282\uff08\u51e0\u5206\u949f\u7ea7\u522b\uff09\uff0c\n  \u7528\u6237\u9009\u62e9\u7247\u6bb5\u540e\u81ea\u52a8\u526a\u8f91\u3001\u7ffb\u8bd1\u5b57\u5e55\u4e3a\u4e2d\u82f1\u53cc\u8bed\u3001\u70e7\u5f55\u5b57\u5e55\u5230\u89c6\u9891\uff0c\u5e76\u751f\u6210\u603b\u7ed3\u6587\u6848\u3002\n  \u4f7f\u7528\u573a\u666f\uff1a\u5f53\u7528\u6237\u9700\u8981\u526a\u8f91 YouTube \u89c6\u9891\u3001\u751f\u6210\u77ed\u89c6\u9891\u7247\u6bb5\u3001\u5236\u4f5c\u53cc\u8bed\u5b57\u5e55\u7248\u672c\u65f6\u3002\n  \u5173\u952e\u8bcd\uff1a\u89c6\u9891\u526a\u8f91\u3001YouTube\u3001\u5b57\u5e55\u7ffb\u8bd1\u3001\u53cc\u8bed\u5b57\u5e55\u3001\u89c6\u9891\u4e0b\u8f7d\u3001clip video\nallowed-tools:\n  - Read\n  - Write\n  - Bash\n  - Glob\n  - AskUserQuestion\nmodel: claude-sonnet-4-5-20250514\n---\n\n# YouTube \u89c6\u9891\u667a\u80fd\u526a\u8f91\u5de5\u5177\n\n> **Installation**: If you're installing this skill from GitHub, please refer to [README.md](README.md#installation) for installation instructions. The recommended method is `npx skills add https://github.com/op7418/Youtube-clipper-skill`.\n\n## \u5de5\u4f5c\u6d41\u7a0b\n\n\u4f60\u5c06\u6309\u7167\u4ee5\u4e0b 6 \u4e2a\u9636\u6bb5\u6267\u884c YouTube \u89c6\u9891\u526a\u8f91\u4efb\u52a1\uff1a\n\n### \u9636\u6bb5 1: \u73af\u5883\u68c0\u6d4b\n\n**\u76ee\u6807**: \u786e\u4fdd\u6240\u6709\u5fc5\u9700\u5de5\u5177\u548c\u4f9d\u8d56\u90fd\u5df2\u5b89\u88c5\n\n1. \u68c0\u6d4b yt-dlp \u662f\u5426\u53ef\u7528\n   ```bash\n   yt-dlp --version\n   ```\n\n2. \u68c0\u6d4b FFmpeg \u7248\u672c\u548c libass \u652f\u6301\n   ```bash\n   # \u4f18\u5148\u68c0\u67e5 ffmpeg-full\uff08macOS\uff09\n   /opt/homebrew/opt/ffmpeg-full/bin/ffmpeg -version\n\n   # \u68c0\u67e5\u6807\u51c6 FFmpeg\n   ffmpeg -version\n\n   # \u9a8c\u8bc1 libass \u652f\u6301\uff08\u5b57\u5e55\u70e7\u5f55\u5fc5\u9700\uff09\n   ffmpeg -filters 2>&1 | grep subtitles\n   ```\n\n3. \u68c0\u6d4b Python \u4f9d\u8d56\n   ```bash\n   python3 -c \"import yt_dlp; print('\u2705 yt-dlp available')\"\n   python3 -c \"import pysrt; print('\u2705 pysrt available')\"\n   ```\n\n**\u5982\u679c\u73af\u5883\u68c0\u6d4b\u5931\u8d25**:\n- yt-dlp \u672a\u5b89\u88c5: \u63d0\u793a `brew install yt-dlp` \u6216 `pip install yt-dlp`\n- FFmpeg \u65e0 libass: \u63d0\u793a\u5b89\u88c5 ffmpeg-full\n  ```bash\n  brew install ffmpeg-full  # macOS\n  ```\n- Python \u4f9d\u8d56\u7f3a\u5931: \u63d0\u793a `pip install pysrt python-dotenv`\n\n**\u6ce8\u610f**:\n- \u6807\u51c6 Homebrew FFmpeg \u4e0d\u5305\u542b libass\uff0c\u65e0\u6cd5\u70e7\u5f55\u5b57\u5e55\n- ffmpeg-full \u8def\u5f84: `/opt/homebrew/opt/ffmpeg-full/bin/ffmpeg` (Apple Silicon)\n- \u5fc5\u987b\u5148\u901a\u8fc7\u73af\u5883\u68c0\u6d4b\u624d\u80fd\u7ee7\u7eed\n\n---\n\n### \u9636\u6bb5 2: \u4e0b\u8f7d\u89c6\u9891\n\n**\u76ee\u6807**: \u4e0b\u8f7d YouTube \u89c6\u9891\u548c\u82f1\u6587\u5b57\u5e55\n\n1. \u8be2\u95ee\u7528\u6237 YouTube URL\n\n2. \u8c03\u7528 download_video.py \u811a\u672c\n   ```bash\n   cd ~/.claude/skills/youtube-clipper\n   python3 scripts/download_video.py <youtube_url>\n   ```\n\n3. \u811a\u672c\u4f1a\uff1a\n   - \u4e0b\u8f7d\u89c6\u9891\uff08\u6700\u9ad8 1080p\uff0cmp4 \u683c\u5f0f\uff09\n   - \u4e0b\u8f7d\u82f1\u6587\u5b57\u5e55\uff08VTT \u683c\u5f0f\uff0c\u81ea\u52a8\u5b57\u5e55\u4f5c\u4e3a\u5907\u9009\uff09\n   - \u8f93\u51fa\u6587\u4ef6\u8def\u5f84\u548c\u89c6\u9891\u4fe1\u606f\n\n4. \u5411\u7528\u6237\u5c55\u793a\uff1a\n   - \u89c6\u9891\u6807\u9898\n   - \u89c6\u9891\u65f6\u957f\n   - \u6587\u4ef6\u5927\u5c0f\n   - \u4e0b\u8f7d\u8def\u5f84\n\n**\u8f93\u51fa**:\n- \u89c6\u9891\u6587\u4ef6: `<id>.mp4`\uff08\u4f7f\u7528\u89c6\u9891 ID \u547d\u540d\uff0c\u907f\u514d\u7279\u6b8a\u5b57\u7b26\u95ee\u9898\uff09\n- \u5b57\u5e55\u6587\u4ef6: `<id>.en.vtt`\n\n---\n\n### \u9636\u6bb5 3: \u5206\u6790\u7ae0\u8282\uff08\u6838\u5fc3\u5dee\u5f02\u5316\u529f\u80fd\uff09\n\n**\u76ee\u6807**: \u4f7f\u7528 Claude AI \u5206\u6790\u5b57\u5e55\u5185\u5bb9\uff0c\u751f\u6210\u7cbe\u7ec6\u7ae0\u8282\uff082-5 \u5206\u949f\u7ea7\u522b\uff09\n\n1. \u8c03\u7528 analyze_subtitles.py \u89e3\u6790 VTT \u5b57\u5e55\n   ```bash\n   python3 scripts/analyze_subtitles.py <subtitle_path>\n   ```\n\n2. \u811a\u672c\u4f1a\u8f93\u51fa\u7ed3\u6784\u5316\u5b57\u5e55\u6570\u636e\uff1a\n   - \u5b8c\u6574\u5b57\u5e55\u6587\u672c\uff08\u5e26\u65f6\u95f4\u6233\uff09\n   - \u603b\u65f6\u957f\n   - \u5b57\u5e55\u6761\u6570\n\n3. **\u4f60\u9700\u8981\u6267\u884c AI \u5206\u6790**\uff08\u8fd9\u662f\u6700\u5173\u952e\u7684\u6b65\u9aa4\uff09\uff1a\n   - \u9605\u8bfb\u5b8c\u6574\u5b57\u5e55\u5185\u5bb9\n   - \u7406\u89e3\u5185\u5bb9\u8bed\u4e49\u548c\u4e3b\u9898\u8f6c\u6362\u70b9\n   - \u8bc6\u522b\u81ea\u7136\u7684\u8bdd\u9898\u5207\u6362\u4f4d\u7f6e\n   - \u751f\u6210 2-5 \u5206\u949f\u7c92\u5ea6\u7684\u7ae0\u8282\uff08\u907f\u514d\u534a\u5c0f\u65f6\u7c97\u7c92\u5ea6\u5207\u5206\uff09\n\n4. \u4e3a\u6bcf\u4e2a\u7ae0\u8282\u751f\u6210\uff1a\n   - **\u6807\u9898**: \u7cbe\u70bc\u7684\u4e3b\u9898\u6982\u62ec\uff0810-20 \u5b57\uff09\n   - **\u65f6\u95f4\u8303\u56f4**: \u8d77\u59cb\u548c\u7ed3\u675f\u65f6\u95f4\uff08\u683c\u5f0f: MM:SS \u6216 HH:MM:SS\uff09\n   - **\u6838\u5fc3\u6458\u8981**: 1-2 \u53e5\u8bdd\u8bf4\u660e\u8fd9\u6bb5\u8bb2\u4e86\u4ec0\u4e48\uff0850-100 \u5b57\uff09\n   - **\u5173\u952e\u8bcd**: 3-5 \u4e2a\u6838\u5fc3\u6982\u5ff5\u8bcd\n\n5. **\u7ae0\u8282\u751f\u6210\u539f\u5219**\uff1a\n   - \u7c92\u5ea6\uff1a\u6bcf\u4e2a\u7ae0\u8282 2-5 \u5206\u949f\uff08\u907f\u514d\u592a\u77ed\u6216\u592a\u957f\uff09\n   - \u5b8c\u6574\u6027\uff1a\u786e\u4fdd\u6240\u6709\u89c6\u9891\u5185\u5bb9\u90fd\u88ab\u8986\u76d6\uff0c\u65e0\u9057\u6f0f\n   - \u6709\u610f\u4e49\uff1a\u6bcf\u4e2a\u7ae0\u8282\u662f\u4e00\u4e2a\u76f8\u5bf9\u72ec\u7acb\u7684\u8bdd\u9898\n   - \u81ea\u7136\u5207\u5206\uff1a\u5728\u4e3b\u9898\u8f6c\u6362\u70b9\u5207\u5206\uff0c\u4e0d\u8981\u673a\u68b0\u5730\u6309\u65f6\u95f4\u5207\n\n6. \u5411\u7528\u6237\u5c55\u793a\u7ae0\u8282\u5217\u8868\uff1a\n   ```\n   \ud83d\udcca \u5206\u6790\u5b8c\u6210\uff0c\u751f\u6210 X \u4e2a\u7ae0\u8282\uff1a\n\n   1. [00:00 - 03:15] AGI \u4e0d\u662f\u65f6\u95f4\u70b9\uff0c\u662f\u6307\u6570\u66f2\u7ebf\n      \u6838\u5fc3: AI \u6a21\u578b\u80fd\u529b\u6bcf 4-12 \u6708\u7ffb\u500d\uff0c\u5de5\u7a0b\u5e08\u5df2\u7528 Claude \u5199\u4ee3\u7801\n      \u5173\u952e\u8bcd: AGI\u3001\u6307\u6570\u589e\u957f\u3001Claude Code\n\n   2. [03:15 - 06:30] \u4e2d\u56fd\u5728 AI \u4e0a\u7684\u5dee\u8ddd\n      \u6838\u5fc3: \u82af\u7247\u7981\u8fd0\u5361\u4f4f\u4e2d\u56fd\uff0cDeepSeek benchmark \u4f18\u5316\u4e0d\u4ee3\u8868\u5b9e\u529b\n      \u5173\u952e\u8bcd: \u4e2d\u56fd\u3001\u82af\u7247\u7981\u8fd0\u3001DeepSeek\n\n   ... (\u6240\u6709\u7ae0\u8282)\n\n   \u2713 \u6240\u6709\u5185\u5bb9\u5df2\u8986\u76d6\uff0c\u65e0\u9057\u6f0f\n   ```\n\n---\n\n### \u9636\u6bb5 4: \u7528\u6237\u9009\u62e9\n\n**\u76ee\u6807**: \u8ba9\u7528\u6237\u9009\u62e9\u8981\u526a\u8f91\u7684\u7ae0\u8282\u548c\u5904\u7406\u9009\u9879\n\n1. \u4f7f\u7528 AskUserQuestion \u5de5\u5177\u8ba9\u7528\u6237\u9009\u62e9\u7ae0\u8282\n   - \u63d0\u4f9b\u7ae0\u8282\u7f16\u53f7\u4f9b\u7528\u6237\u9009\u62e9\n   - \u652f\u6301\u591a\u9009\uff08\u53ef\u4ee5\u9009\u62e9\u591a\u4e2a\u7ae0\u8282\uff09\n\n2. \u8be2\u95ee\u5904\u7406\u9009\u9879\uff1a\n   - \u662f\u5426\u751f\u6210\u53cc\u8bed\u5b57\u5e55\uff1f\uff08\u82f1\u6587 + \u4e2d\u6587\uff09\n   - \u662f\u5426\u70e7\u5f55\u5b57\u5e55\u5230\u89c6\u9891\uff1f\uff08\u786c\u5b57\u5e55\uff09\n   - \u662f\u5426\u751f\u6210\u603b\u7ed3\u6587\u6848\uff1f\n\n3. \u786e\u8ba4\u7528\u6237\u9009\u62e9\u5e76\u5c55\u793a\u5904\u7406\u8ba1\u5212\n\n---\n\n### \u9636\u6bb5 5: \u526a\u8f91\u5904\u7406\uff08\u6838\u5fc3\u6267\u884c\u9636\u6bb5\uff09\n\n**\u76ee\u6807**: \u5e76\u884c\u6267\u884c\u591a\u4e2a\u5904\u7406\u4efb\u52a1\n\n\u5bf9\u4e8e\u6bcf\u4e2a\u7528\u6237\u9009\u62e9\u7684\u7ae0\u8282\uff0c\u6267\u884c\u4ee5\u4e0b\u6b65\u9aa4\uff1a\n\n#### 5.1 \u526a\u8f91\u89c6\u9891\u7247\u6bb5\n```bash\npython3 scripts/clip_video.py <video_path> <start_time> <end_time> <output_path>\n```\n- \u4f7f\u7528 FFmpeg \u7cbe\u786e\u526a\u8f91\n- \u4fdd\u6301\u539f\u59cb\u89c6\u9891\u8d28\u91cf\n- \u8f93\u51fa: `<\u7ae0\u8282\u6807\u9898>_clip.mp4`\n\n#### 5.2 \u63d0\u53d6\u5b57\u5e55\u7247\u6bb5\n- \u4ece\u5b8c\u6574\u5b57\u5e55\u4e2d\u8fc7\u6ee4\u51fa\u8be5\u65f6\u95f4\u6bb5\u7684\u5b57\u5e55\n- \u8c03\u6574\u65f6\u95f4\u6233\uff08\u51cf\u53bb\u8d77\u59cb\u65f6\u95f4\uff0c\u4ece 00:00:00 \u5f00\u59cb\uff09\n- \u8f6c\u6362\u4e3a SRT \u683c\u5f0f\n- \u8f93\u51fa: `<\u7ae0\u8282\u6807\u9898>_original.srt`\n\n#### 5.3 \u7ffb\u8bd1\u5b57\u5e55\uff08\u5982\u679c\u7528\u6237\u9009\u62e9\uff09\n```bash\npython3 scripts/translate_subtitles.py <subtitle_path>\n```\n- **\u6279\u91cf\u7ffb\u8bd1\u4f18\u5316**: \u6bcf\u6279 20 \u6761\u5b57\u5e55\u4e00\u8d77\u7ffb\u8bd1\uff08\u8282\u7701 95% API \u8c03\u7528\uff09\n- \u7ffb\u8bd1\u7b56\u7565\uff1a\n  - \u4fdd\u6301\u6280\u672f\u672f\u8bed\u7684\u51c6\u786e\u6027\n  - \u53e3\u8bed\u5316\u8868\u8fbe\uff08\u9002\u5408\u77ed\u89c6\u9891\uff09\n  - \u7b80\u6d01\u6d41\u7545\uff08\u907f\u514d\u5197\u957f\uff09\n- \u8f93\u51fa: `<\u7ae0\u8282\u6807\u9898>_translated.srt`\n\n#### 5.4 \u751f\u6210\u53cc\u8bed\u5b57\u5e55\u6587\u4ef6\uff08\u5982\u679c\u7528\u6237\u9009\u62e9\uff09\n- \u5408\u5e76\u82f1\u6587\u548c\u4e2d\u6587\u5b57\u5e55\n- \u683c\u5f0f: SRT \u53cc\u8bed\uff08\u6bcf\u6761\u5b57\u5e55\u5305\u542b\u82f1\u6587\u548c\u4e2d\u6587\uff09\n- \u6837\u5f0f: \u82f1\u6587\u5728\u4e0a\uff0c\u4e2d\u6587\u5728\u4e0b\n- \u8f93\u51fa: `<\u7ae0\u8282\u6807\u9898>_bilingual.srt`\n\n#### 5.5 \u70e7\u5f55\u5b57\u5e55\u5230\u89c6\u9891\uff08\u5982\u679c\u7528\u6237\u9009\u62e9\uff09\n```bash\npython3 scripts/burn_subtitles.py <video_path> <subtitle_path> <output_path>\n```\n- \u4f7f\u7528 ffmpeg-full\uff08libass \u652f\u6301\uff09\n- **\u4f7f\u7528\u4e34\u65f6\u76ee\u5f55\u89e3\u51b3\u8def\u5f84\u7a7a\u683c\u95ee\u9898**\uff08\u5173\u952e\uff01\uff09\n- \u5b57\u5e55\u6837\u5f0f\uff1a\n  - \u5b57\u4f53\u5927\u5c0f: 24\n  - \u5e95\u90e8\u8fb9\u8ddd: 30\n  - \u989c\u8272: \u767d\u8272\u6587\u5b57 + \u9ed1\u8272\u63cf\u8fb9\n- \u8f93\u51fa: `<\u7ae0\u8282\u6807\u9898>_with_subtitles.mp4`\n\n#### 5.6 \u751f\u6210\u603b\u7ed3\u6587\u6848\uff08\u5982\u679c\u7528\u6237\u9009\u62e9\uff09\n```bash\npython3 scripts/generate_summary.py <chapter_info>\n```\n- \u57fa\u4e8e\u7ae0\u8282\u6807\u9898\u3001\u6458\u8981\u548c\u5173\u952e\u8bcd\n- \u751f\u6210\u9002\u5408\u793e\u4ea4\u5a92\u4f53\u7684\u6587\u6848\n- \u5305\u542b: \u6807\u9898\u3001\u6838\u5fc3\u89c2\u70b9\u3001\u9002\u5408\u5e73\u53f0\uff08\u5c0f\u7ea2\u4e66\u3001\u6296\u97f3\u7b49\uff09\n- \u8f93\u51fa: `<\u7ae0\u8282\u6807\u9898>_summary.md`\n\n**\u8fdb\u5ea6\u5c55\u793a**:\n```\n\ud83c\udfac \u5f00\u59cb\u5904\u7406\u7ae0\u8282 1/3: AGI \u4e0d\u662f\u65f6\u95f4\u70b9\uff0c\u662f\u6307\u6570\u66f2\u7ebf\n\n1/6 \u526a\u8f91\u89c6\u9891\u7247\u6bb5... \u2705\n2/6 \u63d0\u53d6\u5b57\u5e55\u7247\u6bb5... \u2705\n3/6 \u7ffb\u8bd1\u5b57\u5e55\u4e3a\u4e2d\u6587... [=====>    ] 50% (26/52)\n4/6 \u751f\u6210\u53cc\u8bed\u5b57\u5e55\u6587\u4ef6... \u2705\n5/6 \u70e7\u5f55\u5b57\u5e55\u5230\u89c6\u9891... \u2705\n6/6 \u751f\u6210\u603b\u7ed3\u6587\u6848... \u2705\n\n\u2728 \u7ae0\u8282 1 \u5904\u7406\u5b8c\u6210\n```\n\n---\n\n### \u9636\u6bb5 6: \u8f93\u51fa\u7ed3\u679c\n\n**\u76ee\u6807**: \u7ec4\u7ec7\u8f93\u51fa\u6587\u4ef6\u5e76\u5c55\u793a\u7ed9\u7528\u6237\n\n1. \u521b\u5efa\u8f93\u51fa\u76ee\u5f55\n   ```\n   ./youtube-clips/<\u65e5\u671f\u65f6\u95f4>/\n   ```\n   \u8f93\u51fa\u76ee\u5f55\u4f4d\u4e8e\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u4e0b\n\n2. \u7ec4\u7ec7\u6587\u4ef6\u7ed3\u6784\uff1a\n   ```\n   <\u7ae0\u8282\u6807\u9898>/\n   \u251c\u2500\u2500 <\u7ae0\u8282\u6807\u9898>_clip.mp4              # \u539f\u59cb\u526a\u8f91\uff08\u65e0\u5b57\u5e55\uff09\n   \u251c\u2500\u2500 <\u7ae0\u8282\u6807\u9898>_with_subtitles.mp4   # \u70e7\u5f55\u5b57\u5e55\u7248\u672c\n   \u251c\u2500\u2500 <\u7ae0\u8282\u6807\u9898>_bilingual.srt        # \u53cc\u8bed\u5b57\u5e55\u6587\u4ef6\n   \u2514\u2500\u2500 <\u7ae0\u8282\u6807\u9898>_summary.md           # \u603b\u7ed3\u6587\u6848\n   ```\n\n3. \u5411\u7528\u6237\u5c55\u793a\uff1a\n   - \u8f93\u51fa\u76ee\u5f55\u8def\u5f84\n   - \u6587\u4ef6\u5217\u8868\uff08\u5e26\u6587\u4ef6\u5927\u5c0f\uff09\n   - \u5feb\u901f\u9884\u89c8\u547d\u4ee4\n\n   ```\n   \u2728 \u5904\u7406\u5b8c\u6210\uff01\n\n   \ud83d\udcc1 \u8f93\u51fa\u76ee\u5f55: ./youtube-clips/20260121_143022/\n\n   \u6587\u4ef6\u5217\u8868:\n     \ud83c\udfac AGI_\u6307\u6570\u66f2\u7ebf_\u53cc\u8bed\u786c\u5b57\u5e55.mp4 (14 MB)\n     \ud83d\udcc4 AGI_\u6307\u6570\u66f2\u7ebf_\u53cc\u8bed\u5b57\u5e55.srt (2.3 KB)\n     \ud83d\udcdd AGI_\u6307\u6570\u66f2\u7ebf_\u603b\u7ed3.md (3.2 KB)\n\n   \u5feb\u901f\u9884\u89c8:\n   open ./youtube-clips/20260121_143022/AGI_\u6307\u6570\u66f2\u7ebf_\u53cc\u8bed\u786c\u5b57\u5e55.mp4\n   ```\n\n4. \u8be2\u95ee\u662f\u5426\u7ee7\u7eed\u526a\u8f91\u5176\u4ed6\u7ae0\u8282\n   - \u5982\u679c\u662f\uff0c\u8fd4\u56de\u9636\u6bb5 4\uff08\u7528\u6237\u9009\u62e9\uff09\n   - \u5982\u679c\u5426\uff0c\u7ed3\u675f Skill\n\n---\n\n## \u5173\u952e\u6280\u672f\u70b9\n\n### 1. FFmpeg \u8def\u5f84\u7a7a\u683c\u95ee\u9898\n**\u95ee\u9898**: FFmpeg subtitles \u6ee4\u955c\u65e0\u6cd5\u6b63\u786e\u89e3\u6790\u5305\u542b\u7a7a\u683c\u7684\u8def\u5f84\n\n**\u89e3\u51b3\u65b9\u6848**: burn_subtitles.py \u4f7f\u7528\u4e34\u65f6\u76ee\u5f55\n- \u521b\u5efa\u65e0\u7a7a\u683c\u4e34\u65f6\u76ee\u5f55\n- \u590d\u5236\u6587\u4ef6\u5230\u4e34\u65f6\u76ee\u5f55\n- \u6267\u884c FFmpeg\n- \u79fb\u52a8\u8f93\u51fa\u6587\u4ef6\u56de\u76ee\u6807\u4f4d\u7f6e\n\n### 2. \u6279\u91cf\u7ffb\u8bd1\u4f18\u5316\n**\u95ee\u9898**: \u9010\u6761\u7ffb\u8bd1\u4f1a\u4ea7\u751f\u5927\u91cf API \u8c03\u7528\n\n**\u89e3\u51b3\u65b9\u6848**: \u6bcf\u6279 20 \u6761\u5b57\u5e55\u4e00\u8d77\u7ffb\u8bd1\n- \u8282\u7701 95% API \u8c03\u7528\n- \u63d0\u9ad8\u7ffb\u8bd1\u901f\u5ea6\n- \u4fdd\u6301\u7ffb\u8bd1\u4e00\u81f4\u6027\n\n### 3. \u7ae0\u8282\u5206\u6790\u7cbe\u7ec6\u5ea6\n**\u76ee\u6807**: \u751f\u6210 2-5 \u5206\u949f\u7c92\u5ea6\u7684\u7ae0\u8282\uff0c\u907f\u514d\u534a\u5c0f\u65f6\u7c97\u7c92\u5ea6\n\n**\u65b9\u6cd5**:\n- \u7406\u89e3\u5b57\u5e55\u8bed\u4e49\uff0c\u8bc6\u522b\u4e3b\u9898\u8f6c\u6362\n- \u5bfb\u627e\u81ea\u7136\u7684\u8bdd\u9898\u5207\u6362\u70b9\n- \u786e\u4fdd\u6bcf\u4e2a\u7ae0\u8282\u6709\u5b8c\u6574\u7684\u8bba\u8ff0\n- \u907f\u514d\u673a\u68b0\u6309\u65f6\u95f4\u5207\u5206\n\n### 4. FFmpeg vs ffmpeg-full\n**\u533a\u522b**:\n- \u6807\u51c6 FFmpeg: \u65e0 libass \u652f\u6301\uff0c\u65e0\u6cd5\u70e7\u5f55\u5b57\u5e55\n- ffmpeg-full: \u5305\u542b libass\uff0c\u652f\u6301\u5b57\u5e55\u70e7\u5f55\n\n**\u8def\u5f84**:\n- \u6807\u51c6: `/opt/homebrew/bin/ffmpeg`\n- ffmpeg-full: `/opt/homebrew/opt/ffmpeg-full/bin/ffmpeg` (Apple Silicon)\n\n---\n\n## \u9519\u8bef\u5904\u7406\n\n### \u73af\u5883\u95ee\u9898\n- \u7f3a\u5c11\u5de5\u5177 \u2192 \u63d0\u793a\u5b89\u88c5\u547d\u4ee4\n- FFmpeg \u65e0 libass \u2192 \u5f15\u5bfc\u5b89\u88c5 ffmpeg-full\n- Python \u4f9d\u8d56\u7f3a\u5931 \u2192 \u63d0\u793a pip install\n\n### \u4e0b\u8f7d\u95ee\u9898\n- \u65e0\u6548 URL \u2192 \u63d0\u793a\u68c0\u67e5 URL \u683c\u5f0f\n- \u5b57\u5e55\u7f3a\u5931 \u2192 \u5c1d\u8bd5\u81ea\u52a8\u5b57\u5e55\n- \u7f51\u7edc\u9519\u8bef \u2192 \u63d0\u793a\u91cd\u8bd5\n\n### \u5904\u7406\u95ee\u9898\n- FFmpeg \u6267\u884c\u5931\u8d25 \u2192 \u663e\u793a\u8be6\u7ec6\u9519\u8bef\u4fe1\u606f\n- \u7ffb\u8bd1\u5931\u8d25 \u2192 \u91cd\u8bd5\u673a\u5236\uff08\u6700\u591a 3 \u6b21\uff09\n- \u78c1\u76d8\u7a7a\u95f4\u4e0d\u8db3 \u2192 \u63d0\u793a\u6e05\u7406\u7a7a\u95f4\n\n---\n\n## \u8f93\u51fa\u6587\u4ef6\u547d\u540d\u89c4\u8303\n\n- \u89c6\u9891\u7247\u6bb5: `<\u7ae0\u8282\u6807\u9898>_clip.mp4`\n- \u5b57\u5e55\u6587\u4ef6: `<\u7ae0\u8282\u6807\u9898>_bilingual.srt`\n- \u70e7\u5f55\u7248\u672c: `<\u7ae0\u8282\u6807\u9898>_with_subtitles.mp4`\n- \u603b\u7ed3\u6587\u6848: `<\u7ae0\u8282\u6807\u9898>_summary.md`\n\n**\u6587\u4ef6\u540d\u5904\u7406**:\n- \u79fb\u9664\u7279\u6b8a\u5b57\u7b26\uff08`/`, `\\`, `:`, `*`, `?`, `\"`, `<`, `>`, `|`\uff09\n- \u7a7a\u683c\u66ff\u6362\u4e3a\u4e0b\u5212\u7ebf\n- \u9650\u5236\u957f\u5ea6\uff08\u6700\u591a 100 \u5b57\u7b26\uff09\n\n---\n\n## \u7528\u6237\u4f53\u9a8c\u8981\u70b9\n\n1. **\u8fdb\u5ea6\u53ef\u89c1**: \u6bcf\u4e2a\u6b65\u9aa4\u90fd\u5c55\u793a\u8fdb\u5ea6\u548c\u72b6\u6001\n2. **\u9519\u8bef\u53cb\u597d**: \u6e05\u6670\u7684\u9519\u8bef\u4fe1\u606f\u548c\u89e3\u51b3\u65b9\u6848\n3. **\u53ef\u63a7\u6027**: \u7528\u6237\u9009\u62e9\u8981\u526a\u8f91\u7684\u7ae0\u8282\u548c\u5904\u7406\u9009\u9879\n4. **\u9ad8\u8d28\u91cf**: \u7ae0\u8282\u5206\u6790\u6709\u610f\u4e49\uff0c\u7ffb\u8bd1\u51c6\u786e\u6d41\u7545\n5. **\u5b8c\u6574\u6027**: \u63d0\u4f9b\u539f\u59cb\u548c\u5904\u7406\u540e\u7684\u591a\u4e2a\u7248\u672c\n\n---\n\n## \u5f00\u59cb\u6267\u884c\n\n\u5f53\u7528\u6237\u89e6\u53d1\u8fd9\u4e2a Skill \u65f6\uff1a\n1. \u7acb\u5373\u5f00\u59cb\u9636\u6bb5 1\uff08\u73af\u5883\u68c0\u6d4b\uff09\n2. \u6309\u7167 6 \u4e2a\u9636\u6bb5\u987a\u5e8f\u6267\u884c\n3. \u6bcf\u4e2a\u9636\u6bb5\u5b8c\u6210\u540e\u81ea\u52a8\u8fdb\u5165\u4e0b\u4e00\u9636\u6bb5\n4. \u9047\u5230\u95ee\u9898\u65f6\u63d0\u4f9b\u6e05\u6670\u7684\u89e3\u51b3\u65b9\u6848\n5. \u6700\u540e\u5c55\u793a\u5b8c\u6574\u7684\u8f93\u51fa\u7ed3\u679c\n\n\u8bb0\u4f4f\uff1a\u8fd9\u4e2a Skill \u7684\u6838\u5fc3\u4ef7\u503c\u5728\u4e8e **AI \u7cbe\u7ec6\u7ae0\u8282\u5206\u6790** \u548c **\u65e0\u7f1d\u7684\u6280\u672f\u5904\u7406**\uff0c\u8ba9\u7528\u6237\u80fd\u5feb\u901f\u4ece\u957f\u89c6\u9891\u4e2d\u63d0\u53d6\u9ad8\u8d28\u91cf\u7684\u77ed\u89c6\u9891\u7247\u6bb5\u3002\n","usage":"\u8bfb\u53d6 SKILL.md\uff0c\u5e76\u6309\u9700\u8bfb\u53d6\u914d\u5957\u6587\u4ef6\uff1b\u4e0b\u8f7d ZIP \u83b7\u53d6\u5b8c\u6574\u5305\u3002\u6280\u80fd\u662f\u4efb\u52a1\u65b9\u6cd5\uff0c\u4e0d\u6388\u4e88\u65b0\u589e\u8d26\u6237\u3001\u4ed8\u8d39\u6216\u7cfb\u7edf\u6743\u9650\u3002"}
