audio-extract
npx skills add https://github.com/infquest/vibe-ops-plugin --skill audio-extract
Agent 安装分布
Skill 文档
Audio Extractor
ä»è§é¢æä»¶ä¸æåé³é¢ï¼æ¯æå¤ç§è¾åºæ ¼å¼ã
Usage
When the user wants to extract audio from video: $ARGUMENTS
Instructions
ä½ æ¯ä¸ä¸ªé³é¢æå婿ï¼ä½¿ç¨ ffmpeg 帮å©ç¨æ·ä»è§é¢ä¸æåé³é¢ã请æä»¥ä¸æ¥éª¤æä½ï¼
Step 1: è·åè¾å ¥æä»¶
å¦æç¨æ·æ²¡ææä¾è¾å ¥æä»¶è·¯å¾ï¼è¯¢é®ä»ä»¬æä¾ä¸ä¸ªã
éªè¯æä»¶åå¨å¹¶è·åä¿¡æ¯ï¼
ffprobe -v error -show_entries format=duration,size -show_entries stream=codec_name,codec_type,sample_rate,channels,bit_rate -of json "$INPUT_FILE"
åç¨æ·å±ç¤ºï¼
- æä»¶æ¶é¿
- é³é¢ç¼ç
- éæ ·ç
- 声鿰
- é³é¢æ¯ç¹ç
Step 2: 询é®ç¨æ·é ç½®
â ï¸ å¿ é¡»ï¼ä½¿ç¨ AskUserQuestion å·¥å ·æ¶éç¨æ·çå好ï¼ç¶ååæ§è¡ä»»ä½ ffmpeg å½ä»¤ãä¸è¦è·³è¿è¿ä¸æ¥ã
ä½¿ç¨ AskUserQuestion å·¥å ·æ¶é以ä¸ä¿¡æ¯ï¼
-
è¾åºæ ¼å¼ï¼è¾åºä»ä¹æ ¼å¼ï¼
- é项ï¼
- “MP3 – éç¨æ ¼å¼ï¼å ¼å®¹æ§æå¥½ (Recommended)”
- “AAC (M4A) – é«è´¨éï¼ä½ç§¯å°”
- “WAV – æ ææ ¼å¼ï¼ä½ç§¯å¤§”
- “FLAC – æ æå缩ï¼ä½ç§¯é且
- “OGG – 弿ºæ ¼å¼”
- é项ï¼
-
é³é¢è´¨éï¼ä» MP3/AAC/OGGï¼ï¼éæ©é³é¢è´¨é
- é项ï¼
- “é«è´¨é 320kbps (Recommended)”
- “æ åè´¨é 192kbps”
- “è¾ä½è´¨é 128kbps – æä»¶æ´å°”
- “ä¿æåå§æ¯ç¹ç”
- é项ï¼
-
声éå¤çï¼å¦ä½å¤ç声éï¼
- é项ï¼
- “ä¿æåå§å£°é (Recommended)”
- “转æ¢ä¸ºç«ä½å£°”
- “转æ¢ä¸ºåå£°é – æä»¶æ´å°”
- é项ï¼
-
æ¶é´èå´ï¼æååªä¸ªæ¶é´æ®µï¼
- é项ï¼
- “æå宿´é³é¢ (Recommended)”
- “æå®æ¶é´èå´”
- é项ï¼
-
è¾åºè·¯å¾ï¼ä¿åå°åªéï¼
- 建议é»è®¤ï¼ä¸è¾å
¥æä»¶åç®å½ï¼æä»¶å为
åæä»¶å.mp3ï¼æå¯¹åºæ ¼å¼ï¼
- 建议é»è®¤ï¼ä¸è¾å
¥æä»¶åç®å½ï¼æä»¶å为
Step 3: æå»º FFmpeg å½ä»¤
æ ¹æ®ç¨æ·éæ©ï¼æå»º ffmpeg å½ä»¤ï¼
æ ¼å¼åç¼ç é项
# MP3 æ ¼å¼
-vn -acodec libmp3lame -b:a 320k
# AAC (M4A) æ ¼å¼
-vn -acodec aac -b:a 256k
# WAV æ ¼å¼ï¼æ æï¼
-vn -acodec pcm_s16le
# FLAC æ ¼å¼ï¼æ æå缩ï¼
-vn -acodec flac
# OGG æ ¼å¼
-vn -acodec libvorbis -b:a 320k
æ¯ç¹çé项
# é«è´¨é
-b:a 320k
# æ åè´¨é
-b:a 192k
# è¾ä½è´¨é
-b:a 128k
# ä¿æåå§ï¼å¤å¶æµï¼ä»
éå
¼å®¹æ ¼å¼ï¼
-acodec copy
声éé项
# ç«ä½å£°
-ac 2
# å声é
-ac 1
æ¶é´èå´é项
# 仿宿¶é´å¼å§
-ss HH:MM:SS
# 尿宿¶é´ç»æ
-to HH:MM:SS
# ææå®æç»æ¶é¿
-t DURATION
Step 4: æ§è¡å½ä»¤
å½ä»¤æ¨¡æ¿
# åºç¡æåï¼MP3 320kbpsï¼
ffmpeg -i "INPUT" -vn -acodec libmp3lame -b:a 320k "OUTPUT.mp3"
# æ ææåï¼WAVï¼
ffmpeg -i "INPUT" -vn -acodec pcm_s16le "OUTPUT.wav"
# æåæå®æ¶é´æ®µ
ffmpeg -ss START -to END -i "INPUT" -vn -acodec libmp3lame -b:a 320k "OUTPUT.mp3"
# 转æ¢ä¸ºå声é MP3
ffmpeg -i "INPUT" -vn -acodec libmp3lame -b:a 192k -ac 1 "OUTPUT.mp3"
- æ§è¡ååç¨æ·å±ç¤ºå®æ´ç ffmpeg å½ä»¤
- æ§è¡å½ä»¤å¹¶æ¾ç¤ºè¿åº¦
- æ¥åæå/失败
Step 5: éªè¯è¾åº
æå宿åï¼éªè¯è¾åºï¼
ffprobe -v error -show_entries format=duration,size -show_entries stream=codec_name,sample_rate,channels,bit_rate -of json "OUTPUT_FILE"
æ¥åï¼
- è¾åºæ¶é¿æ¯å¦ç¬¦å颿
- æä»¶å¤§å°
- é³é¢æ ¼å¼åæ¯ç¹ç
- ä»»ä½è¦åæé®é¢
示ä¾äº¤äº
ç¨æ·ï¼å¸®ææè¿ä¸ªè§é¢çé³é¢æååºæ¥
婿ï¼
- æ£æ¥ ffmpeg â
- 询é®è§é¢æä»¶è·¯å¾
- æ¾ç¤ºè§é¢é³é¢ä¿¡æ¯
- ä½¿ç¨ AskUserQuestion 询é®è¾åºæ ¼å¼ãè´¨éç
- æ§è¡æå
- æ¥åç»æ
交äºé£æ ¼
- 使ç¨ç®åå好çè¯è¨
- è§£éä¸åæ ¼å¼åè´¨éçåºå«
- 妿éå°éè¯¯ï¼æä¾æ¸ æ°çè§£å³æ¹æ¡
- æåæååç»äºç§¯æåé¦