Video Processor by iamzhihuix/happy-claude-skills
npx skills add https://github.com/iamzhihuix/happy-claude-skills --skill 'Video Processor'本技能提供全面的视频处理工具,包括使用 yt-dlp、FFmpeg 和 OpenAI 的 Whisper 模型进行 YouTube 视频下载、音频提取、格式转换和音频转录。
必需工具(必须在您的环境中安装):
yt-dlp:适用于 YouTube 和数千个其他站点的视频下载器
# 通过 pip 安装
pip install -U yt-dlp
yt-dlp --version
FFmpeg:用于视频/音频处理的多媒体框架
# macOS
brew install ffmpeg
apt-get install ffmpeg
ffmpeg -version
OpenAI Whisper:语音转文本转录模型
# 通过 pip 安装
pip install -U openai-whisper
whisper --help
Python 包(通过 PEP 723 包含在脚本中):
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
使用 scripts/video_processor.py 脚本执行所有视频处理任务。该脚本提供了一个简单的 CLI,包含以下命令:
从 YouTube 和数千个其他受支持的网站下载视频:
# 下载视频
uv run .claude/skills/video-processor/scripts/video_processor.py download "https://youtube.com/watch?v=..." output.mp4
# 仅下载音频(作为 MP3)
uv run .claude/skills/video-processor/scripts/video_processor.py download "https://youtube.com/watch?v=..." --audio-only
# 显示视频信息而不下载
uv run .claude/skills/video-processor/scripts/video_processor.py download "https://youtube.com/watch?v=..." --info
# 下载带字幕的视频
uv run .claude/skills/video-processor/scripts/video_processor.py download "https://youtube.com/watch?v=..." output.mp4 --subtitle
选项:
--audio-only:仅下载音频(提取为 MP3)--subtitle:下载并嵌入字幕(支持 en、zh-Hans、zh-Hant)--info:显示视频信息而不下载--format:指定视频格式偏好(默认:最佳质量)从视频文件中提取音轨:
uv run .claude/skills/video-processor/scripts/video_processor.py extract-audio input.mp4 output.wav
选项:
--format:输出音频格式(默认:wav)。支持:wav、mp3、aac、flac将任何视频文件转换为 MP4 格式:
uv run .claude/skills/video-processor/scripts/video_processor.py to-mp4 input.avi output.mp4
选项:
--codec:视频编解码器(默认:libx264)。常见选项:libx264、libx265、h264--preset:编码速度/质量预设(默认:medium)。选项:ultrafast、fast、medium、slow、veryslow将任何视频文件转换为 WebM 格式(针对网络优化):
uv run .claude/skills/video-processor/scripts/video_processor.py to-webm input.mp4 output.webm
选项:
--codec:视频编解码器(默认:libvpx-vp9)。选项:libvpx、libvpx-vp9使用 OpenAI 的 Whisper 模型将音频或视频文件转录为文本:
# 转录视频文件(音频将自动提取)
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe input.mp4 transcript.txt
# 直接转录音频文件
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe audio.wav transcript.txt
选项:
--model:Whisper 模型大小(默认:base)。选项:
tiny:最快,准确度最低(约 1GB RAM)base:快速,良好准确度(约 1GB RAM)[默认]small:平衡(约 2GB RAM)medium:高准确度(约 5GB RAM)large:最佳准确度,最慢(约 10GB RAM)--language:语言代码(默认:自动检测)。示例:en、es、fr、de、zh--format:输出格式(默认:txt)。选项:txt、srt、vtt、json转录工作流程:
端到端处理视频:
# 1. 提取音频用于分析
uv run .claude/skills/video-processor/scripts/video_processor.py extract-audio lecture.mp4 lecture.wav
# 2. 转录为 SRT 字幕
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe lecture.mp4 lecture.srt --format srt --model small
# 3. 转换为网络格式
uv run .claude/skills/video-processor/scripts/video_processor.py to-webm lecture.mp4 lecture.webm
FFmpeg 和 Whisper 集成:
用于转录的音频格式:
输出格式:
脚本包含全面的错误处理:
tiny 或 base 模型进行快速草稿small 或 medium 模型进行生产级转录large 模型用户请求:
我有一个来自旧摄像机的 AVI 文件。你能把它转换成 MP4 吗?
您将:
使用 to-mp4 命令和默认设置:
uv run .claude/skills/video-processor/scripts/video_processor.py to-mp4 old_video.avi output.mp4
确认转换成功完成
通知用户输出文件的位置
用户请求:
我录制了一个讲座视频,需要一份转录稿。你能提取音频并转录吗?
您将:
首先提取音频:
uv run .claude/skills/video-processor/scripts/video_processor.py extract-audio lecture.mp4 lecture.wav
然后使用 base 模型进行转录(速度/准确度平衡良好):
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe lecture.mp4 transcript.txt --model base
与用户分享 transcript.txt 文件
用户请求:
我需要把这个视频放到我的网站上,并加上字幕。你能帮忙吗?
您将:
转换为 WebM 以进行网络优化:
uv run .claude/skills/video-processor/scripts/video_processor.py to-webm presentation.mp4 presentation.webm
生成 SRT 字幕文件:
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe presentation.mp4 subtitles.srt --format srt --model small
通知用户现在拥有:
用户请求:
我有一个西班牙语采访视频,需要一份准确的转录稿用于出版。
您将:
使用更大的模型并指定语言以获得最佳准确度:
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe interview.mp4 transcript.txt --model medium --language es
可选地创建 SRT 以供审阅:
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe interview.mp4 transcript.srt --format srt --model medium --language es
与用户一起审阅转录稿并进行必要的更正
用户请求:
我有一个包含多个培训视频的文件夹,都需要转换为 WebM 并转录。
您将:
列出目录中的所有视频文件:
ls training_videos/*.mp4
对每个视频文件运行转换和转录:
uv run .claude/skills/video-processor/scripts/video_processor.py to-webm training_videos/video1.mp4 output/video1.webm
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe training_videos/video1.mp4 output/video1.txt --model base
# 对每个文件重复此操作
3. 确认所有转换和转录已完成 4. 提供输出文件的摘要
视频处理器技能为常见视频处理任务提供了统一的接口:
所有操作都通过一个单一的、文档齐全的脚本处理,具有合理的默认值和全面的错误处理。
每周安装次数
–
代码仓库
GitHub 星标数
270
首次出现时间
–
安全审计
This skill provides comprehensive video processing utilities including YouTube video download, audio extraction, format conversion, and audio transcription using yt-dlp, FFmpeg, and OpenAI's Whisper model.
Required tools (must be installed in your environment):
yt-dlp : Video downloader for YouTube and thousands of other sites
# Install via pip
pip install -U yt-dlp
yt-dlp --version
FFmpeg : Multimedia framework for video/audio processing
# macOS
brew install ffmpeg
apt-get install ffmpeg
ffmpeg -version
OpenAI Whisper : Speech-to-text transcription model
# Install via pip
pip install -U openai-whisper
whisper --help
Python packages (included in script via PEP 723):
Use the scripts/video_processor.py script for all video processing tasks. The script provides a simple CLI with the following commands:
Download videos from YouTube and thousands of other supported websites:
# Download video
uv run .claude/skills/video-processor/scripts/video_processor.py download "https://youtube.com/watch?v=..." output.mp4
# Download audio only (as MP3)
uv run .claude/skills/video-processor/scripts/video_processor.py download "https://youtube.com/watch?v=..." --audio-only
# Show video info without downloading
uv run .claude/skills/video-processor/scripts/video_processor.py download "https://youtube.com/watch?v=..." --info
# Download with subtitles
uv run .claude/skills/video-processor/scripts/video_processor.py download "https://youtube.com/watch?v=..." output.mp4 --subtitle
Options:
--audio-only: Download audio only (extracts to MP3)--subtitle: Download and embed subtitles (supports en, zh-Hans, zh-Hant)--info: Show video information without downloading--format: Specify video format preference (default: best quality)Extract the audio track from a video file:
uv run .claude/skills/video-processor/scripts/video_processor.py extract-audio input.mp4 output.wav
Options:
--format: Output audio format (default: wav). Supports: wav, mp3, aac, flacConvert any video file to MP4 format:
uv run .claude/skills/video-processor/scripts/video_processor.py to-mp4 input.avi output.mp4
Options:
--codec: Video codec (default: libx264). Common options: libx264, libx265, h264--preset: Encoding speed/quality preset (default: medium). Options: ultrafast, fast, medium, slow, veryslowConvert any video file to WebM format (web-optimized):
uv run .claude/skills/video-processor/scripts/video_processor.py to-webm input.mp4 output.webm
Options:
--codec: Video codec (default: libvpx-vp9). Options: libvpx, libvpx-vp9Transcribe audio or video files to text using OpenAI's Whisper model:
# Transcribe video file (audio will be extracted automatically)
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe input.mp4 transcript.txt
# Transcribe audio file directly
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe audio.wav transcript.txt
Options:
--model: Whisper model size (default: base). Options:
tiny: Fastest, lowest accuracy (~1GB RAM)base: Fast, good accuracy (~1GB RAM) [DEFAULT]small: Balanced (~2GB RAM)medium: High accuracy (~5GB RAM)large: Best accuracy, slowest (~10GB RAM)--language: Language code (default: auto-detect). Examples: en, es, fr, de, zh--format: Output format (default: txt). Options: txt, srt, vtt, jsonTranscription workflow:
Process a video end-to-end:
# 1. Extract audio for analysis
uv run .claude/skills/video-processor/scripts/video_processor.py extract-audio lecture.mp4 lecture.wav
# 2. Transcribe to SRT subtitles
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe lecture.mp4 lecture.srt --format srt --model small
# 3. Convert to web format
uv run .claude/skills/video-processor/scripts/video_processor.py to-webm lecture.mp4 lecture.webm
FFmpeg and Whisper Integration:
Audio Format for Transcription:
Output Formats:
The script includes comprehensive error handling:
tiny or base models for quick draftssmall or medium for production transcriptionslarge only when maximum accuracy is requiredUser request:
I have an AVI file from my old camera. Can you convert it to MP4?
You would:
Use the to-mp4 command with default settings:
uv run .claude/skills/video-processor/scripts/video_processor.py to-mp4 old_video.avi output.mp4
Confirm the conversion completed successfully
Inform the user about the output file location
User request:
I recorded a lecture video and need a transcript. Can you extract the audio and transcribe it?
You would:
First extract the audio:
uv run .claude/skills/video-processor/scripts/video_processor.py extract-audio lecture.mp4 lecture.wav
Then transcribe using the base model (good balance of speed/accuracy):
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe lecture.mp4 transcript.txt --model base
Share the transcript.txt file with the user
User request:
I need to put this video on my website with subtitles. Can you help?
You would:
Convert to WebM for web optimization:
uv run .claude/skills/video-processor/scripts/video_processor.py to-webm presentation.mp4 presentation.webm
Generate SRT subtitle file:
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe presentation.mp4 subtitles.srt --format srt --model small
Inform user they now have:
User request:
I have a Spanish interview video that needs an accurate transcript for publication.
You would:
Use a larger model with language specified for best accuracy:
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe interview.mp4 transcript.txt --model medium --language es
Optionally create SRT for review:
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe interview.mp4 transcript.srt --format srt --model medium --language es
Review the transcript with the user and make any necessary corrections
User request:
I have a folder of training videos that all need to be converted to WebM and transcribed.
You would:
List all video files in the directory:
ls training_videos/*.mp4
For each video file, run the conversion and transcription:
uv run .claude/skills/video-processor/scripts/video_processor.py to-webm training_videos/video1.mp4 output/video1.webm
uv run .claude/skills/video-processor/scripts/video_processor.py transcribe training_videos/video1.mp4 output/video1.txt --model base
# Repeat for each file
3. Confirm all conversions and transcriptions completed 4. Provide summary of output files
The video-processor skill provides a unified interface for common video processing tasks:
All operations are handled through a single, well-documented script with sensible defaults and comprehensive error handling.
Weekly Installs
–
Repository
GitHub Stars
270
First Seen
–
Security Audits
Skills CLI 使用指南:AI Agent 技能包管理器安装与管理教程
31,600 周安装
Claude技能开发指南:创建自定义MCP管道技能与元技能开发教程
211 周安装
色彩可访问性指南:WCAG对比度标准、色盲模拟与最佳实践
212 周安装
AgentOps技能转换器 - 一键将技能转换为Codex、Cursor等AI平台格式
212 周安装
Agile Skill Build:快速创建和扩展ace-skills的自动化工具,提升AI技能开发效率
1 周安装
LLM评估工具lm-evaluation-harness使用指南:HuggingFace模型基准测试与性能分析
212 周安装
Agently TriggerFlow 状态与资源管理:runtime_data、flow_data 和运行时资源详解
1 周安装