提取、标准化、混合和处理音频轨道,进行音频操控与分析
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 设置采样率相关专题
热门下载
相关下载
精品课程
共6课时 | 54.6万人学习
共89课时 | 133.4万人学习
共49课时 | 82.2万人学习