ffmpeg-audio-processing

使用FFmpeg提取、混音、标准化和分析音频,支持多格式转换与音轨操作。

已扫描
适合谁
视频剪辑师、播客制作者
不适合谁
无技术基础的初学者、无需音频处理的普通用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @lnj22/multilingual-video-dubbing-ffmpeg-audio-processing

Skill 说明

命令、参数、文件名以原文为准

FFmpeg 音频处理技能

从视频文件中提取、归一化、混合和处理音频轨道。

何时使用

  • 从视频中提取音频
  • 归一化音频音量
  • 混合多个音频轨道
  • 转换音频格式
  • 提取特定声道
  • 调整音频音量

提取音频

# 提取为 MP3
ffmpeg -i video.mp4 -vn -acodec libmp3lame -q:a 2 audio.mp3

# 提取为 AAC(直接复制,不重新编码)
ffmpeg -i video.mp4 -vn -c:a copy audio.aac

# 提取为 WAV(未压缩)
ffmpeg -i video.mp4 -vn -acodec pcm_s16le audio.wav

# 提取特定音频流
ffmpeg -i video.mp4 -map 0:a:1 -c:a copy audio2.aac

归一化音频

# 归一化响度(ITU-R BS.1770-4 标准)
ffmpeg -i input.mp4 -af "loudnorm=I=-23:TP=-1.5:LRA=11" output.mp4

# 简单归一化
ffmpeg -i input.mp4 -af "volume=2.0" output.mp4

# 峰值归一化
ffmpeg -i input.mp4 -af "volumedetect" -f null -
# 然后根据检测到的峰值进行归一化
ffmpeg -i input.mp4 -af "volume=0.5" output.mp4

音量调整

# 将音量提高 6dB
ffmpeg -i input.mp4 -af "volume=6dB" output.mp4

# 将音量降低 3dB
ffmpeg -i input.mp4 -af "volume=-3dB" output.mp4

# 设置绝对音量
ffmpeg -i input.mp4 -af "volume=0.5" output.mp4

声道操作

# 提取左声道
ffmpeg -i stereo.mp3 -map_channel 0.0.0 left.mp3

# 提取右声道
ffmpeg -i stereo.mp3 -map_channel 0.0.1 right.mp3

# 将立体声转换为单声道
ffmpeg -i stereo.mp3 -ac 1 mono.mp3

# 将单声道转换为立体声
ffmpeg -i mono.mp3 -ac 2 stereo.mp3

混合音频轨道

# 替换音频轨道
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -map 0:v:0 -map 1:a:0 output.mp4

# 混合两个音频轨道
ffmpeg -i video.mp4 -i audio2.mp3 \
  -filter_complex "[0:a][1:a]amix=inputs=2:duration=first" \
  -c:v copy output.mp4

# 混合并控制音量
ffmpeg -i video.mp4 -i bgm.mp3 \
  -filter_complex "[0:a]volume=1.0[voice];[1:a]volume=0.3[music];[voice][music]amix=inputs=2:duration=first" \
  -c:v copy output.mp4

音频延迟

# 将音频延迟 0.5 秒
ffmpeg -i video.mp4 -itsoffset 0.5 -i video.mp4 \
  -map 0:v -map 1:a -c copy output.mp4

# 使用 adelay 滤镜(单位:毫秒)
ffmpeg -i input.mp4 -af "adelay=500|500" output.mp4

采样率转换

# 重采样至 48kHz
ffmpeg -i input.mp4 -af "aresample=48000" output.mp4

# 仅转换音频采样率
ffmpeg -i input.mp4 -vn -af "aresample=48000" -ar 48000 audio.wav

音频滤波器

# 高通滤波器(去除低频)
ffmpeg -i input.mp4 -af "highpass=f=200" output.mp4

# 低通滤波器(去除高频)
ffmpeg -i input.mp4 -af "lowpass=f=3000" output.mp4

# 带通滤波器
ffmpeg -i input.mp4 -af "bandpass=f=1000:width_type=h:w=500" output.mp4

# 渐入渐出效果
ffmpeg -i input.mp4 -af "afade=t=in:st=0:d=2,afade=t=out:st=8:d=2" output.mp4

音频分析

# 检测音量水平
ffmpeg -i input.mp4 -af "volumedetect" -f null -

# 测量响度(LUFS)
ffmpeg -i input.mp4 -af "ebur128=peak=true" -f null -

# 获取音频统计信息
ffprobe -v error -select_streams a:0 \
  -show_entries stream=sample_rate,channels,bit_rate \
  -of json input.mp4

合并多个音频文件

# 连接多个音频文件
ffmpeg -i "concat:audio1.mp3|audio2.mp3|audio3.mp3" -c copy output.mp3

# 使用文件列表
# file 'audio1.mp3'
# file 'audio2.mp3'
ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp3

注意事项

  • 提取音频时使用 -vn 禁用视频流
  • 使用 -map 选择特定音轨
  • 使用 -af 应用音频滤波器
  • 使用 -ac 设置声道数量
  • 使用 -ar 设置采样率
  • 归一化可能需要两遍处理以获得更准确的结果
L
@lnj22

已收录 6 个 Skill

相关推荐