返回 Skill 列表
extension
分类: 内容与媒体无需 API Key

video-audio-extractor

从视频文件或URL(包括YouTube)中提取音频。支持MP3、WAV、M4A、FLAC、OGG和OPUS格式。可以处理本地视频文件或从URL下载。对于YouTube视频,在可能的情况下使用yt-dlp直接提取音频。

person作者: jakexiaohubgithub

Video Audio Extractor

Extract audio from video files or URLs. Supports various output formats including MP3, WAV, M4A, FLAC, OGG, and OPUS.

Features

  • ✅ Extract audio from local video files
  • ✅ Download and extract from direct video URLs
  • YouTube support - Direct audio extraction (requires yt-dlp)
  • ✅ Multiple output formats with quality control
  • ✅ Automatic cleanup of temporary files

Prerequisites

# Required
brew install ffmpeg

# Optional - for YouTube support
pip3 install yt-dlp

Quick Start

Extract from local file

{baseDir}/scripts/extract-audio.py video.mp4
# Creates: video.mp3

Extract from YouTube

{baseDir}/scripts/extract-audio.py "https://youtube.com/watch?v=..."

Different formats

{baseDir}/scripts/extract-audio.py video.mp4 -f wav    # WAV format
{baseDir}/scripts/extract-audio.py video.mp4 -f m4a    # Apple format
{baseDir}/scripts/extract-audio.py video.mp4 -f flac   # Lossless

Usage

extract-audio.py [-h] [-o OUTPUT] [-f {mp3,wav,m4a,aac,flac,ogg,opus}]
                 [-b BITRATE] [-r SAMPLE_RATE] [--keep-video] [--video-only]
                 input

Options

| Option | Description | Default | |--------|-------------|---------| | input | Video file path or URL | (required) | | -o, --output | Output audio file path | Auto-generated | | -f, --format | Output format | mp3 | | -b, --bitrate | Audio bitrate | 192k | | -r, --sample-rate | Sample rate (Hz) | Original | | --keep-video | Keep downloaded video | Delete after | | --video-only | Download video without extracting | Disabled |

Supported Formats

| Format | Codec | Notes | |--------|-------|-------| | MP3 | libmp3lame | Best compatibility | | WAV | pcm_s16le | Uncompressed, large files | | M4A | AAC | Apple ecosystem | | FLAC | FLAC | Lossless compression | | OGG | Vorbis | Open format | | OPUS | Opus | Streaming optimized |

Examples

High quality MP3

{baseDir}/scripts/extract-audio.py video.mp4 -b 320k -r 48000

YouTube to M4A

{baseDir}/scripts/extract-audio.py "https://youtu.be/xxxxx" -f m4a

Custom output location

{baseDir}/scripts/extract-audio.py video.mp4 -o ~/Music/my-song.mp3

Download YouTube video (keep it)

{baseDir}/scripts/extract-audio.py "https://youtube.com/watch?v=..." --video-only --keep-video

YouTube Support

For YouTube videos, the tool uses yt-dlp to extract audio directly when possible. This is faster and more efficient than downloading the full video.

YouTube Limitations

YouTube actively blocks automated downloads. If you encounter errors:

  1. Update yt-dlp: pip3 install -U yt-dlp
  2. Try different URLs - Some videos have stricter restrictions
  3. Use --video-only to download the video first, then extract
  4. Browser extension - Use a YouTube downloader extension, then process the file

Common YouTube Errors

  • 403 Forbidden: YouTube blocked the request. Try updating yt-dlp or use a different video.
  • Sign in required: Video requires authentication. Use browser download instead.
  • Timeout: Video too large or connection slow. Try --video-only first.

Technical Details

  • Uses ffmpeg for audio extraction
  • Uses yt-dlp for YouTube downloads
  • Downloads to temporary directory, auto-cleanup by default
  • Preserves original audio codec when possible
  • Progress indicators for long operations